Core Concepts
协作
探索CrewAI框架内代理协作的动态,重点关注新集成的功能以增强功能性。
协作基础
CrewAI中的协作是基础,使代理能够结合他们的技能,共享信息,并在任务执行中互相协助,体现了一个真正合作的生态系统。
- 信息共享: 确保所有代理都能充分了解信息,并通过共享数据和发现有效地做出贡献。
- 任务协助:允许代理向具有特定任务所需专业知识的同行寻求帮助。
- 资源分配: 通过代理之间高效分配和共享资源来优化任务执行。
增强属性以改善协作
Crew 类已经增加了多个属性以支持高级功能:
| 功能 | 描述 |
|---|---|
语言模型管理 (manager_llm, function_calling_llm) | 管理用于执行任务和工具的语言模型。manager_llm 是分层过程所必需的,而 function_calling_llm 是可选的,具有默认值以简化交互。 |
自定义管理器代理 (manager_agent) | 指定一个自定义代理作为管理器,替换默认的CrewAI管理器。 |
流程 (process) | 定义任务分配的执行逻辑(例如,顺序、层次)。 |
详细日志记录 (verbose) | 提供详细的日志记录以进行监控和调试。接受整数和布尔值以控制详细级别。 |
速率限制 (max_rpm) | 限制每分钟的请求数以优化资源使用。设置指南取决于任务复杂性和负载。 |
国际化 / 自定义 (language, prompt_file) | 支持提示自定义以实现全球可用性。文件示例 |
执行和输出处理 (full_output) | 控制输出的粒度,区分完整输出和最终输出。 |
回调和遥测 (step_callback, task_callback) | 启用逐步和任务级别的执行监控和遥测,用于性能分析。 |
机组共享 (share_crew) | 允许与CrewAI共享机组数据以改进模型。应考虑隐私影响和好处。 |
使用指标 (usage_metrics) | 记录任务执行期间的所有LLM使用指标,以便进行性能分析。 |
内存使用 (memory) | 启用内存以存储执行历史,帮助代理学习和任务效率。 |
嵌入器配置 (embedder) | 配置嵌入器以支持语言理解和生成,并提供供应商自定义支持。 |
缓存管理 (cache) | 指定是否缓存工具执行结果,以提高性能。 |
输出日志 (output_log_file) | 定义用于记录crew执行输出的文件路径。 |
规划模式 (planning) | 在任务执行前启用行动规划。设置 planning=True 以激活。 |
重放功能 (replay) | 提供CLI用于列出上次运行的任务并从特定任务重放,有助于任务管理和故障排除。 |
委托(分而治之)
委派通过允许代理智能地分配任务或寻求帮助来增强功能,从而提升团队的整体能力。
实施协作和委派
组建一个团队涉及定义每个代理的角色和能力。CrewAI无缝管理他们的互动,确保高效的协作和委派,并具有增强的定制和监控功能,以适应各种操作需求。
示例场景
考虑一个由研究员代理负责数据收集和作家代理负责编写报告的团队。集成高级语言模型管理和流程属性可以实现更复杂的交互,例如作家将复杂的研究任务委托给研究员或查询特定信息,从而促进无缝的工作流程。
结论
将高级属性和功能集成到CrewAI框架中,显著丰富了代理协作生态系统。这些增强不仅简化了交互,还提供了前所未有的灵活性和控制,为能够通过智能协作和委派处理复杂任务的复杂AI驱动解决方案铺平了道路。
