代码

cookbook/tools/daytona_tools.py
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 个斐波那契数并计算它们的总和与平均值"
)