{{ theme.skipToContentLabel || 'Skip to content' }}

上下文与 Artifact 治理开发 SOP

1. 明确数据分类

先列出稳定指令、动态消息、工具预览、完整输出、凭据和外部业务数据。稳定指令可进入前缀;动态消息参与压缩;完整输出进入 Artifact;凭据不得进入模型或 Artifact。

2. 固定上下文前缀

  1. 使用固定分区:核心规则、项目指令、工具契约、稳定事实、专业 Skill。
  2. 对工具名和事实键稳定排序,禁止加入时间戳、随机数或运行密钥。
  3. 对相同输入执行两次,确认文本和 SHA-256 指纹完全相同。

3. 设定压缩不变量

  1. 在每次 Provider 请求前检查 contextWindow - reserveTokens
  2. 默认使用本地确定性摘要,不额外发送模型请求。
  3. 保留最近完整 user 起始轮次,不能产生孤立工具结果。
  4. 摘要至少保留目标、约束、权限、文件、测试、未完成事项、下一步与不确定副作用。
  5. 压缩失败时返回原消息并发出 context_compaction_failed

4. 治理大输出

  1. 使用 ArtifactStore 流式导入,禁止一次性读取完整大文件。
  2. 验证受控根目录的真实路径仍位于工作区内。
  3. 仅接收受信任工具生成的临时输出引用。
  4. 扫描疑似凭据;命中后删除暂存文件并返回阻断说明。
  5. 模型只接收有界头尾、总字节数、哈希、媒体类型和工作区相对路径。
  6. 使用 cleanup() 按项目策略清理过期 Artifact;清理前保留需要审计的证据。

5. 记录真实指标

分别记录 input、output、cacheRead、cacheWrite、压缩次数、摘要指纹、稳定前缀指纹、Artifact 数量和字节数。模型目录未声明缓存计费能力时标为 unavailable;不得根据“可能支持”虚构命中。

6. 比较策略

用同一消息集运行 compareContextStrategies(),比较无压缩、当前确定性策略和保留更多近期消息的候选策略。默认值只能根据恢复正确性、任务成功率、token 和延迟共同决定,不能只追求更小上下文。

7. 验证与停止条件

运行模块清单中的测试,再运行 npm run check:modulesnpm run docs:audit 和仓库完整门禁。出现工作区逃逸、秘密进入预览、关键错误结尾丢失、摘要缺少未完成任务或缓存虚报时,立即停止交付。

{{ theme.lastUpdated?.text || theme.lastUpdatedText || 'Last updated' }}:

Released under the MIT License.