1. 关于 Agent Skill 执行上下文

Agent Skill 执行上下文即技能在执行过程中必须感知的信息,如当前执行的状态、步骤等,一旦突然停止,下次执行可以知道上一次执行状态和步骤,确保重试不会造成脏数据等。

2. 为什么需要上下文记忆

Skill 本身是"怎么做",记忆是"做过什么"——两者配合才能完成真正的 Agent 行为。Skill 本质上是指令文件(SKILL.md),告诉 Agent 某类任务的标准化操作流程。但它本身是无状态的——就像一个空壳工具说明书。

记忆对 Skill 的三个价值
上下文延续 — 同一个 skill 多次使用时,能引用之前的结论、数据、决策
个性化适配 — 不同用户偏好不同(比如你习惯飞书报告格式,记忆了就不需要每次都指定)
状态追踪 — 一个完整任务可能分多轮完成(先查日志 → 再分析 → 再写报告),记忆串联这些步骤。

3. 如何实现上下文记忆

3.1. Skill Registry(最轻量,立即可做)

在 workspace 中维护一个 skill 状态文件,每次 skill 执行前后自动读写:

{
  "my-skill-name": {
    "last_run": "2026-07-01T19:00:00+08:00",
    "total_runs": 6,
    "last_result": {
      "records": 2011,
      "users": 24,
      "violations": 1632,
      "top_risk_users": ["you.wang@msxf.com", "ke.peng01"],
      "feishu_doc": "https://feishu.cn/docx/IXfcdCGczoz1ZyxnRG4cTJbEnE3"
    },
    "active_context": {
      "pending_issues": ["sudo -i not in whitelist", "password plaintext"],
      "whitelist_count": 272
    }
  }
}

在 SKILL.md 中增加一个步骤

# 执行前
### 1. 加载技能上下文
读取 `skills/registry.json` 中对应技能的 `active_context`,了解上次遗留的问题和状态。

## 执行后
### 8. 保存技能上下文
将本次运行结果摘要更新到 `skills/registry.json`,保留 `pending_issues` 供下次引用。

3.2. Hook 系统(需要内核支持)

借鉴 Claude Code 的 onActivate / onDeactivate,在 Skill.md 中声明钩子:

----
name: my-skill-name
context: fork
hooks:
  onActivate: "scripts/pre-flight.sh"
  onDeactivate: "scripts/post-flight.sh"
  onActivateSubagent: true
---

内核实现思路:

解析 SKILL.md frontmatter,发现 hooks 字段
onActivate:skill 激活时,自动执行预置脚本(校验环境、准备数据、记录 trace)
onDeactivate:skill 完成后,执行清理(写入结果、释放临时资源、更新 registry)
context: fork + onActivateSubagent:在隔离子 agent 中执行,不污染主会话
OpenClaw 中已有基础设施:

sessions_spawn → 对应 context: fork
exec → 对应 onActivate/onDeactivate 脚本执行
cron → 对应定时触发的 skill 执行
需要在 skill 匹配层 加一个中间件,解析 frontmatter 钩子并触发对应动作。

4. 相关资料

https://agentskills.io/home

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐