Skip to content

第 10 章 · Skills、Memory 与审批模式

本章目标:

  • 掌握 Deep Agents Skills 系统(AGENTS.md 文件格式)
  • 理解 Memory 的短期与长期区分
  • 学会使用三种审批模式:Manual、Auto、YOLO
  • 配置远程代码沙箱(E2B/Modal)

10.1 Skills 系统

Skills 是 Agent 的可复用能力和指令:

markdown
<!-- .deepagents/skills/researcher/AGENTS.md -->
---
name: researcher
description: 研究主题并生成报告
model: anthropic:claude-haiku-4-5-20251001
---

你是一位专业研究员。

## 工作流程
1. 使用 Tavily 搜索相关信息
2. 整理关键发现
3. 生成结构化报告

## 输出格式
- 标题(H1)
- 摘要(100 字内)
- 关键发现(带编号)
- 参考资料链接
python
from deepagents import create_deep_agent

agent = create_deep_agent(
    model="openai:gpt-4o",
    skills=["researcher", "writer"],  # 加载多个技能
    system_prompt="你是一个多技能助手"
)

10.2 Memory 系统

python
from deepagents import create_deep_agent

# 短期记忆:对话历史(自动管理)
# 长期记忆:跨会话知识(需显式存储)

agent = create_deep_agent(
    model="openai:gpt-4o",
    memory={
        "type": "long_term",
        "store": "sqlite://memory.db",  # 持久化存储
        "max_tokens": 4000  # 记忆容量限制
    }
)

# 存储长期记忆
agent.memory.save("user_preferences", {
    "name": "张三",
    "favorite_color": "蓝色",
    "project_context": "正在开发 RAG 系统"
})

# 检索记忆
pref = agent.memory.load("user_preferences")

10.3 审批模式

python
from deepagents import ApprovalMode

# Manual:每个工具调用前都需人工确认
agent_manual = create_deep_agent(
    model="openai:gpt-4o",
    approval_mode=ApprovalMode.MANUAL,
    tools=[write_file, execute_code]
)

# Auto:信任工具,自动执行
agent_auto = create_deep_agent(
    model="openai:gpt-4o",
    approval_mode=ApprovalMode.AUTO,
    tools=[get_weather, search_web]
)

# YOLO:不过滤任何工具(高风险)
agent_yolo = create_deep_agent(
    model="openai:gpt-4o",
    approval_mode=ApprovalMode.YOLO,
    tools=[delete_files, execute_shell]
)

10.4 代码沙箱

python
from deepagents import create_deep_agent

# E2B 沙箱(推荐)
agent = create_deep_agent(
    model="openai:gpt-4o",
    sandbox="e2b",  # 或 "modal"、"agentcore"
    sandbox_config={
        "api_key": "e2b_xxx",
        "template": "python-3.11"
    }
)

# 沙箱内执行代码
result = agent.invoke({
    "messages": [{"role": "user", "content": "计算 2+2"}]
})
# Agent 在隔离环境中执行 Python 代码

10.5 完整配置示例

python
from deepagents import create_deep_agent, ApprovalMode

agent = create_deep_agent(
    model="anthropic:claude-sonnet-4-6",
    tools=[search_web, calculate, write_report],
    skills=["researcher", "analyst"],
    memory={
        "type": "long_term",
        "store": "postgres://user:pass@localhost/agent_db"
    },
    approval_mode=ApprovalMode.MANUAL,
    sandbox="e2b",
    system_prompt="""你是一个专业分析师。

## 你的能力
- 使用 researcher 技能进行深度研究
- 使用 analyst 技能生成分析报告
- 在沙箱中安全执行代码

## 约束
- 敏感操作必须人工审批
- 每次分析后保存记忆
"""
)

本章小结

  • Skills 通过 AGENTS.md 文件定义,支持 YAML frontmatter
  • Memory 分为短期(对话历史)和长期(跨会话存储)
  • 审批模式:Manual(手动确认)、Auto(自动)、YOLO(无过滤)
  • 沙箱提供安全的代码执行环境

🛠️ 动手实践

  1. 创建自定义 Skill(AGENTS.md),定义专属工作流程
  2. 实现带 Long-term Memory 的 Agent,验证跨会话记忆
  3. 对比三种审批模式的行为差异