跳转到主要内容

概述

流程(Processes)负责协调智能体(agents)执行任务,类似于人类团队中的项目管理。这些流程确保任务按照预定义的策略被高效地分配和执行。

流程的实现方式

  • 顺序(Sequential):按顺序执行任务,确保任务按部就班地完成。
  • 层级(Hierarchical):以管理层级结构组织任务,任务根据结构化的指挥链进行委派和执行。必须在 Crew 中指定一个管理者语言模型 (manager_llm) 或一个自定义的管理者智能体 (manager_agent),才能启用层级流程,从而由管理者来创建和管理任务。
  • 共识流程(Consensual Process)(计划中):旨在实现智能体之间就任务执行进行协作决策,这种流程类型为 CrewAI 内的任务管理引入了一种民主化的方法。它计划在未来开发,目前尚未在代码库中实现。

流程在团队协作中的作用

流程使单个智能体能够作为一个有凝聚力的整体运作,简化他们的工作,以高效和连贯的方式实现共同目标。

为 Crew 分配流程

要为一个 Crew 分配流程,请在创建 Crew 时指定流程类型以设置执行策略。对于层级流程,请确保为管理者智能体定义 manager_llmmanager_agent
from crewai import Crew, Process

# Example: Creating a crew with a sequential process
crew = 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_agent
crew = Crew(
    agents=my_agents,
    tasks=my_tasks,
    process=Process.hierarchical,
    manager_llm="gpt-4o"
    # or
    # manager_agent=my_manager_agent
)
注意:在创建 Crew 对象之前,请确保 my_agentsmy_tasks 已被定义。对于层级流程,还需要定义 manager_llmmanager_agent

顺序流程

此方法模仿动态的团队工作流,以深思熟虑和系统化的方式推进任务。任务执行遵循任务列表中预定义的顺序,前一个任务的输出将作为下一个任务的上下文。要自定义任务上下文,请使用 Task 类中的 context 参数来指定哪些输出应该用作后续任务的上下文。

分层流程

CrewAI 模仿企业层级结构,允许指定一个自定义的管理者智能体,或自动创建一个,此时需要指定一个管理者语言模型 (manager_llm)。该智能体负责监督任务执行,包括规划、委派和验证。任务不会被预先分配;管理者会根据智能体的能力分配任务、审查输出并评估任务完成情况。

Process 类:详细概述

Process 类是作为一个枚举 (Enum) 实现的,确保了类型安全,并将流程值限制为已定义的类型(sequentialhierarchical)。共识流程计划在未来加入,这突显了我们致力于持续发展和创新的承诺。

结论

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