跳转到主要内容

文档索引

获取完整文档索引: https://docs.crewai.com.cn/llms.txt

在深入了解之前,请使用此文件来浏览所有可用页面。

简介

CrewAI 中的分层流程引入了一种结构化的任务管理方法,通过模拟传统的组织层级来实现高效的任务分配与执行。这种系统化的工作流程通过确保以最佳效率和准确性处理任务,从而改善了项目成果。
分层流程旨在利用 GPT-4 等先进模型,在以更高效率处理复杂任务的同时,优化 Token 的使用。

分层流程概述

默认情况下,CrewAI 中的任务是通过顺序流程进行管理的。然而,采用分层方法可以实现清晰的任务管理层级,其中“经理”智能体协调工作流、委派任务并验证结果,从而实现精简高效的执行。现在,该经理智能体既可以由 CrewAI 自动创建,也可以由用户显式设置。

主要特点

  • 任务委派:经理智能体根据成员的角色和能力在他们之间分配任务。
  • 结果验证:经理评估产出,以确保其符合要求的标准。
  • 高效工作流:模拟企业结构,提供一种有组织的任务管理方法。
  • 系统提示词处理:可选择指定系统是否应使用预定义的提示词。
  • 停止词控制:可选择指定是否使用停止词,支持包括 o1 模型在内的各种模型。
  • 遵循上下文窗口:通过启用对上下文窗口的遵循(现已成为默认行为)来优先处理重要上下文。
  • 委派控制:委派功能现在默认处于禁用状态,以赋予用户明确的控制权。
  • 每分钟最大请求数:可配置选项,用于设置每分钟允许的最大请求数。
  • 最大迭代次数:限制获取最终答案的最大迭代次数。

实施分层流程

要使用分层流程,必须显式将 process 属性设置为 Process.hierarchical,因为默认行为是 Process.sequential。定义一个带有指定经理的团队,并建立明确的指挥链。
在智能体层面分配工具,以促进在经理指导下由指定智能体进行任务委派和执行。也可以在任务层面指定工具,以便在执行任务时精确控制工具的可用性。
配置 manager_llm 参数对于分层流程至关重要。系统要求配置一个经理 LLM 以实现正常功能,确保决策制定的量身定制。
代码
from crewai import Crew, Process, Agent

# Agents are defined with attributes for backstory, cache, and verbose mode
researcher = Agent(
    role='Researcher',
    goal='Conduct in-depth analysis',
    backstory='Experienced data analyst with a knack for uncovering hidden trends.',
)
writer = Agent(
    role='Writer',
    goal='Create engaging content',
    backstory='Creative writer passionate about storytelling in technical domains.',
)

# Establishing the crew with a hierarchical process and additional configurations
project_crew = Crew(
    tasks=[...],  # Tasks to be delegated and executed under the manager's supervision
    agents=[researcher, writer],
    manager_llm="gpt-4o",  # Specify which LLM the manager should use
    process=Process.hierarchical,  
    planning=True, 
)

使用自定义经理智能体

或者,您可以创建一个具有特定属性的自定义经理智能体,以满足您项目的管理需求。这使您可以更好地控制经理的行为和能力。
# Define a custom manager agent
manager = Agent(
    role="Project Manager",
    goal="Efficiently manage the crew and ensure high-quality task completion",
    backstory="You're an experienced project manager, skilled in overseeing complex projects and guiding teams to success.",
    allow_delegation=True,
)

# Use the custom manager in your crew
project_crew = Crew(
    tasks=[...],
    agents=[researcher, writer],
    manager_agent=manager,  # Use your custom manager agent
    process=Process.hierarchical,
    planning=True,
)
有关创建和自定义经理智能体的更多详细信息,请查看 自定义经理智能体文档

工作流程实践

  1. 任务分配:经理会战略性地分配任务,充分考虑每个智能体的能力和可用工具。
  2. 执行与审查:智能体完成任务,并支持异步执行和回调函数,以实现精简的工作流。
  3. 顺序任务进展:尽管是分层流程,但在经理的监督下,任务仍遵循逻辑顺序,以实现平稳推进。

结论

在 CrewAI 中采用分层流程,配合正确的配置和对系统功能的理解,可以促进一种有组织且高效的项目管理方法。利用先进功能和自定义选项,根据您的特定需求定制工作流,从而确保最佳的任务执行和项目成功。