Skip to content
CrewAI 文档版本 跟随上游 源快照 2ef2548b 更新于 2026-10-18

自定义智能体

关于在 CrewAI 框架内为特定角色、任务和高级自定义定制智能体的全面指南。

可自定义属性

打造高效的 CrewAI 团队取决于能否动态定制 AI 智能体,以满足任何项目的独特需求。本节介绍你可以自定义的基础属性。

用于定制的关键属性

属性描述
Role指定智能体在团队中的职责,例如“分析师”或“客户服务代表”。
Goal定义智能体的目标,并与其角色和团队的总体使命保持一致。
Backstory为智能体的人设增加深度,增强其在团队中的动机和参与度。
Tools (可选)表示智能体用于任务的能力或方法,从简单函数到复杂集成。
Cache (可选)决定智能体是否应为工具使用启用缓存。
Max RPM设置每分钟最大请求数(max_rpm)。可设置为 None,表示不限制向外部服务发起的请求。
Verbose (可选)启用详细日志记录以进行调试和优化,提供对执行过程的洞察。
Allow Delegation (可选)控制向其他智能体委派任务,默认值为 False。
Max Iter (可选)限制任务的最大迭代次数(max_iter)以防止无限循环,默认值为 25。
Max Execution Time (可选)设置智能体完成任务所允许的最长时间。
System Template (可选)定义智能体的系统格式。
Prompt Template (可选)定义智能体的提示词格式。
Response Template (可选)定义智能体的响应格式。
Use System Prompt (可选)控制智能体在任务执行期间是否使用系统提示词。
Respect Context Window默认启用滑动上下文窗口,以维持上下文大小。
Max Retry Limit设置智能体在出错时的最大重试次数(max_retry_limit)。

高级自定义选项

除了基本属性之外,CrewAI 还允许进行更深入的自定义,以显著增强智能体的行为和能力。

语言模型自定义

智能体可以使用特定语言模型(llm)和函数调用语言模型(function_calling_llm)进行自定义,从而为其处理和决策能力提供高级控制。 需要注意的是,设置 function_calling_llm 可以覆盖默认的团队函数调用语言模型,从而提供更高程度的自定义。

性能与调试设置

调整智能体的性能并监控其运行情况,对于高效执行任务至关重要。

详细模式与 RPM 限制

  • 详细模式:启用对智能体操作的详细日志记录,有助于调试和优化。具体而言,它提供对智能体执行过程的洞察,有助于优化性能。
  • RPM 限制:设置每分钟最大请求数(max_rpm)。此属性为可选项,可设置为 None 表示无限制,从而在需要时允许向外部服务发起不限量的查询。

任务执行的最大迭代次数

max_iter 属性允许用户定义智能体可为单个任务执行的最大迭代次数,防止无限循环或执行时间过长。 默认值设为 25,在彻底性与效率之间取得平衡。一旦智能体接近此数值,它将尽其所能给出良好的答案。

自定义智能体与工具

智能体通过在初始化期间定义其属性和工具来进行自定义。工具对智能体的功能至关重要,使其能够执行专门任务。 tools 属性应为智能体可使用的工具数组,默认初始化为空列表。可以在智能体初始化后添加或修改工具,以适应新的需求。

shell
pip install 'crewai[tools]'

示例:为智能体分配工具

python
import os
from crewai import Agent
from crewai_tools import SerperDevTool

# Set API keys for tool initialization
os.environ["OPENAI_API_KEY"] = "Your Key"
os.environ["SERPER_API_KEY"] = "Your Key"

# Initialize a search tool
search_tool = SerperDevTool()

# Initialize the agent with advanced options
agent = Agent(
  role='Research Analyst',
  goal='Provide up-to-date market analysis',
  backstory='An expert analyst with a keen eye for market trends.',
  tools=[search_tool],
  memory=True, # Enable memory
  verbose=True,
  max_rpm=None, # No limit on requests per minute
  max_iter=25, # Default value for maximum iterations
)

委派与自主性

控制智能体委派任务或提问的能力,对于在 CrewAI 框架内调整其自主性和协作动态至关重要。默认情况下, allow_delegation 属性现在设置为 False,使智能体无法按需寻求帮助或委派任务。可以更改此默认行为,以促进 CrewAI 生态系统内的协作问题解决和 效率。如有需要,可以启用委派以满足特定的运营要求。

示例:为智能体禁用委派

python
agent = Agent(
  role='Content Writer',
  goal='Write engaging content on market trends',
  backstory='A seasoned writer with expertise in market analysis.',
  allow_delegation=True # Enabling delegation
)

结论

在 CrewAI 中通过设置智能体的角色、目标、背景故事和工具,以及语言模型自定义、记忆、性能设置和委派偏好等高级选项来自定义智能体, 可打造一支细致且能力出众的 AI 团队,准备好应对复杂挑战。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。