logo

实战四:多 Agent 调研团队

多 Agent 最适合用来做什么?我觉得“调研 + 成稿”就是一个非常典型的场景。因为这两件事虽然相关,但评价标准不一样:

  • 调研更看重覆盖面、事实准确性和信息来源
  • 写作更看重结构、可读性和表达节奏

把它们都交给一个 Agent,当然也能做,但经常会出现两种问题:要么搜得不够扎实,要么文章写得很顺,却没什么根据。这一节就用一个最小双角色团队,把这个分工跑通。

如果你后面想把它做成能被 Google 更容易索引的内容生产流程,这个分工也有现实意义:researcher 负责找可信来源,writer 负责把来源组织成结构清晰、主题明确的文章。搜索引擎更容易理解的,通常也是这种证据和结构都比较扎实的页面。

[LIVE_CHAT_BANNER]


1. 为什么用 CrewAI?

这里选 CrewAI,不是因为它一定最强,而是因为它很适合展示“角色分工”这件事。它的模型比较贴近大家对团队协作的直觉:谁负责查,谁负责写,任务怎么串起来。

pip install crewai crewai-tools

2. 定义 Agents

我们先只放两个角色,故意保持简单:

  1. Researcher:负责搜集和整理材料
  2. Writer:负责根据材料形成成稿

别一上来就上 5 个 Agent。多智能体系统最容易出现的问题之一,就是角色加太快,结果没人能说清每个 Agent 的边界。

from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool

search_tool = SerperDevTool() # Google Search 工具

# 定义研究员
researcher = Agent(
  role='Senior Research Analyst',
  goal='Uncover cutting-edge developments in AI Agents',
  backstory="""You work at a leading tech think tank.
  Your expertise lies in identifying emerging trends.
  You have a knack for dissecting complex data and presenting actionable insights.""",
  verbose=True,
  allow_delegation=False,
  tools=[search_tool] # 只有研究员能用搜索工具
)

# 定义撰稿人
writer = Agent(
  role='Tech Content Strategist',
  goal='Craft compelling content on tech advancements',
  backstory="""You are a renowned Content Strategist, known for your insightful and engaging articles.
  You transform complex concepts into compelling narratives.""",
  verbose=True,
  allow_delegation=True
)

这里有个很值得注意的小点:只有 researcher 配了搜索工具,而 writer 没有。

这是故意的。因为如果 writer 也能自己上网搜,它就很容易绕过前面的调研结果,最后系统又退化成“两个都什么都做”的状态。角色分工只有在权限也分开时才真正成立。

我还会额外建议一件事:给 researcher 增加“来源字段”,明确记录每条结论从哪里来。这样 writer 在写成稿时,不只是拿到一堆观点,而是拿到“观点 + 来源 + 可信度”。

3. 定义 Tasks

任务描述不能太空。Multi-Agent 系统里,任务如果写得模糊,错误会一棒传一棒,最后很难知道问题出在哪一层。

所以 task 最好至少写清楚:

  • 做什么
  • 输出长什么样
  • 成功标准是什么
  • 有没有不能碰的边界

如果目标是产出能上线、能被搜索引擎长期收录的文章,task 里最好再多写两条:

  • 尽量使用可验证来源,不要只引用二手摘要
  • 标题和小节名称要能明确表达主题,不要全靠抽象概念
# 任务 1:调研
task1 = Task(
  description="""Conduct a comprehensive analysis of the latest advancements in AI Agents in 2024.
  Identify key trends, breakthrough technologies, and potential industry impacts.""",
  expected_output="Full analysis report in bullet points",
  agent=researcher
)

# 任务 2:写作
task2 = Task(
  description="""Using the insights provided, develop an engaging blog post that highlights the most significant AI Agent trends.
  Your post should be informative yet accessible to a general tech-savvy audience.
  Avoid complex jargon.""",
  expected_output="Full blog post of at least 4 paragraphs",
  agent=writer
)

4. 组建 Crew 并运行

crew = Crew(
  agents=[researcher, writer],
  tasks=[task1, task2],
  verbose=2, # 打印详细日志
  process=Process.sequential # 顺序执行:先调研,后写作
)

result = crew.kickoff()

print("######################")
print(result)

这里用 Process.sequential 很重要,因为这类任务天然就是顺序型:

  • 先研究
  • 再写作

如果你让两个角色同时开始,writer 在没有材料的情况下很可能直接开始脑补。

这一步其实也是为了减少“AI 味”。很多 AI 生成内容之所以一眼看着像模板文,原因之一就是 writer 没拿到足够扎实的原始材料,只能靠通用语言把文章撑起来。

5. 观察运行过程

跑起来以后,你通常会看到这样一个节奏:

  1. Researcher 开始调用 Google Search,搜索 "AI Agent trends 2024"。
  2. 它会阅读搜索结果,提取关键点(如 AutoGen, BabyAGI)。
  3. 任务完成后,它把调研报告传递给下一棒。
  4. Writer 接收到报告,开始撰写文章。
  5. 最终输出一篇完整的博客。


6. 这个实验真正该观察什么

很多人做多 Agent demo 时,只看最后文章写得像不像。其实更有价值的是看中间链路:

研究员找到的资料质量如何

它是搜了一堆泛泛网页,还是找到了真正有信息量的来源?有没有明显过期内容?有没有把广告文当成事实来源?

交接物是不是足够结构化

如果 researcher 只是丢给 writer 一坨原始段落,writer 很容易自己乱总结。

更稳的交接格式通常会像这样:

  • 关键趋势
  • 每个趋势对应的来源
  • 不确定的点
  • 需要 writer 避免过度放大的地方
  • 建议使用的关键词或主题短语

writer 有没有“越权发挥”

writer 最大的风险不是文笔差,而是为了让文章更顺,把原本没有证据支撑的内容补全了。你在真实系统里最好明确要求 writer:

  • 只能基于调研结果写
  • 不得补充未经验证的新事实
  • 有争议的点要保留不确定性

如果是面向 Google 搜索的内容,我还会再加一条:正文里尽量保留可以被用户直接搜索到的问题表达,而不是把所有标题都写成很空泛的概念词。这样页面主题会更明确。


7. 把这个 demo 再做深一点

如果你觉得这个双角色版本已经跑顺了,可以继续往下加,但建议按顺序来:

  1. 给 researcher 增加“来源打分”
  2. 给 writer 增加“引用来源”要求
  3. 再加一个 reviewer,专门查事实和结构问题
  4. 最后再考虑 manager 统一调度

这个顺序很重要。很多团队一开始就上 manager、reviewer、editor、publisher 一整套,最后只是把复杂度提前引进来了。

而且角色一多,内容风格会越来越像“流程产物”。如果你想让页面读起来更像真人写的,通常不是不断加角色,而是让前面的 researcher 和 writer 交接更扎实。


小结

Multi-Agent 做得好的前提,不是角色数量多,而是分工清楚。

  • Researcher 负责把事实找准
  • Writer 负责把内容写顺
  • 交接格式负责防止信息变形

这三件事做好了,两个 Agent 往往已经能超过一个“什么都想干”的通用 Agent。

AI Agent 开发实战手册
AI Engineer

AI Agent 开发实战手册

从 0 到 1 掌握 AI Agent 开发:涵盖自主计划、工具调用、MCP 协议与多智能体编排实战。

AI Agent 开发实战手册实战四:多 Agent 调研团队

实战四:多 Agent 调研团队

多 Agent 最适合用来做什么?我觉得“调研 + 成稿”就是一个非常典型的场景。因为这两件事虽然相关,但评价标准不一样:

  • 调研更看重覆盖面、事实准确性和信息来源
  • 写作更看重结构、可读性和表达节奏

把它们都交给一个 Agent,当然也能做,但经常会出现两种问题:要么搜得不够扎实,要么文章写得很顺,却没什么根据。这一节就用一个最小双角色团队,把这个分工跑通。

如果你后面想把它做成能被 Google 更容易索引的内容生产流程,这个分工也有现实意义:researcher 负责找可信来源,writer 负责把来源组织成结构清晰、主题明确的文章。搜索引擎更容易理解的,通常也是这种证据和结构都比较扎实的页面。

咨询顾问
Live Chat · 在线
想了解课程与方案?直接和顾问聊聊
真人顾问在线,获取学习路径与课程建议。

#1. 为什么用 CrewAI?

这里选 CrewAI,不是因为它一定最强,而是因为它很适合展示“角色分工”这件事。它的模型比较贴近大家对团队协作的直觉:谁负责查,谁负责写,任务怎么串起来。

bash
pip install crewai crewai-tools

#2. 定义 Agents

我们先只放两个角色,故意保持简单:

  1. Researcher:负责搜集和整理材料
  2. Writer:负责根据材料形成成稿

别一上来就上 5 个 Agent。多智能体系统最容易出现的问题之一,就是角色加太快,结果没人能说清每个 Agent 的边界。

python
from crewai import Agent, Task, Crew, Process from crewai_tools import SerperDevTool search_tool = SerperDevTool() # Google Search 工具 # 定义研究员 researcher = Agent( role='Senior Research Analyst', goal='Uncover cutting-edge developments in AI Agents', backstory="""You work at a leading tech think tank. Your expertise lies in identifying emerging trends. You have a knack for dissecting complex data and presenting actionable insights.""", verbose=True, allow_delegation=False, tools=[search_tool] # 只有研究员能用搜索工具 ) # 定义撰稿人 writer = Agent( role='Tech Content Strategist', goal='Craft compelling content on tech advancements', backstory="""You are a renowned Content Strategist, known for your insightful and engaging articles. You transform complex concepts into compelling narratives.""", verbose=True, allow_delegation=True )

这里有个很值得注意的小点:只有 researcher 配了搜索工具,而 writer 没有。

这是故意的。因为如果 writer 也能自己上网搜,它就很容易绕过前面的调研结果,最后系统又退化成“两个都什么都做”的状态。角色分工只有在权限也分开时才真正成立。

我还会额外建议一件事:给 researcher 增加“来源字段”,明确记录每条结论从哪里来。这样 writer 在写成稿时,不只是拿到一堆观点,而是拿到“观点 + 来源 + 可信度”。

#3. 定义 Tasks

任务描述不能太空。Multi-Agent 系统里,任务如果写得模糊,错误会一棒传一棒,最后很难知道问题出在哪一层。

所以 task 最好至少写清楚:

  • 做什么
  • 输出长什么样
  • 成功标准是什么
  • 有没有不能碰的边界

如果目标是产出能上线、能被搜索引擎长期收录的文章,task 里最好再多写两条:

  • 尽量使用可验证来源,不要只引用二手摘要
  • 标题和小节名称要能明确表达主题,不要全靠抽象概念
python
# 任务 1:调研 task1 = Task( description="""Conduct a comprehensive analysis of the latest advancements in AI Agents in 2024. Identify key trends, breakthrough technologies, and potential industry impacts.""", expected_output="Full analysis report in bullet points", agent=researcher ) # 任务 2:写作 task2 = Task( description="""Using the insights provided, develop an engaging blog post that highlights the most significant AI Agent trends. Your post should be informative yet accessible to a general tech-savvy audience. Avoid complex jargon.""", expected_output="Full blog post of at least 4 paragraphs", agent=writer )

#4. 组建 Crew 并运行

python
crew = Crew( agents=[researcher, writer], tasks=[task1, task2], verbose=2, # 打印详细日志 process=Process.sequential # 顺序执行:先调研,后写作 ) result = crew.kickoff() print("######################") print(result)

这里用 Process.sequential 很重要,因为这类任务天然就是顺序型:

  • 先研究
  • 再写作

如果你让两个角色同时开始,writer 在没有材料的情况下很可能直接开始脑补。

这一步其实也是为了减少“AI 味”。很多 AI 生成内容之所以一眼看着像模板文,原因之一就是 writer 没拿到足够扎实的原始材料,只能靠通用语言把文章撑起来。

#5. 观察运行过程

跑起来以后,你通常会看到这样一个节奏:

  1. Researcher 开始调用 Google Search,搜索 "AI Agent trends 2024"。
  2. 它会阅读搜索结果,提取关键点(如 AutoGen, BabyAGI)。
  3. 任务完成后,它把调研报告传递给下一棒。
  4. Writer 接收到报告,开始撰写文章。
  5. 最终输出一篇完整的博客。


#6. 这个实验真正该观察什么

很多人做多 Agent demo 时,只看最后文章写得像不像。其实更有价值的是看中间链路:

#研究员找到的资料质量如何

它是搜了一堆泛泛网页,还是找到了真正有信息量的来源?有没有明显过期内容?有没有把广告文当成事实来源?

#交接物是不是足够结构化

如果 researcher 只是丢给 writer 一坨原始段落,writer 很容易自己乱总结。

更稳的交接格式通常会像这样:

  • 关键趋势
  • 每个趋势对应的来源
  • 不确定的点
  • 需要 writer 避免过度放大的地方
  • 建议使用的关键词或主题短语

#writer 有没有“越权发挥”

writer 最大的风险不是文笔差,而是为了让文章更顺,把原本没有证据支撑的内容补全了。你在真实系统里最好明确要求 writer:

  • 只能基于调研结果写
  • 不得补充未经验证的新事实
  • 有争议的点要保留不确定性

如果是面向 Google 搜索的内容,我还会再加一条:正文里尽量保留可以被用户直接搜索到的问题表达,而不是把所有标题都写成很空泛的概念词。这样页面主题会更明确。


#7. 把这个 demo 再做深一点

如果你觉得这个双角色版本已经跑顺了,可以继续往下加,但建议按顺序来:

  1. 给 researcher 增加“来源打分”
  2. 给 writer 增加“引用来源”要求
  3. 再加一个 reviewer,专门查事实和结构问题
  4. 最后再考虑 manager 统一调度

这个顺序很重要。很多团队一开始就上 manager、reviewer、editor、publisher 一整套,最后只是把复杂度提前引进来了。

而且角色一多,内容风格会越来越像“流程产物”。如果你想让页面读起来更像真人写的,通常不是不断加角色,而是让前面的 researcher 和 writer 交接更扎实。


#小结

Multi-Agent 做得好的前提,不是角色数量多,而是分工清楚。

  • Researcher 负责把事实找准
  • Writer 负责把内容写顺
  • 交接格式负责防止信息变形

这三件事做好了,两个 Agent 往往已经能超过一个“什么都想干”的通用 Agent。

常见问题

开发 AI Agent 需要掌握哪些编程语言?
首选 Python 或 TypeScript。Python 是 AI 生态的基石,而 TypeScript 在开发 MCP Server 和网页端交互时效率极高。借助 Cursor 等 AI 原生编辑器,编程门槛已大幅降低。
MCP 协议目前支持哪些模型?
MCP 是开放协议,目前对 Claude 3.5 系列支持最完美。通过 MCP Proxy,GPT-4o 和 Gemini 也可以间接访问 MCP Server 数据源。
AI Agent 会导致程序员失业吗?
不会,但会改变程序员的工作内容。未来的开发者将从“写代码”转向“管理 Agent 团队”,重点在于系统架构设计、复杂逻辑校验和 Agent 的提示词优化。