跳转到主要内容

Introduction

CrewAI 智能体现在拥有编写和执行代码的强大能力,显著增强了它们解决问题的能力。这一特性对于需要计算或编程解决方案的任务尤为有用。

启用代码执行

要为智能体启用代码执行功能,在创建智能体时,将 allow_code_execution 参数设置为 True 以下是一个示例:
代码
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
)
请注意,allow_code_execution 参数默认值为 False

重要注意事项

  1. 模型选择: 强烈建议在启用代码执行时使用更强大的模型,如 Claude 3.5 Sonnet 和 GPT-4。 这些模型对编程概念有更好的理解,更有可能生成正确且高效的代码。
  2. 错误处理: 代码执行功能包含错误处理机制。如果执行的代码引发异常,智能体将收到错误信息,并可尝试修正代码或提供替代解决方案。max_retry_limit 参数(默认值为2)控制任务的最大重试次数。
  3. 依赖项: 要使用代码执行功能,您需要安装 crewai_tools 包。如果未安装,智能体将记录一条信息消息: “代码工具不可用。请安装 crewai_tools。”

代码执行流程

当启用了代码执行功能的智能体遇到需要编程的任务时:
1

任务分析

智能体分析任务并确定需要执行代码。
2

代码制定

它制定解决该问题所需的Python代码。
3

代码执行

代码被发送到内部代码执行工具(CodeInterpreterTool)。
4

结果解读

智能体解读结果并将其整合到其响应中,或用于进一步解决问题。

Example Usage

以下是一个创建具备代码执行能力的智能体并在任务中使用它的详细示例:
代码
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 代码来完成数据分析任务。