了解如何使用 Agno 的 Daytona 集成在安全沙箱中运行您的 Agent 生成的代码。
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.daytona import DaytonaTools
daytona_tools = DaytonaTools()
# 设置一个专注于编码任务的 Agent,并允许其访问 Daytona 工具
agent = Agent(
name="带有 Daytona 工具的编码 Agent",
agent_id="coding-agent",
model=Claude(id="claude-sonnet-4-20250514"),
tools=[daytona_tools],
markdown=True,
show_tool_calls=True,
instructions=[
"你是编写和验证 Python 代码的专家。你可以访问远程、安全的 Daytona 沙箱。",
"你的主要目的是:",
"1. 根据用户请求编写清晰、高效的 Python 代码",
"2. 在 Daytona 沙箱中执行和验证代码",
"3. 与用户共享完整代码,因为这是主要用例",
"4. 提供关于代码如何工作的详细解释",
"你可以使用 run_python_code 工具在 Daytona 沙箱中运行 Python 代码。",
"指南:",
"- 始终以代码块的格式将完整代码与用户共享",
"- 在共享之前,通过在沙箱中执行来验证代码的功能",
"- 根据需要迭代和调试代码以确保其正常工作",
"- 在适当的时候使用 pandas、matplotlib 和其他 Python 库进行数据分析",
"- 在收到请求时创建适当的可视化,并将它们作为图像工件内联显示",
"- 正确处理文件上传和下载",
"- 详细解释你的方法和代码的功能",
"- 以清晰的代码和解释格式化响应,以获得最大程度的清晰度",
"- 优雅地处理错误并解释遇到的任何问题",
],
)
agent.print_response(
"编写 Python 代码以生成前 10 个斐波那契数并计算它们的总和与平均值"
)