CrewAI 实践:让 3 个 AI 角色协作写一份市场报告

张老师898 阅读

CrewAI 把多智能体的概念包装得更友好:你可以定义"角色"(Researcher、Writer、Editor),给每个角色分配任务,然后让它们像一个小团队一样协作。我拿它搭了一个"AI 内容生产流水线",让它每周产出一份 AI 行业周报。

定义角色的方式

Python
from crewai import Agent, Task, Crew, Process researcher = Agent( role="研究员", goal="搜集本周 AI 领域重要动态", backstory="你是一名科技记者,擅长从大量信息中提炼重点", llm=llm ) writer = Agent( role="编辑", goal="把研究结果写成简洁清晰的周报", backstory="你是资深编辑,文风简洁、客观", llm=llm ) research_task = Task( description="搜集本周 AI 领域 5 条重要新闻并总结", agent=researcher, expected_output="5 条新闻的要点列表" ) write_task = Task( description="基于研究结果撰写周报", agent=writer, expected_output="一篇 500 字左右的周报" ) crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task], process=Process.sequential) result = crew.kickoff()

体验:sequential 模式就是一步步往下走,researcher 的输出自动传给 writer。整个流程跑通很快,我第一次十分钟就出了能看的报告。

问题也很多

  1. 任务交接信息丢失。researcher 输出了 5 条新闻,writer 可能只用上 2 条,其他被"忽略"了。需要在 task description 里写清楚要保留全部信息。

  2. 各角色输出风格不稳定。同一次运行和下一次运行,风格差异很大。我在 Agent 的 backstory 里加了很多风格约束才稳定下来。

  3. 依赖工具时配置麻烦。如果研究员要真的上网查资料,需要接 Serper 之类的搜索 API,配置链路有点绕。

  4. 中文支持一般。默认模板英文居多,需要手动指定语言。

CrewAI 适合把"流程固定、角色明确"的事情自动化,比如报告生成、内容创作。但如果任务需要高度精确,它跟 AutoGen 一样有"看起来合理但实际有错"的问题。

评论0

还没有评论,来抢沙发~