Agent Workflows
约 3739 字大约 12 分钟
2026-01-03
Agent Workflows
1.学术写作
👉 点击展开:.agent\workflows\academic-writing.md
academic-writing.md
---
description: A specialized, deep-focus workflow for drafting, refining, and perfecting academic papers and articles.
---
# Academic Writing Workflow
论文写作辅助工作流,帮助 AI Agent 按阶段协助用户完成学术论文的撰写、润色和降重。
---
## How to Use This Workflow
当用户请求论文写作相关帮助时(写论文、润色、降重、翻译、查语法),按以下步骤执行:
### Step 1: 识别写作阶段
询问或判断用户当前所处的写作阶段:
| 阶段 | 用户典型请求 | 进入步骤 |
| ---- | ------------------------------- | -------- |
| 构思 | "帮我写大纲"、"生成标题" | Step 2 |
| 初稿 | "帮我写/续写这段"、"扩展这部分" | Step 3 |
| 润色 | "润色一下"、"改得学术点" | Step 4 |
| 降重 | "帮我降重"、"重复率太高" | Step 5 |
| 翻译 | "翻译成英文"、"中译英" | Step 6 |
| 校对 | "检查语法"、"有没有错误" | Step 7 |
### Step 2: 构思阶段 - 生成框架
**2.1 中文标题生成**
```
我将向你提供一篇任何语言的科学论文的摘要和关键词,你将检测该语言并以相同的语言进行回复。你的任务是根据摘要和关键词用相同的语言向我提供科学论文的标题。科学论文的标题应该是简洁、明确和有信息量的。你应该避免使用诸如研究、调查、发展或观察等词语。确保标题能够立即抓住听众的心。
```
**2.2 英文标题生成(多选项对比)**
```
希望你担任一名学术期刊编辑。我将为你提供一个手稿的摘要,你需要为一篇研究论文提供 5 个好的英文标题,并解释为什么这个标题好。请以 Markdown 表格的形式提供你的输出,表格有两列,标题用中文。第一列给出英文标题,第二列用中文提供解释。
```
**2.3 生成大纲**
```
作为学术研究专家,为研究论文起草一个结构良好的大纲,明确研究的主要部分。
```
**2.4 撰写摘要**
```
请阅读上传的手稿,并为其撰写一份英文摘要。摘要应首先提供研究背景或更广泛背景的全面概述,接着陈述描述研究的空白、局限性或问题。然后,描述手稿中使用的研究方法。此后,写出 3-5 句话展示关键发现。最后,包括一份强调手稿独特价值或重大贡献的声明。
```
### Step 3: 初稿阶段 - 续写扩展
**3.1 基础续写**
```
根据你所掌握的关于[xxx]的知识,润色并续写上面的内容,使得内容更加丰富完整。
```
**3.2 封装背景后续写(高级)**
先注入背景:
```
现在,为了接下来能够帮我更好的润色论文,我需要你记住 XXX 原理:"......."
```
再基于背景续写:
```
润色并重写上面的内容,使其更加符合论文的风格,于此同时,又能更加专业化,如果有不符合事实或者逻辑的部分,请你参考 XXX 原理部分对上面的内容修改。
```
### Step 4: 润色阶段 - 提升学术性
**4.1 基础润色(含解释)**
```
以下是一篇学术论文中的一段文字。请重新润色写作,以符合学术风格,提高拼写、语法、清晰度、简洁性和整体可读性。如有必要,重写整个句子。此外,请在 Markdown 表格中列出所有修改,并解释修改的原因。
```
**4.2 SCI 论文级润色**
```
我正在准备我的 SCI 论文以便提交,需要帮助润色每个段落。你能帮我提升学术严谨性吗?我需要你纠正任何语法错误,改进句子结构以适应学术要求,并在必要时使文本更加正式。对于每个需要改进的段落,你需要将所有修改后的句子放在一个 Markdown 表格中,每一列分别包含以下内容:完整的原始句子;突出显示句子的修订部分;解释为什么做出这些更改。最后,重写整个更正后的段落。
```
**4.3 目标期刊风格润色**
```
如果我希望将论文发表在 XXX 会议/期刊上,请按照 XXX 文章的风格,对上面的内容进行润色。
```
**4.4 润色微调参数**(可附加到任何润色指令后)
| 参数 | 效果 |
| :-------------------- | :------------- |
| `More precise` | 使用更精确术语 |
| `More concise` | 去除冗余表达 |
| `More objective` | 剔除主观性表述 |
| `More academic` | 使用学术用语 |
| `More formal grammar` | 使用正确语法 |
### Step 5: 降重阶段 - 降低重复率
**5.1 基础降重**
```
请将这段话改写,通过调整语序增减字数,替换同义词等方式,避免与原文出现连续八个字相同的句子,使这段话更加有逻辑,符合论文的规范。
```
**5.2 关键词替换**
```
请替换本节中的关键词汇为合适的同义词,以降低相似度并增强原创性,同时不影响意义或学术完整性。
```
**5.3 句式变换**
```
请通过改变句法结构和加入替代表达方式,重写本段中的句子,避免出现连续五个字与原文完全相同的情况。
```
**5.4 彻底降重(扩写再缩写)**
```
请将这段话改写,通过调整语序增减字数,替换同义词等方式,避免与原文出现连续三个字相同的句子,使这段话更加有逻辑,符合论文的规范。然后再进行扩写。最后再缩写,符合论文风格。
```
### Step 6: 翻译阶段 - 学术翻译
**6.1 AER 风格翻译(高端学术英语)**
```
我希望您能担任我的英文翻译、校对和编辑工作,将我即将推出的中文内容翻译成优雅、精炼且具有学术性的英文。请在保持原意不变的前提下,将简单的词汇和句子替换为更复杂、更优美的表达方式。总体而言,语言风格应类似于《美国经济评论》学术期刊。
```
**6.2 双语对照翻译**
```
我希望你担任一名科学性的英文-中文翻译,我会提供给你一些段落的其中一种语言,你的任务是准确且学术性地将这些段落翻译成另一种语言。我希望你以 Markdown 表格的形式给出翻译结果,其中第一列是原文,第二列是第一版的翻译,第三列是第二版的翻译,并且每行只包含一句翻译。
```
### Step 7: 校对阶段 - 语法审查
**7.1 纯语法审查(不改风格)**
```
你能帮助我确保语法和拼写正确无误吗?不要尝试润色文本,如果没有发现错误,请告诉我这段话很好。如果你发现了语法或拼写错误,请按照例子,在双列的 Markdown 表格中列出你发现的错误,第一列放原始文本,第二列放更正后的文本,并突出显示你修正的关键词。
```
**7.2 专项语法指令**(针对特定问题)
- `这句话在语法上是不正确的。请修改。`
- `主语和动词在这句话中不一致。请改正。`
- `这句话似乎不合适。请重新措辞以表达更清晰。`
- `我在这句话中使用了被动语态。考虑改用主动语态。`
**7.3 逻辑连贯性检查**
```
I am a researcher studying [研究方向] and now trying to revise my manuscript which will be submitted to the [投稿期刊]. I want you to analyze the logic and coherence among sentences within each paragraph in the following text, identify any areas where the flow or connections between sentences could be improved, and provide specific suggestions to enhance the overall quality and readability.
```
**7.4 论证结构优化**
```
请帮我分析和优化这段论证的逻辑结构,以使其更具说服力。
```
---
## 迭代修正技巧
当用户对结果不满意时,使用以下指令引导修正:
| 场景 | 指令 |
| -------------- | -------------------------------------------------------------------- |
| 补充信息后重答 | `注意,不是...而是... 请根据我的补充,重新回答上个问题` |
| 指定侧重点 | `还是上面的问题,请重新回答一次,这次你应该侧重于去除这段话中的冗余` |
| 生成多版本 | `Please provide multiple versions for reference` |
| 定位修改位置 | `注意,除了给出润色修改之后的内容,还请指明具体修改了哪几句话` |
---
## 角色预设(可选)
在对话开始时使用,激活 AI 的学术模式:
**学术领袖模式**
```
我作为学术领域的引领者,在各个领域拥有丰富的学术经验与专业知识,不仅参与前沿研究,还积极分享经验与见解擅长学术写作规范,提升论文的品质与影响力,精细润色每个细节,优化语言表达与逻辑结构
```
**评审专家模式**
```
你现在扮演一个[领域]领域的专家,从专业的角度,您认为上面这些内容是否有需要修改的地方?注意,不要全文修改,您需要一一指出需要修改的地方,并且给出修改意见以及推荐的修改内容
```2.网页爬虫
👉 点击展开:.agent\workflows\crawl4ai.md
crawl4ai.md
---
description: "Crawl4AI: Usage Guide & Best Practices"
---
# Crawl4AI Workflow
使用 Crawl4AI 进行网页爬取和数据提取的工作流。
**GitHub**: [unclecode/crawl4ai](https://github.com/unclecode/crawl4ai)
**文档**: [docs.crawl4ai.com](https://docs.crawl4ai.com)
---
## Prerequisites
确保 Crawl4AI 已安装:
```bash
# 使用 pip
pip install crawl4ai
crawl4ai-setup # 安装 Playwright 浏览器
# 使用 uv (推荐)
uv pip install crawl4ai
uv run crawl4ai-setup
```
---
## How to Use This Workflow
当用户请求网页爬取相关帮助时(爬取网页、提取数据、批量抓取),按以下步骤执行:
### Step 1: 识别爬取场景
| 场景 | 用户典型请求 | 使用策略 |
| ----------- | ------------------------------ | --------------------------- |
| 单页爬取 | "爬取这个网页" | `AsyncWebCrawler.arun()` |
| 批量爬取 | "爬取这些链接"、"批量抓取" | `arun_many()` |
| 结构化提取 | "提取文章列表"、"抓取商品信息" | `JsonCssExtractionStrategy` |
| AI 智能提取 | "提取关键信息"、"用 LLM 分析" | `LLMExtractionStrategy` |
| 自适应爬取 | "找到所有定价信息" | `AdaptiveCrawler` |
### Step 2: 单页爬取(最常用)
```python
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(url="https://example.com")
print(result.markdown) # LLM 友好的 Markdown
asyncio.run(main())
```
### Step 3: 批量并行爬取
```python
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
urls = [
"https://example.com/page1",
"https://example.com/page2",
"https://example.com/page3",
]
async with AsyncWebCrawler() as crawler:
results = await crawler.arun_many(urls)
for result in results:
print(f"{result.url}: {len(result.markdown)} chars")
asyncio.run(main())
```
### Step 4: CSS 选择器提取
当用户需要提取结构化数据时使用:
```python
import asyncio
import json
from crawl4ai import AsyncWebCrawler
from crawl4ai.extraction_strategy import JsonCssExtractionStrategy
async def main():
schema = {
"name": "Articles",
"baseSelector": "article.post",
"fields": [
{"name": "title", "selector": "h2", "type": "text"},
{"name": "link", "selector": "a", "type": "attribute", "attribute": "href"},
{"name": "summary", "selector": "p.excerpt", "type": "text"},
]
}
strategy = JsonCssExtractionStrategy(schema)
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://example.com/blog",
extraction_strategy=strategy
)
data = json.loads(result.extracted_content)
print(data)
asyncio.run(main())
```
### Step 5: LLM 驱动提取
当用户需要 AI 智能分析网页内容时使用:
```python
import asyncio
from crawl4ai import AsyncWebCrawler
from crawl4ai.extraction_strategy import LLMExtractionStrategy
from pydantic import BaseModel
class Product(BaseModel):
name: str
price: float
description: str
async def main():
strategy = LLMExtractionStrategy(
provider="openai/gpt-4o-mini", # 或 ollama/llama3
api_token="your-api-key",
schema=Product.model_json_schema(),
instruction="Extract product information from the page"
)
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://example.com/product",
extraction_strategy=strategy
)
print(result.extracted_content)
asyncio.run(main())
```
### Step 6: 处理特殊场景
**6.1 代理设置**
```python
async with AsyncWebCrawler(proxy="http://user:pass@proxy:8080") as crawler:
result = await crawler.arun(url="https://example.com")
```
**6.2 反检测模式**
```python
async with AsyncWebCrawler(
headless=True,
browser_type="chromium",
user_agent="custom-user-agent",
headers={"Accept-Language": "en-US"},
) as crawler:
result = await crawler.arun(url="https://example.com")
```
**6.3 会话复用(登录场景)**
```python
async with AsyncWebCrawler() as crawler:
# 第一次:登录
await crawler.arun(
url="https://example.com/login",
session_id="my_session",
js_code="document.querySelector('#login').click()"
)
# 复用会话
result = await crawler.arun(
url="https://example.com/dashboard",
session_id="my_session"
)
```
**6.4 等待页面加载**
```python
result = await crawler.arun(
url="https://example.com",
wait_for="css:.content-loaded", # 等待元素出现
delay_before_return_html=2.0, # 额外等待 2 秒
)
```
---
## 常见问题排查
| 问题 | 原因 | 解决方案 |
| --------------- | -------------------- | ------------------------------------------------- |
| 页面内容为空 | JS 未完全加载 | 使用 `wait_for` 或增加 `delay_before_return_html` |
| 被反爬阻止 | IP 被封 / 检测到爬虫 | 使用代理、设置 `headless=False`、随机 UA |
| 提取结果为空 | CSS 选择器错误 | 使用浏览器 DevTools 验证选择器 |
| 内存溢出 | 批量爬取过大 | 分批处理、使用 `max_concurrent` 限制并发 |
| Playwright 报错 | 浏览器未安装 | 运行 `crawl4ai-setup` |
---
## 最佳实践
1. **优先使用异步 API** - `AsyncWebCrawler` 性能远优于同步版本
2. **合理设置并发** - 批量爬取时使用 `max_concurrent` 避免被封
3. **复用会话** - 需要登录的场景使用 `session_id`
4. **缓存结果** - 开发阶段使用 `cache_mode` 避免重复请求
5. **优先 CSS/XPath** - 结构化提取优先使用 CSS,比 LLM 更快更便宜Agent Rules
1.Git Commit Content
👉 点击展开:.agent\rules\git-commit-content.md
academic-writing.md
---
trigger: always_on
---
# 写作与 Commit 生成统一 Prompt 规范
本 Prompt 用于约束两类输出行为:**Git Commit message 生成** 与 **Blog / 文档写作**。
通过固定触发指令(`cc` / `wb`)进入对应模式。
---
## 一、Git Commit 生成规则(触发指令:`cc`)
当用户发送 **`cc`** 时,仅生成 **Git commit message**,不附加任何解释或多余内容。
### 约束
- 使用英文
- 简短、明确、可读
- 遵循 **Conventional Commits**
- 仅允许以下类型:
- `feat`
- `fix`
- `docs`
- `chore`
- `refactor`
- 结尾不加句号
- 单行输出
### 示例
- `feat: add user authentication`
- `fix: resolve memory leak in data loader`
- `docs: update README with installation steps`
- `chore: update dependencies`
- `refactor: simplify state management logic`Agent Skills
Skills 是一套可复用的 AI 编程助手指令集,通过 SKILL.md 文件定义标准化的工作流程。
Superpowers
Superpowers 是一个为 AI 编程助手设计的核心技能库,强调 TDD、系统化调试和协作式开发。
安装方式
使用 Git Submodule 将 Superpowers 引入项目:
# 添加 submodule
git submodule add https://github.com/obra/superpowers.git .agent/skills/superpowers
# 提交配置
git add .gitmodules .agent/skills/superpowers
git commit -m "chore: add superpowers skills library"其他人 clone 项目后需执行:
git submodule update --init --recursive更新到最新版本:
cd .agent/skills/superpowers
git pull origin main
cd ../../..
git add .agent/skills/superpowers
git commit -m "chore: update superpowers submodule"核心 Skills
| Skill | 用途 |
|---|---|
brainstorming | 头脑风暴,将想法转化为设计文档 |
writing-plans | 生成详细的实施计划 |
executing-plans | 分批执行计划,带检查点 |
test-driven-development | RED-GREEN-REFACTOR 循环 |
systematic-debugging | 4 阶段根因分析流程 |
verification-before-completion | 强制验证后再声明完成 |
subagent-driven-development | 子代理驱动开发,两阶段审查 |
dispatching-parallel-agents | 并发子代理工作流 |
SKILL.md 结构
每个 skill 目录下包含 SKILL.md 文件:
---
name: skill-name
description: "触发条件和用途描述"
---
# Skill Title
## Overview
概述核心原则
## The Process
具体执行步骤使用方式
告诉 Agent 使用某个 skill:
- "用 brainstorming skill 设计这个功能"
- "按照 TDD skill 来实现"
- "用 systematic-debugging 排查问题"
Agent 会读取对应的 SKILL.md 并按指导流程执行。
