主题
编码智能体
了解如何让你的 CrewAI 智能体编写并执行代码,并探索增强功能的高级特性。
引言
CrewAI 智能体现在具备编写和执行代码的强大能力,显著增强其问题解决能力。此功能对于需要计算或程序化解决方案的任务特别有用。
启用代码执行
要为智能体启用代码执行,在创建智能体时将 allow_code_execution 参数设置为 True。
以下是一个示例:
python
from crewai import Agent
coding_agent = Agent(
role="Senior Python Developer",
goal="Craft well-designed and thought-out code",
backstory="You are a senior Python developer with extensive experience in software architecture and best practices.",
allow_code_execution=True
)NOTE
请注意,allow_code_execution 参数默认为 False。
重要注意事项
模型选择:在启用代码执行时,强烈建议使用能力更强的模型,如 Claude 3.5 Sonnet 和 GPT-4。 这些模型对编程概念有更好的理解,更有可能生成正确且高效的代码。
错误处理:代码执行功能包含错误处理。如果执行的代码引发异常,智能体将收到错误消息,并可以尝试修正代码或 提供替代解决方案。
max_retry_limit参数默认为 2,控制任务的最大重试次数。依赖项:要使用代码执行功能,你需要安装
crewai_tools包。如果未安装,智能体将记录一条信息消息: “编码工具不可用。请安装 crewai_tools。”
代码执行流程
当启用代码执行的智能体遇到需要编程的任务时:
Task Analysis
智能体会分析任务并确定需要执行代码。
Code Formulation
它会编写解决问题所需的 Python 代码。
Code Execution
代码被发送到内部代码执行工具(CodeInterpreterTool)。
Result Interpretation
智能体解释结果,并将其纳入响应或用于进一步解决问题。
用法示例
以下是一个详细示例,展示如何创建具备代码执行能力的智能体并在任务中使用它:
python
from crewai import Agent, Task, Crew
# Create an agent with code execution enabled
coding_agent = Agent(
role="Python Data Analyst",
goal="Analyze data and provide insights using Python",
backstory="You are an experienced data analyst with strong Python skills.",
allow_code_execution=True
)
# Create a task that requires code execution
data_analysis_task = Task(
description="Analyze the given dataset and calculate the average age of participants.",
agent=coding_agent
)
# Create a crew and add the task
analysis_crew = Crew(
agents=[coding_agent],
tasks=[data_analysis_task]
)
# Execute the crew
result = analysis_crew.kickoff()
print(result)在此示例中,coding_agent 可以编写并执行 Python 代码来执行数据分析任务。