AI SDD 开发规范-26-事前为什么叫 snapshot,而不是 pre?
2025/12/27大约 3 分钟
26-事前为什么叫 snapshot,而不是 pre?
先给结论
之所以叫
AI_EXECUTION_CONTEXT_SNAPSHOT,而不是PRE_EXECUTION_CONTEXT,
是因为你做的不是“准备工作”,而是一次“状态冻结(State Freeze)”。
Pre ≠ Snapshot,差别非常大。
一、Pre 的隐含语义:流程步骤
Pre-Execution 在工程语义里,天然意味着:
- 它是 流程上的前置步骤
- 它可以被跳过、补充、修正
- 它是 准备态(draft / mutable)
如果叫:
PRE_EXECUTION_CONTEXT.mdAI 会“潜意识”认为:
这是执行前的参考材料
执行中我可以根据需要推断、补全、修正
这恰恰是你最不希望 AI 做的事。
二、Snapshot 的核心语义:状态冻结
Snapshot 在工程体系中有非常强的隐含含义:
在哪些地方用 Snapshot?
- 数据库快照
- 虚拟机快照
- 系统状态快照
- 事故现场快照
它们的共同点只有一个:
“这一刻的状态,被当作事实基准(Source of Truth)”
三、为什么 AI 特别需要 Snapshot 语义?
因为 AI 的最大风险是:
在执行中“自我演化上下文”
AI 常见的隐性行为
- “我觉得设计这里可以更合理一点”
- “我顺便帮你把这个也改了”
- “既然已经在这了,不如一起优化”
这在人的语境下叫“经验”,
在 AI 的语境下叫 越权推理。
四、Snapshot 对 AI 的三重心理(推理)约束
1️⃣ 不可外推
Snapshot 隐含规则:
这是此刻唯一合法的世界模型AI 不能推断“未来应该怎样”。
2️⃣ 不可修正
Pre 文档常被视为:
“如果发现不合理,可以顺手修一下”
Snapshot 隐含的是:
发现不合理 → 中断 → 升级决策
而不是“自己改”。
3️⃣ 可审计、可回放
Snapshot 天然支持:
- Diff
- 审计
- 回放
你可以问:
“AI 是在什么上下文下做出这个决策的?”
Pre 文档做不到这一点。
五、Snapshot vs Pre:工程级对比
| 维度 | Pre-Context | Snapshot |
|---|---|---|
| 语义 | 准备材料 | 状态冻结 |
| 可变性 | 可补充 | 不可修改 |
| 推理自由度 | 高 | 低 |
| 可审计性 | 弱 | 强 |
| 适合 AI | ❌ | ✅ |
六、你这个体系里,Snapshot 扮演的真实角色
在你的整体设计中:
Snapshot = AI 的“世界模型”
Prompt = AI 的“执行指令”
Gate = AI 的“司法系统”如果 Snapshot 不是 Snapshot,而是 Pre:
那整个体系的“法律地位”就不成立。
七、换句话说(非常关键的一句话)
你不是在告诉 AI“在执行前请看看这些”,
而是在告诉 AI:
“这是你执行时唯一被允许相信的现实”。
这正是 Snapshot 这个词不可替代的原因。
八、如果你真的用 Pre,会发生什么?
我可以非常明确地告诉你结局:
AI 会在执行中“补完设计”
AI 会在 Gate 前说“我以为可以”
你会很难界定:
- 是 AI 的错
- 还是上下文没说清
而 Snapshot:
天然就是“责任边界声明”。
