跳转至

流程

理解流程

核心概念

在CrewAI中,流程通过代理执行任务,类似于人类团队中的项目管理。这些流程确保任务被高效地分配和执行,与预定义的策略保持一致。

流程实现

  • 顺序执行:按顺序执行任务,确保任务按有序的进展完成。
  • 层级执行:按管理层次组织任务,任务根据结构化的指挥链进行委派和执行。在团队中必须指定一个管理语言模型(manager_llm)或自定义管理代理(manager_agent),以启用层级流程,便于管理者创建和管理任务。
  • 共识流程(计划中):旨在实现代理之间在任务执行上的协作决策,这种流程类型在CrewAI中引入了任务管理的民主方法。该流程计划在未来开发,目前尚未在代码库中实现。

流程在团队合作中的角色

流程使单个代理能够作为一个紧密的单元运作,简化他们的努力,以高效和连贯的方式实现共同目标。

为团队分配流程

要将流程分配给团队,请在创建团队时指定流程类型以设置执行策略。对于层级流程,确保为管理代理定义manager_llmmanager_agent

from crewai import Crew
from crewai.process import Process
from langchain_openai import ChatOpenAI

# 示例:创建一个具有顺序流程的团队
crew = Crew(
    agents=my_agents,
    tasks=my_tasks,
    process=Process.sequential
)

# 示例:创建一个具有层级流程的团队
# 确保提供manager_llm或manager_agent
crew = Crew(
    agents=my_agents,
    tasks=my_tasks,
    process=Process.hierarchical,
    manager_llm=ChatOpenAI(model="gpt-4")
    # 或者
    # manager_agent=my_manager_agent
)
注意:在创建Crew对象之前,确保已定义my_agentsmy_tasks,对于层级流程,还需要manager_llmmanager_agent

顺序流程

这种方法反映了动态团队工作流程,通过深思熟虑和系统化的方式推进任务。任务执行遵循任务列表中的预定义顺序,一个任务的输出作为下一个任务的环境。

要自定义任务环境,使用Task类中的context参数,指定应作为后续任务环境的输出。

层级流程

模拟公司层级,CrewAI允许指定自定义管理代理或自动创建一个,需要指定管理语言模型(manager_llm)。该代理监督任务执行,包括规划、委派和验证。任务不是预先分配的;管理者根据代理的能力分配任务,审查输出,并评估任务完成情况。

流程类:详细概述

Process类被实现为枚举(Enum),确保类型安全并限制流程值到定义的类型(sequentialhierarchical)。共识流程计划在未来包含,强调我们对持续开发和创新的承诺。

结论

CrewAI中流程所促进的结构化协作对于实现代理之间的系统化团队合作至关重要。本文档已更新,以反映最新的功能、增强和计划中的共识流程集成,确保用户能够获取最当前和最全面的信息。