用途:CrewAI 用于构建基于角色的多智能体(multi-agent)系统。相较 LangGraph 的底层状态机,它提供更高层抽象:智能体被定义为带角色(Role)、目标(Goal)和背景故事(Backstory)的实体,crew 内置顺序(sequential)或层级(hierarchical)工作流,并内建智能体间委派。
主要能力:用 Agent、Task、Crew、Process 组织流程;用 @tool 装饰器创建工具并挂载到相关智能体;支持 step_callback 监控执行、memory=True 启用记忆;提供顺序 crew 与需 manager_llm 的层级 crew 两种模式。参考文档涵盖 agent-design、task-design、crew-patterns、tool-integration、callbacks、memory-system、flows、faq-and-troubleshooting,并附 research-crew、hierarchical-crew、support-crew 模板。
使用方式:先定义 Agent(role, goal, backstory),再定义 Task(description, expected_output, agent),然后 Crew(agents, tasks, process=Process.sequential) 并 kickoff()。层级 crew 需设 manager_llm,例如 manager_llm=ChatOpenAI(model="gpt-4");层级模式由管理智能体处理全部输出,token 消耗较高,可用更便宜的模型。
限制与注意:层级模式缺少 manager_llm 会静默失败;allow_delegation=True 且未设 max_iter 会引起无限委派,可设 max_iter=15;工具调用失败只标记任务失败而不抛异常,需检查任务输出;跨任务记忆需在 Crew 上设 memory=True。不适合单智能体任务、需要细粒度图控制(循环、条件分支)、对话式交互或简单链式组合,这些可分别考虑 LangGraph、AutoGen、LangChain LCEL。收费、价格与具体平台要求资料未提供。