CrewAI多Agent协作异常:无法找到协作Agent求助
CrewAI多Agent交互问题排查与解决方案
1. "Co-worker mentioned not found" 错误修复
这个错误的核心原因是目标Agent未被加入Crew的agents列表,或者Agent名称引用不匹配:
- 确保创建
writerAgent后,初始化Crew时必须将其包含在agents参数中,比如crew = Crew(agents=[researcher, writer], ...) - 检查Agent的
name参数(如果自定义),引用时的名称必须和定义完全一致(大小写敏感),默认情况下Agent的name是其role值,不要混用。
2. Hierarchical模式下Manager无法通信的处理
- 必须为Crew配置有效的
manager_llm实例,比如使用OpenAI的ChatOpenAI或其他兼容LLM,不能留空或配置无效对象 - 确保需要接受Manager调度的Agent,其
allow_delegation参数设为True,否则Manager无法向其分配任务 - 确认Crew的
process参数明确设为Process.hierarchical
3. Sequential模式下Agent间交互实现
Sequential模式默认按顺序执行任务,Agent不会主动交互,需手动配置实现:
- 给后续任务添加
context参数,传入前置任务实例,让当前Agent能获取前置任务的输出,比如writing_task = Task(..., context=[research_task]) - 如果需要Agent直接调用其他Agent的能力,将目标Agent加入当前Agent的
tools列表,比如researcher = Agent(..., tools=[writer]),这样researcher可以主动委托任务给writer
修正后的代码示例
from crewai import Agent, Task, Crew, Process from langchain_openai import ChatOpenAI # 初始化LLM实例(需确保API密钥已配置) llm = ChatOpenAI(model="gpt-3.5-turbo") # 定义Researcher Agent researcher = Agent( role='Senior Researcher', goal='收集关于CrewAI的最新技术细节与应用场景', backstory='你拥有5年技术调研经验,擅长梳理AI框架核心特性', llm=llm, allow_delegation=True # 允许向其他Agent委托任务 ) # 定义Writer Agent writer = Agent( role='Technical Writer', goal='基于调研内容撰写清晰易懂的技术报告', backstory='你专注于AI领域技术文档创作,擅长将复杂内容通俗化', llm=llm, allow_delegation=False ) # 定义调研任务 research_task = Task( description='调研CrewAI的核心功能、适用场景及与LangChain的关联', agent=researcher, expected_output='包含核心特性、应用案例的结构化调研笔记' ) # 定义写作任务(关联调研任务的输出) writing_task = Task( description='根据调研笔记撰写一篇800字的技术解析报告', agent=writer, expected_output='逻辑清晰、语言流畅的Markdown格式技术报告', context=[research_task] # 让Writer获取Researcher的输出结果 ) # 初始化Crew(Sequential模式示例) crew = Crew( agents=[researcher, writer], # 必须包含所有用到的Agent tasks=[research_task, writing_task], process=Process.sequential ) # 若使用Hierarchical模式,修改如下: # crew = Crew( # agents=[researcher, writer], # tasks=[research_task, writing_task], # process=Process.hierarchical, # manager_llm=llm # 配置Manager使用的LLM # ) # 启动任务 result = crew.kickoff() print(result)
内容的提问来源于stack exchange,提问作者Nathan Wheeler
相关产品推荐
相关产品推荐

