跳到主要内容

CrewAI 代理协作

协作基础

!!! note "代理交互的核心" CrewAI 中的协作是基础性的,使代理能够结合各自的技能,共享信息,并在任务执行中互相帮助,体现了一个真正合作的生态系统。

  • 信息共享:确保所有代理都了解情况,并通过共享数据和发现有效地做出贡献。
  • 任务协助:允许代理寻求具有特定任务所需专业知识的同行帮助。
  • 资源分配:通过在代理之间高效分配和共享资源,优化任务执行。

增强属性以改进协作

Crew 类已经增加了几个属性,以支持高级功能:

  • 语言模型管理 (manager_llm, function_calling_llm):管理执行任务和工具的语言模型,促进复杂的代理-工具交互。需要注意的是,manager_llm 对于分层流程是强制性的,以确保适当的执行流程,而 function_calling_llm 是可选的,提供了默认值,以简化工具交互。
  • 流程控制 (process):定义执行逻辑(例如,顺序、分层)以简化任务分配和执行。
  • 详细日志记录 (verbose):提供详细的日志记录功能,用于监控和调试。它支持整数和布尔类型,以指示详细程度。例如,将 verbose 设置为 1 可能会启用基本日志记录,而将其设置为 True 则启用更详细的日志记录。
  • 速率限制 (max_rpm):通过限制每分钟的请求次数,确保资源的有效利用。设置 max_rpm 的指南应考虑任务的复杂性和对资源的预期负载。
  • 国际化支持 (language, language_file):促进多语言操作,增强了全球可用性。应清楚记录支持的语言以及利用 language_file 属性进行定制的流程。
  • 执行和输出处理 (full_output):区分全面输出和最终输出,以对任务结果进行微妙的控制。展示输出差异的示例可以帮助理解此属性的实际影响。
  • 回调和遥测 (step_callback, task_callback):集成了用于逐步和任务级别执行监控的回调,以及用于性能分析的遥测。应清楚解释 task_callbackstep_callback 的目的和用法,以进行细粒度的监控。
  • Crew 共享 (share_crew):允许将船员信息与 CrewAI 共享,以持续改进和训练模型。应概述此功能的隐私影响和好处,包括它如何有助于模型改进。
  • 使用度量 (usage_metrics):存储语言模型(LLM)在所有任务执行期间的所有度量,提供对运行效率和改进领域的见解。应提供有关访问和解释这些度量以进行性能分析的详细信息。
  • 内存使用 (memory):指示船员是否应使用内存来存储其执行的记忆,增强任务执行和代理学习。
  • 嵌入器配置 (embedder):指定船员用于理解和生成语言的嵌入器配置。此属性支持语言模型提供者的定制。

委派:分而治之

委派通过允许代理智能地分配任务或寻求帮助,增强了功能,从而提升了船员的整体能力。

实施协作和委派

设置一个船员涉及定义每个代理的角色和能力。CrewAI 无缝管理它们的交互,确保高效的协作和委派,具有增强的定制和监控功能,以适应各种运营需求。

示例场景

考虑一个船员,其中一个研究员代理负责数据收集,另一个写手代理负责编写报告。高级语言模型管理和流程控制属性的集成使得更复杂的交互成为可能,例如写手将复杂的研究任务委派给研究员,或查询特定信息,从而促进了无缝的工作流程。

结论

将先进的属性和功能集成到CrewAI框架中,显著丰富了代理人协作生态系统。这些增强不仅简化了交互,还提供了前所未有的灵活性和控制,为通过智能协作和委派解决复杂任务的先进AI驱动解决方案铺平了道路。