学习
顺序流程
CrewAI 项目中利用顺序流程执行任务的综合指南。
介绍
CrewAI 提供了一个灵活的框架,用于以结构化方式执行任务,支持顺序流程和分层流程。本指南概述了如何有效地实现这些流程,以确保高效的任务执行和项目完成。
顺序流程概述
顺序流程确保任务一个接一个地执行,遵循线性进度。这种方法非常适合需要按特定顺序完成任务的项目。
主要特点
- 线性任务流:通过按预定顺序处理任务来确保有序进度。
- 简单性:最适合具有清晰、分步任务的项目。
- 易于监控:便于轻松跟踪任务完成情况和项目进度。
实现顺序流程
要使用顺序流程,请组建你的队伍并按照任务需要执行的顺序定义任务。
代码
注意
顺序流程中的每个任务必须分配一个代理。确保每个 Task
都包含 agent
参数。
工作流程实际操作
- 初始任务:在顺序流程中,第一个代理完成他们的任务并发出完成信号。
- 后续任务:代理根据流程类型接收他们的任务,由前一个任务的结果或指令指导其执行。
- 完成:一旦最后一个任务执行完毕,流程结束,项目完成。
高级功能
任务委派
在顺序流程中,如果代理的 allow_delegation
设置为 True
,他们可以将任务委派给队伍中的其他代理。当队伍中有多个代理时,此功能会自动设置。
异步执行
任务可以异步执行,适当时允许并行处理。要创建异步任务,在定义任务时将 async_execution
设置为 True
。
内存和缓存
CrewAI 支持内存和缓存功能
- 内存:创建 Crew 时通过设置
memory=True
启用。这允许代理在任务之间保留信息。 - 缓存:默认情况下,缓存是启用的。设置
cache=False
可禁用它。
回调函数
您可以在任务级别和步骤级别设置回调函数
task_callback
:在每个任务完成后执行。step_callback
:在代理执行的每个步骤后执行。
使用指标
CrewAI 跟踪所有任务和代理的 token 使用情况。您可以在执行后访问这些指标。
顺序流程的最佳实践
- 顺序很重要:按逻辑顺序安排任务,使每个任务都以前一个任务为基础。
- 清晰的任务描述:为每个任务提供详细描述,以有效指导代理。
- 选择合适的代理:根据每个任务的要求匹配代理的技能和角色。
- 使用上下文:利用先前任务的上下文来指导后续任务。
此更新的文档确保详细信息准确反映代码库的最新更改,并清晰描述如何利用新功能和配置。内容保持简单直接,以确保易于理解。