学习
层级流程
一份全面指南,帮助您理解和应用 CrewAI 项目中的层级流程,已更新以反映最新的编码实践和功能。
介绍
CrewAI 中的层级流程引入了一种结构化的任务管理方法,模拟传统的组织层级结构以实现高效的任务委托和执行。这种系统化的工作流通过确保任务以最佳效率和准确性处理,从而增强项目成果。
层级流程旨在利用 GPT-4 等高级模型,在处理复杂任务时优化 token 使用,同时提高效率。
层级流程概述
默认情况下,CrewAI 中的任务通过顺序流程进行管理。然而,采用层级方法可以在任务管理中实现清晰的层级结构,其中一个“管理器”代理协调工作流、委托任务并验证结果,以实现精简高效的执行。这个管理器代理现在可以由 CrewAI 自动创建,也可以由用户明确设置。
关键特性
- 任务委托:管理器代理根据团队成员的角色和能力分配任务。
- 结果验证:管理器评估结果以确保其符合所需标准。
- 高效工作流:模拟公司结构,提供有组织的任务管理方法。
- 系统提示处理:可选指定系统是否应使用预定义提示。
- 停用词控制:可选指定是否应使用停用词,支持包括 o1 模型在内的各种模型。
- 尊重上下文窗口:通过启用尊重上下文窗口来优先处理重要上下文,这现在是默认行为。
- 委托控制:委托现在默认禁用,以便用户进行明确控制。
- 每分钟最大请求数:可配置选项,用于设置每分钟最大请求数。
- 最大迭代次数:限制获取最终答案的最大迭代次数。
实现层级流程
要利用层级流程,必须将 process 属性明确设置为 Process.hierarchical
,因为默认行为是 Process.sequential
。定义一个指定了管理器的团队,并建立清晰的指挥链。
在代理级别分配工具,以便在管理器的指导下促进指定代理的任务委托和执行。工具也可以在任务级别指定,以精确控制任务执行期间的工具可用性。
配置 manager_llm
参数对于层级流程至关重要。系统需要设置管理器 LLM 才能正常运行,确保定制化的决策制定。
代码
使用自定义管理器代理
或者,您可以创建一个具有特定属性的自定义管理器代理,以满足您项目的管理需求。这使您对管理器的行为和能力拥有更多控制权。
有关创建和自定义管理器代理的更多详细信息,请查看自定义管理器代理文档。
实际工作流程
- 任务分配:管理器战略性地分配任务,考虑每个代理的能力和可用工具。
- 执行和审查:代理完成任务,可以选择异步执行和使用回调函数来简化工作流程。
- 任务顺序推进:尽管是层级流程,任务仍遵循逻辑顺序平稳推进,这得益于管理器的监督。
结论
在 CrewAI 中采用层级流程,通过正确的配置和对系统能力的理解,有助于形成一种有组织且高效的项目管理方法。利用高级功能和自定义选项,根据您的特定需求调整工作流,确保最佳的任务执行和项目成功。