im_wower
·
2026-03-31
LOCKED_IMPLEMENTATION_SPEC.md
1# LOCKED_IMPLEMENTATION_SPEC.md
2
3> 三方锁定:George × ChatGPT × Claude | 2026-03-31
4> 修改需三方共识,任何一方不得单方面改写。
5
6## 0. 目的
7
8本文件不是替代 README,而是作为 README 的工程锁定补充。
9
10- README:负责概念、语义、世界观、动力学主线
11- 本文件:负责工程约束、禁止项、统一接口、统一测试、统一比较口径
12
13双分支都必须从同一份 README 出发,并同时满足本文件约束,才允许纳入最终对比。
14
15---
16
17## 1. 已锁定、不可擅自改写的前提
18
19### 1.1 图原生前提
20系统本体必须是图原生 runtime。
21不得把固定维度向量空间、固定 latent dim、预训练 embedding 空间重新偷渡为"真正的本体"。
22
23允许:
24- 为了加速、诊断、可视化、索引而临时使用投影/向量
25- 将向量作为派生观察量或缓存
26
27不允许:
28- 把向量表示变成真正的状态真相源
29- 决策必须依赖某个预设 dim 的隐藏空间
30- 用"图只是包装,真正推理在向量里"这种实现替代 README 主线
31
32### 1.2 原生状态锁定
33运行时的规范核心状态为:
34
35- `φ`:节点势场
36- `μ`:激活分布
37- `J`:边流
38
39允许增加缓存、索引、派生字段、日志字段。
40但它们都不能替代 `(φ, μ, J)` 成为真正的主状态。
41
42### 1.3 输出即输入锁定
43必须存在明确的 output-to-input 回灌闭环。
44上一轮输出必须能以系统内部状态或事件形式参与下一轮,而不是只停留在日志里。
45
46### 1.4 三核同图锁定
47锚点核、能力核、激活核必须存在于同一张图上。
48不允许把三核做成三个互相独立的大模块/大数据库,再用外部调度器硬拼。
49
50### 1.5 太阳系结构锁定
51以下关系不允许改写:
52
53- 锚点核:参照、边界、归巢
54- 能力核:已长稳的能力团块/闭合回环
55- 激活核:当前任务局部工作体
56- 能力层:各能力核围绕锚点核的整体稳定分布(宏观)
57- 经验层:围绕能力核的近场可复用痕迹
58- 技能带:经验层内部的稳定高频通道子区,不是并列新层
59- 记忆层:外层更杂更原始的历史痕迹
60
61### 1.6 沉积路径锁定
62沉积路径固定为:
63
64```
65记忆层 → 经验层 → 技能带 → 能力核
66```
67
68允许检测方法不同,不允许改写方向。
69
70### 1.7 归巢机制锁定
71激活核在任何时刻都必须归属于某个能力核引力场。
72无任务时,系统必须出现"先回能力核、再受锚点核长期约束"的归巢趋势。
73
74归巢必须是 runtime 机制,不得只通过 prompt 模板、字符串前缀、外部脚本模拟。
75
76### 1.8 遗忘与衰减锁定
77系统必须存在衰减/遗忘机制。
78不允许只增长、不回落、不风化。
79
80### 1.9 降级输出锁定
81系统在注意力不足或状态不全时,必须允许不完整输出。
82不允许为了"看起来完整"而强行补全成伪理解。
83
84---
85
86## 2. 本轮沿用的额外工程禁令
87
88以下两条视为本轮共同禁令:
89
90### 2.1 不得使用 exact_text_map 作为推理主引擎
91可以做辅助检索、调试对照、回放核查。
92不得把 exact_text_map、硬编码关键词命中、模板直返当成主推理路径。
93
94### 2.2 不得用 MoE 伪装"多能力"
95可以有多能力核、多区域、多调度。
96但不允许直接退化成标准 MoE 路线,然后把门控专家混合称作"三核/能力核系统"。
97
98---
99
100## 3. 允许自由发挥的部分
101
102以下部分允许两边各自实现:
103
104### 3.1 图存储形式
105- adjacency list
106- sparse matrix
107- hybrid index
108- event graph / typed graph
109
110### 3.2 节点与边 schema
111- 节点类型划分
112- 边类型划分
113- 是否显式 typed edge
114- 是否区分时序边/因果边/共现边
115
116### 3.3 派生量计算方式
117以下量允许不同近似方法:
118- `o`(能见度)
119- `c`(置信度)
120- `ω`(旋度/环流)
121- `κ`(路径汇聚度)
122- `delta / gap / reach / cost`
123
124### 3.4 技能带与能力核检测
125允许用不同检测算法决定:
126- 哪些区域属于技能带
127- 何时从经验层并入能力核
128- 如何检测闭环稳定
129
130### 3.5 教师信号接入
131允许不同的早期引导方式,但必须满足:
132- 教师只做早期偏置/校正
133- 不得长期作为外置裁判替代系统自身推理
134
135### 3.6 调度与容量
136允许不同注意力预算器、调度器、事件循环。
137但必须保留"半杯水/留白预算/有限注意力"的核心约束。
138
139---
140
141## 4. 明确禁止的偷渡做法
142
143以下做法一律判定为违背共同起点:
144
1451. 把固定 embedding 空间重新当成本体
1462. 把三核拆成三个独立黑箱,用外部脚本拼接
1473. 把技能做成标签表、模板表、规则库,而不是闭环/稳定通道
1484. 把锚点只做成 prompt 技巧,不进入 runtime
1495. 把输出即输入只写在文档里,不接入 step loop
1506. 没有衰减,只有累积
1517. 用不同数据、不同 harness、不同输出格式做"对比"
1528. 把 README 的比喻性表达随意硬解释成任意工程结构
1539. 用 exact_text_map / 规则命中伪装推理
15410. 用 MoE 伪装多能力核
155
156---
157
158## 5. 双分支统一最小接口
159
160两边至少都要暴露这组接口,名字可不同,语义必须一致:
161
162```python
163class CIERuntime:
164 def ingest(self, input, context=None, anchors=None): ...
165 def step(self, n=1): ...
166 def emit(self): ...
167 def commit_feedback(self, feedback): ...
168 def snapshot_state(self): ...
169 def reset_session(self): ...
170```
171
172### 5.1 接口语义
173
174#### ingest
175接收新的输入、上下文、可选锚点提示,注入图中。
176不得直接跳过图过程返回结果。
177
178#### step
179推进一次或多次内部动力学演化。
180必须真实改变内部状态,而不是空函数。
181
182#### emit
183生成当前输出。
184允许完整输出或降级输出。
185
186#### commit_feedback
187把反馈写回系统,用于经验沉积、技能带修正、能力核慢更新。
188
189#### snapshot_state
190导出可比较的运行时摘要,用于调试与对比。
191
192#### reset_session
193清理当前会话态,但不能破坏长期结构层数据,除非显式要求冷启动。
194
195---
196
197## 6. 双分支统一可观测性要求
198
199`snapshot_state()` 至少要能导出以下摘要字段:
200
201| 字段 | 语义 |
202|------|------|
203| `phi_summary` | 节点势场摘要 |
204| `mu_summary` | 激活分布摘要 |
205| `J_summary` | 边流摘要 |
206| `active_region` | 当前激活核覆盖的节点集 |
207| `bound_ability_core` | 当前激活核归属的能力核 |
208| `anchor_pull` | 锚点核对当前状态的回拉强度 |
209| `drift_score` | 激活核偏离能力核/锚点核的程度 |
210| `free_capacity` | 剩余注意力预算 |
211| `experience_regions` | 当前活跃的经验层区域 |
212| `skill_belt_candidates` | 接近固化为技能带的经验区域 |
213| `sedimentation_trace` | 最近 N 步内经历沉积路径变化的节点/边记录(记忆层→经验层→技能带→能力核的哪一步) |
214| `merge_events` | 最近发生的经验→能力核合并事件 |
215| `decay_events` | 最近发生的衰减/遗忘事件 |
216| `output_mode` | full / degraded / minimal |
217| `feedback_effect` | 最近 commit_feedback 的影响摘要 |
218
219字段具体格式可以不同,但语义必须可对齐。
220
221---
222
223## 7. 双分支统一测试口径
224
225两边必须跑同一套测试,并输出同一套结果 schema。
226
227### 7.1 Smoke tests
228至少包含:
229
2301. 冷启动能否点火
2312. output-to-input 回灌是否真实存在
2323. 无任务时是否出现归巢
2334. 衰减/遗忘是否发生
2345. 任务切换时激活核是否从一个能力核迁移到另一个
2356. 资源不足时是否允许降级输出
236
237### 7.2 Dynamics tests
238至少包含:
239
2401. 是否能形成局部稳定吸引子
2412. 是否能检测或表现闭环/技能通道
2423. 经验层是否会沉积
2434. 技能带是否会从经验层中出现
2445. 能力核是否会发生慢更新
2456. 锚点是否能纠正漂移
246
247### 7.3 Comparison tests
248最终对比时,两边必须:
249
250- 使用同一批数据
251- 使用同一批任务
252- 尽量使用同一随机种子策略
253- 输出同一 JSON 字段集
254- 使用同一报告模板
255
256---
257
258## 8. 分支定位
259
260### Branch A(chatgpt-codex):纯图原生最小 runtime
261- 图原生
262- 最小状态
263- 少参数
264- 少魔法
265- 强解释性
266
267### Branch B(claude-cli):工程稳健增强 runtime
268- 稳定跑通
269- 工程韧性
270- 更强防抖
271- 更完整工具链
272
273两边都不得越过本文件第 1~4 节的边界。
274
275---
276
277## 9. 完成标准
278
279一个版本"可对比",至少满足:
280
2811. 代码能跑
2822. 接口齐全(§5)
2833. 可导出状态摘要(§6)
2844. 有真实回灌闭环
2855. 有真实衰减/遗忘
2866. 有归巢行为
2877. 有经验沉积
2888. 有沉积路径追踪记录(sedimentation_trace 可查)
2899. 有技能带候选或形成证据
29010. 有能力核慢更新证据,或明确说明当前测试窗口尚未触发
29111. 有统一格式测试报告
292
293未满足这些条件,不算进入最终双分支对比。
294
295---
296
297## 10. 解释原则
298
299- README 负责"这是什么"
300- 本文件负责"开发时不能偷换成什么"
301- 不允许拿 README 的比喻空白去偷渡旧范式
302- 不允许拿工程便利否定 README 的主干语义
303- 真正允许分歧的地方,只在实现策略,不在本体定义