Agent Skill - 执行上下文记忆机制
Agent Skill - 执行上下文记忆机制
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
更多推荐


所有评论(0)