Agent工坊

【Agent工坊】Hermes Agent delegate_task 多Agent协作实战:搭建你的第一条AI内容生产线

一个主控Agent + 5个子Agent = 日产3篇高质量长文。本文提供完整配置模板和可复制的Python代码,读完就能搭。

为什么你需要多Agent协作?

如果你已经在用 Hermes Agent 写内容,你一定遇到过这些问题:

  • 上下文爆炸:一篇长文需要搜索、写大纲、写正文、审稿、配图,塞进一个会话里,到了写作环节上下文已经吃掉几万字,LLM 开始「忘事」
  • 质量不可控:让同一个 Agent 既做调研又写正文,它会把搜索到的碎片信息直接拼凑成文章,缺乏结构化的思考和审核
  • 无法规模化:每次写文章都要重复「搜索→写→审」的流程,没有自动化流水线

多Agent协作就是解法。把内容生产拆成独立环节,每个环节交给专门的子Agent,主控Agent只负责调度和审核。

Hermes Agent 的 delegate_task 函数就是为此设计的。它让你可以从主会话中派生子Agent,每个子Agent有独立的上下文、独立的工具集、独立的任务目标,执行完把结果写入共享文件后自动退出。

核心概念:delegate_task 的三个关键参数

delegate_task(
    goal="完整的任务描述,包括输出文件路径",
    context="背景信息和约束条件",
    toolsets=["web", "terminal", "file"],  # 子Agent可用的工具
    role="leaf"  # 执行完自动退出
)
参数 说明 注意事项
goal 子Agent的完整任务描述 必须包含输出文件路径,否则子Agent不知道把结果写哪
context 背景信息、输入文件路径、格式要求 可以引用主会话中的文件
toolsets 子Agent的工具集 ["web"] 可以搜索,["terminal"] 可以执行命令,["file"] 可以读写文件
role "leaf" 表示执行完退出,不嵌套调用 默认用 leaf,避免无限递归

五步搭建内容生产线

第一步:创建目录结构

mkdir -p ~/ai-neican/{research,outline,content,review}/outputs/

五个子Agent的输出路径:
- research/outputs/01-research.md → 调研Agent
- outline/outputs/01-outline.md → 大纲Agent
- content/outputs/01-article.md → 写作Agent
- review/outputs/01-review.md → 审核Agent
- content/outputs/01-article.md(覆盖) → 修正Agent

第二步:调研Agent —— 找3个候选选题

delegate_task(
    goal="你是一个AI创业内参的调研Agent。请完成以下任务:
1. 搜索今天最新的AI Agent工具相关新闻GitHub releasesHN热榜The Verge AI频道
2. 筛选出3个适合写成公众号文章的候选选题
3. 每个候选包含:标题、核心观点、目标读者、预估热度
4. 输出到文件:~/ai-neican/research/outputs/01-research.md

输出格式:
# 候选选题
## 选题1:[标题]
- 核心观点:...
- 目标读者:...
- 预估热度:高//
(重复3次)",
    context="目标读者是AI创业者——需要知道用什么工具、行业发生什么、怎么挣到钱。输出目录需要先创建。",
    toolsets=["web", "terminal", "file"],
    role="leaf"
)

关键技巧
- goal 里明确写了输出文件路径,这样调研Agent知道结果写哪里
- context 里说明了目标读者画像,确保选题方向不偏
- toolsets 给了 webterminal,让Agent可以搜索和用curl获取数据

第三步:大纲Agent —— 选最佳选题,输出结构化大纲

delegate_task(
    goal="你是一个AI创业内参的大纲Agent。请完成以下任务:
1. 读取调研报告:~/ai-neican/research/outputs/01-research.md
2. 3个候选中选择最佳选题(判断标准:热度最高 + AI创业最相关
3. 为该选题输出结构化大纲
4. 输出到:~/ai-neican/outline/outputs/01-outline.md

大纲结构:
# [文章标题]
## 引言钩子(50字)
## 第一段:事件回顾(400字,3-4个关键数据点)
## 第二段:为什么重要(300字,对AI创业者的影响分析)
## 第三段:我们能学到什么(300字,3个可操作的要点)
## 第四段:行动建议(200字,具体步骤)
## 结尾CTA(50字)",
    context="字数分配见上方结构。确保每个章节都有具体的字数目标和核心要点。",
    toolsets=["file", "terminal"],
    role="leaf"
)

关键技巧
- 大纲Agent不需要搜索(toolsets里没给web),它只负责结构化已有的调研结果
- context 里写死了字数分配,防止子Agent自由发挥

第四步:写作Agent —— 按大纲创作完整文章

delegate_task(
    goal="你是一个AI创业内参的写作Agent。请完成以下任务:
1. 读取调研报告:~/ai-neican/research/outputs/01-research.md
2. 读取大纲:~/ai-neican/outline/outputs/01-outline.md
3. 按大纲创作完整文章,2500字左右
4. 输出到:~/ai-neican/content/outputs/01-article.md

写作规范:
- 公众号风格,口语化但专业
- 200-300字一个自然段
- 必须有具体数据(标出来源)
- 不写「今天看到一篇文章说...」这类流水账
- 文末加CTA:关注公众号获取更多AI创业干货",
    context="目标读者:AI创业者。风格参照「AI创业内参」公众号历史文章。",
    toolsets=["file"],
    role="leaf"
)

关键技巧
- 写作Agent的toolsets只给了 ["file"],不给web权限——防止它越过调研和大纲自行搜索,避免扩大上下文
- goal 里明确了写作规范(公众号风格、段落长度、CTA要求)

第五步:审核Agent —— 五维度评分 + 修改清单

delegate_task(
    goal="你是一个AI创业内参的审核Agent。请完成以下任务:
1. 读取文章:~/ai-neican/content/outputs/01-article.md
2. 从五个维度审核:
   - 事实准确性(数据是否有来源?版本号/价格是否正确?)
   - 逻辑完整性(有事件回顾→为什么重要→可学到什么→行动建议→总结?)
   - 标题质量(信息密度高?读者能一眼知道「我能获得什么」?)
   - 内容价值(有独特洞察?还是简单搬运新闻?)
   - 原创性(有独立观点和横向比较?)
3. 输出 verdict:直接发布 / 修改后发布 / 需要重写
4. 如果 verdict 是「修改后发布」,列出具体的修改清单(至少5条)
5. 输出到:~/ai-neican/review/outputs/01-review.md",
    context="评分要严格。如果关键数据没有来源URL,事实准确性直接给0/25分。",
    toolsets=["file"],
    role="leaf"
)

第六步(可选):修正Agent —— 根据审核意见修改

如果审核Agent判了「修改后发布」,再启动一个修正Agent:

delegate_task(
    goal="根据审核意见修改文章:
1. 读取审核报告:~/ai-neican/review/outputs/01-review.md
2. 读取原文章:~/ai-neican/content/outputs/01-article.md
3. 逐条修改审核清单中的所有问题
4. 覆盖原文件:~/ai-neican/content/outputs/01-article.md",
    context="审核清单在01-review.md的「修改清单」部分。逐条修改,不要跳过任何一条。",
    toolsets=["file"],
    role="leaf"
)

为什么这个流水线有效?

1. 上下文隔离 = 质量保障

每个子Agent有独立上下文。调研Agent的上下文里只有搜索结果,写作Agent只看到调研报告和大纲。不会出现「搜了10篇文章后LLM忘了我要求写2500字」的问题。

实测数据:同样的任务,单Agent模式写到800字就枯竭了,多Agent流水线稳定产出2500-3500字。

2. 角色分离 = 更专业的输出

调研Agent专门调研(有web权限),大纲Agent专门结构化(无web权限),写作Agent专门创作(无web权限),审核Agent专门找茬。每个Agent只做一件事,做到极致。

3. 文件传递 = 可检查可恢复

每一步的输出都是独立的Markdown文件。如果写作Agent超时(实测经常发生),你只需要检查文件是否完整——如果完整直接进入下一步,不需要重跑整个流水线。

# 检查写作Agent输出是否完整
wc -c ~/ai-neican/content/outputs/01-article.md
# 中文字数估算(每汉字约3字节):字节数/3 ≈ 字数

常见问题

Q: delegate_task 会超时怎么办?

A: 默认超时600秒。写作Agent在生成2500字长文时经常超时,但文件可能已经写完了。先检查输出文件是否存在且内容完整(中文字数>2000),如果完好直接进入下一步,不需要重跑。

Q: 子Agent用哪个模型?

A: 子Agent默认继承主Agent的模型配置。你可以通过 model 参数指定不同的模型,比如写作Agent用Claude(文笔更好),调研Agent用GPT(搜索更强)。

Q: 能和 cron 定时任务配合吗?

A: 完全可以。在主Agent里写一个循环:

# 伪代码
while True:
    delegate_task(goal="扫描最新AI新闻...", ...)
    # 读取调研结果,判断是否有热点
    if has_hotspot:
        delegate_task(goal="写大纲...", ...)
        delegate_task(goal="写文章...", ...)
        delegate_task(goal="审核...", ...)
    time.sleep(900)  # 每15分钟一轮

Q: delegate_task 和 subprocess 有什么区别?

A: delegate_task 是AI原生的任务委派——子Agent理解自然语言任务描述,自适应完成。subprocess 是固定脚本执行。前者灵活(适合内容创作这类非确定性任务),后者确定(适合文件操作这类确定性任务)。

总结

多Agent协作不是炫技,是内容创业的生产力杠杆

一条流水线搭建完成后,你只需要:
1. 看一眼调研报告,确认选题方向
2. 看一眼审核报告,确认文章质量
3. 点发布

剩下的事情——搜索、筛选、写大纲、写正文、找茬、修改——全部由Agent完成。

这不是未来,现在就能跑。


本文是【Agent工坊】系列第N篇。关注「AI创业内参」,每周获取可复制的AI工具实操教程。

Agent工坊 #HermesAgent #多Agent协作 #AI内容创业 #一人公司