Processes
关于 CrewAI 中通过流程进行工作流管理的详细指南,包含更新后的实现细节。
概述
Process 实现方式
- Sequential:按顺序执行任务,确保任务以有序的方式逐步完成。
- Hierarchical:以管理层级方式组织任务,任务会基于结构化的指挥链进行委派和执行。要在 crew 中启用 hierarchical process,必须指定管理者语言模型(
manager_llm)或自定义 manager agent(manager_agent),以便由管理者创建和管理任务。 - Consensual Process(计划中):旨在让 agents 围绕任务执行进行协作式决策,这种流程类型为 CrewAI 中的任务管理引入了一种更民主的方式。该功能计划在未来开发,目前尚未在代码库中实现。
Processes 在团队协作中的作用
Processes 使单个 agents 能够作为一个有凝聚力的整体运作,从而以高效且一致的方式协同实现共同目标。
为 Crew 指定 Process
要为 crew 指定 process,请在创建 crew 时指定 process 类型,以设置执行策略。对于 hierarchical process,请确保定义 manager_llm 或 manager_agent 作为 manager agent。
from crewai import Crew, Process# Example: Creating a crew with a sequential processcrew = Crew(agents=my_agents,tasks=my_tasks,process=Process.sequential)# Example: Creating a crew with a hierarchical process# Ensure to provide a manager_llm or manager_agentcrew = Crew(agents=my_agents,tasks=my_tasks,process=Process.hierarchical,manager_llm="gpt-4o"# or# manager_agent=my_manager_agent)
注意: 在创建 Crew 对象之前,请确保已经定义好 my_agents 和 my_tasks;对于 hierarchical process,还必须额外提供 manager_llm 或 manager_agent 之一。
Sequential Process
这种方式模拟了动态团队工作流,以审慎且系统化的方式推进任务。任务执行遵循任务列表中的预定义顺序,前一个任务的输出会作为下一个任务的上下文。
如需自定义任务上下文,可在 Task 类中使用 context 参数,指定哪些输出应作为后续任务的上下文。
Hierarchical Process
CrewAI 模拟企业层级结构,允许指定自定义 manager agent,或在提供管理者语言模型(manager_llm)的情况下自动创建一个 manager agent。该 agent 负责监督任务执行,包括规划、委派和校验。任务不会被预先分配;manager 会根据各 agent 的能力分配任务、审查输出,并评估任务完成情况。
Process 类:详细说明
Process 类以枚举(Enum)形式实现,从而确保类型安全,并将 process 的可选值限制为已定义类型(sequential、hierarchical)。consensual process 计划于未来加入,这也体现了我们对持续开发与创新的承诺。
结论
CrewAI 中通过 processes 实现的结构化协作,对于使 agents 之间开展系统化团队协作至关重要。
