You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CrewAI多Agent协作异常:无法找到协作Agent求助

CrewAI多Agent交互问题排查与解决方案

1. "Co-worker mentioned not found" 错误修复

这个错误的核心原因是目标Agent未被加入Crew的agents列表,或者Agent名称引用不匹配:

  • 确保创建writer Agent后,初始化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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 06:45:11