一份关于理解和应用 CrewAI 项目中分层流程的全面指南,已更新以反映最新的编码实践和功能。
简介CrewAI 中的分层流程引入了一种结构化的任务管理方法,模拟传统的组织层级,以实现高效的任务委派和执行。这种系统化的工作流程通过确保任务以最佳效率和准确性处理,从而提高项目成果。
分层流程旨在利用 GPT-4 等高级模型,优化令牌使用,同时更高效地处理复杂任务。
分层流程概述默认情况下,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, )有关创建和自定义经理代理的更多详细信息,请查看自定义经理代理文档。
工作流程实践
- 任务分配:经理战略性地分配任务,考虑每个代理的能力和可用工具。
- 执行和审查:代理完成任务,可以选择异步执行和回调函数以简化工作流程。
- 顺序任务进展:尽管是分层流程,但任务遵循逻辑顺序以实现平稳进展,并由经理监督。
结论在 CrewAI 中采用分层流程,并进行正确的配置和理解系统功能,有助于实现有组织且高效的项目管理方法。利用高级功能和自定义设置,根据您的特定需求调整工作流程,确保最佳任务执行和项目成功。
《DeepSeek高效数据分析:从数据清洗到行业案例》聚焦DeepSeek在数据分析领域的高效应用,是系统讲解其从数据处理到可视化全流程的实用指南。作者结合多年职场实战经验,不仅深入拆解DeepSeek数据分析的核心功能——涵盖数据采集、清洗、预处理、探索分析、建模(回归、聚类、时间序列等)及模型评估,更通过金融量化数据分析、电商平台数据分析等真实行业案例,搭配报告撰写技巧,提供独到见解与落地建议。助力职场人在激烈竞争中凭借先进技能突破瓶颈,实现职业进阶,开启发展新篇。