ENGINEERING CONTINUITY
Memory、Prompt 与 Skills
分清三种上下文资产的真源、组装时机、项目作用域和失效路径。
先说结论
Memory、Prompt 与 Skills 都影响 Agent 上下文,但职责不同:Memory 保存可持续事实,Prompt 组装系统与本轮上下文,Skills 以可发现包提供专门工作方法。混用三者会造成来源不清、缓存漂移或跨项目泄漏。
怎么理解
| 能力 | 规范真源 | 进入执行的方式 |
|---|---|---|
| Memory | private/team topic files 与 pointer-only MEMORY.md | start 注入规则和入口;Turn 做 relevant retrieval;也可用 host-direct memory_read/write |
| Prompt | 有序 static/dynamic sections、Prompt store 与 Thread snapshot | start 组装一次性 system frame;Turn 组装动态 user context |
| Skills | 项目 .agents/skills 与个人 canonical roots | 发布到 Claude/Codex provider-native mirror,由 Provider 原生发现 |
Prompt 的 static sections 定义身份、系统约束、工程规则和风格。Dynamic sections 按顺序注入 session guidance、memory、环境、语言、MCP instructions 与输出配置。PROMPT_START_CURRENT_DATE 只影响 start system block,不在每个 Turn 重复注入。
Skills 的 provider mirror 是生成物,不是规范真源。项目技能按请求 CWD 扫描;缺少 CWD 时返回错误,避免把一个项目的技能列表泄漏给另一个项目。
怎么使用
- 把长期可复用事实写入合适 Memory scope;写入同时更新索引并使相关 Prompt section 失效。
- 创建 Thread 时,Prompt assembler 生成 provider-neutral assembly 与 snapshot。
- 每个 Turn 只补充相关 Memory、历史回退、附件与运行时动态 section。
- 把 Skill 修改写到 canonical
SKILL.md,再由 mirror reconcile 发布给当前 Provider。 - 发生同名或 drift 时,使用 resolution list/preview/apply;preview proof 先展示差异,再执行 sync back、overwrite 或另存。
常见问题
- Memory 已落盘但 Prompt 仍旧:检查
MEMORY.md刷新和memory/memory_contextinvalidation 是否完成。 - relevant retrieval 无结果:系统可在低置信时回退到 transcript snippets;它不会伪造独立的模型原生搜索工具。
- Skill 列表跨项目异常:确认请求携带正确 CWD,且项目/个人 policy 没有未解决冲突。
- Provider mirror drift:不要直接把 mirror 当真源编辑;通过冲突预览决定同步回 canonical 或覆盖 mirror。
- resume 上下文漂移:必须读取 Thread 保存的 Prompt snapshot,而非用当前默认 sections 重建。
适用范围
- Memory start section 注入的是使用规则,不会把所有 topic 正文一次塞给模型。
memory_read/memory_write由 host-direct toolbridge 提供,mcp-orch不注册同名工具。- 旧
skill/expand已退出生产面;Skill 主链是 canonical → provider-native mirror。 - Provider mirror 可见不等于 Skill 已被本轮选用或产生正确结果。
延伸阅读
阅读 Provider、审批与恢复,理解上述 snapshot、mirror 和工具如何进入具体运行时。