自定义代理
一份全面的指南,用于在CrewAI框架中为特定角色、任务和高级定制量身定制代理。
可自定义属性
打造一个高效的CrewAI团队关键在于能够动态调整你的AI代理,以满足任何项目的独特需求。本节涵盖了你可以自定义的基础属性。
自定义的关键属性
| 属性 | 描述 |
|---|---|
| 角色 | 指定代理在团队中的工作,例如“分析师”或“客户服务代表”。 |
| 目标 | 定义代理的目标,与其角色和团队的整体任务保持一致。 |
| 背景故事 | 为代理的角色提供深度,增强在团队中的动机和参与度。 |
| 工具 (可选) | 表示代理用于任务的能力或方法,从简单功能到复杂集成。 |
| 缓存 (可选) | 确定代理是否应使用缓存来进行工具使用。 |
| 最大RPM | 设置每分钟的最大请求数(max_rpm)。可以设置为None以允许对外部服务的无限请求。 |
| 详细模式 (可选) | 启用详细日志记录以进行调试和优化,提供对执行过程的深入了解。 |
| 允许委派 (可选) | 控制任务委派给其他代理,默认是 False。 |
| 最大迭代次数 (可选) | 限制任务的最大迭代次数(max_iter),以防止无限循环,默认值为25。 |
| 最大执行时间 (可选) | 设置代理完成任务所允许的最大时间。 |
| 系统模板 (可选) | 定义代理的系统格式。 |
| 提示模板 (可选) | 定义代理的提示格式。 |
| 响应模板 (可选) | 定义代理的响应格式。 |
| 使用系统提示 (可选) | 控制代理在任务执行期间是否使用系统提示。 |
| 尊重上下文窗口 | 默认启用滑动上下文窗口,保持上下文大小。 |
| 最大重试限制 | 设置代理在出现错误时的最大重试次数(max_retry_limit)。 |
高级自定义选项
除了基本属性外,CrewAI 允许进行更深入的定制,以显著增强代理的行为和能力。
语言模型定制
代理可以通过特定的语言模型(llm)和函数调用语言模型(function_calling_llm)进行定制,从而提供对其处理和决策能力的高级控制。
需要注意的是,设置function_calling_llm可以覆盖默认的crew函数调用语言模型,提供更高程度的定制。
性能和调试设置
调整代理的性能并监控其操作对于高效执行任务至关重要。
详细模式和RPM限制
- 详细模式:启用代理操作的详细日志记录,有助于调试和优化。具体来说,它提供了对代理执行过程的深入洞察,有助于优化性能。
- RPM限制: 设置每分钟的最大请求数(
max_rpm)。此属性是可选的,可以设置为None表示无限制,允许在需要时对外部服务进行无限查询。
任务执行的最大迭代次数
max_iter 属性允许用户定义代理在单个任务中可以执行的最大迭代次数,以防止无限循环或过长的执行时间。
默认值设置为25,在彻底性和效率之间提供了平衡。一旦代理接近这个数字,它将尽力给出一个好的答案。
自定义代理和工具
代理通过在初始化期间定义其属性和工具来进行定制。工具对于代理的功能至关重要,使它们能够执行专门的任务。
tools 属性应该是代理可以使用的工具数组,默认情况下初始化为空列表。可以在代理初始化后添加或修改工具以适应新的需求。
示例:为代理分配工具
授权与自主性
控制代理委派任务或提问的能力对于在CrewAI框架内定制其自主性和协作动态至关重要。默认情况下,
allow_delegation属性现在设置为False,禁止代理根据需要寻求帮助或委派任务。可以更改此默认行为以促进CrewAI生态系统内的协作问题解决和
效率。如果需要,可以启用委派以适应特定的操作要求。
示例:禁用代理的委派
结论
通过设置角色、目标、背景故事和工具来定制CrewAI中的代理,以及语言模型定制、记忆、性能设置和委派偏好等高级选项,可以打造一个细致且能力强大的AI团队,准备好应对复杂的挑战。
这个页面有帮助吗?
