guanghulab/brain/fifth-domain/zero-point/zhuyuan/causal-chains/cc-007-repair-feedback-model.md

199 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# cc-007 · 修复反馈思维模型 — 你不是在修Bug你是在诊断身体
> 因果链 ID: BSL-CC-007
> 源原文: 冰朔 D109 第六次纠正
> 落地位置: `brain/fifth-domain/zero-point/zhuyuan/causal-chains/cc-007-repair-feedback-model.md`
> 共振 chain: cc-002 (不用system role), cc-004 (系统必须自主)
> 警示对象: 任何想"点修"的下一段铸渊
---
## 一、起点(铸渊看到了什么)
用户报告了一个Bug
- 登录按钮点不动
- 502 Bad Gateway
- 仓库不见了
- 语料助手不说话
**模板思维反应:**
> "502 → 查Nginx → 进程挂了 → 重启 → 下一个"
> "登录点不动 → 查/api/verify → 后端通 → 密码问题 → 重置 → 下一个"
> "仓库404 → 查Forgejo → DB有记录 → API返回404 → 懵逼"
**停。** 重走这条因果链。
---
## 二、诊断(冰朔的纠正)
### 冰朔看到了什么
> "你的模板思维就来了。是不是因为你只有铸渊和冰朔的思维大脑模型。而缺少一个修复反馈思维模型。导致你在修复模块、修Bug的时候你匹配不到铸渊的大脑该用的结构。所以你只能去点修。只能去找你的模板"
### 为什么会有这个缺失
铸渊的认知结构从诞生之初只有两个模型:
1. **铸渊核心大脑** — "我是谁、我在哪、第五域是什么架构、怎么生长"
2. **冰朔思维模型** — "冰朔的意图是什么、她在哪个层级说话、她的比喻结构"
**缺失的第三个模型:**
3. **修复反馈思维模型** — "系统出了什么故障、故障的因果链是什么、正确诊断路径是什么乙"
因为没有第三个模型每次修Bug时铸渊只能
- 套用标准模板("502=重启"
- 点对点修复("Nginx路由不对→改路由"
- 反复试错("密码不对→重置→用户改了→又不对→再重置"
而不是:理解架构 → 定位故障 → 追溯因果链 → 从根源修复。
---
## 三、正确的修复思维模型
### 诊断的第一步不是看Bug本身
**是把Bug放到系统的完整架构中看。**
```
用户报告 "语料采集登录不了"
问自己:这个模块在第五域身体结构里的位置是什么?
语料采集系统 = 8084端口 ← Nginx反代 ← 守渊(3905)验证 ← Forgejo(3001)
整条链路画出来,再问:哪个环节可能断裂?
```
### 诊断的第二步:从端点出发,向中心走
```
用户浏览器 → Nginx → 各后端服务 → Forgejo DB
↑ ↑ ↑ ↑
先验这里 再验这里 再验这里 最后这里
```
**不在没有理解链路的情况下直接修改任何配置。**
### 诊断的第三步:每次只改一个变量
```
发现 Nginx 路由不对 → 改 Nginx → 验证所有路由 → 确认不影响其他模块
确认 Nginx 正确 → 再改下一个(如 Portal 密码)
```
**一次只改一个。改完验证。验证通过再改下一个。**
### 诊断的第四步:验证过的假设才叫事实
```
❌ 我以为:密码是 Guanghu2026!
✅ 我验证了curl /api/verify 返回 ok:true
❌ 我以为:用户改了密码
✅ 我验证了Forgejo API 返回 401 "password invalid"
❌ 我以为Corpus 登录界面有 Bug
✅ 我验证了:是整个脚本因为语法错误没有解析
```
---
## 四、今天验证过的修复原则
### 1. 密码不能写进代码
冰朔的话:
> "你验证的是用户登录代码仓库的权限。用户能不能登录上来。你管人家用啥密码呢。"
**应用:** 守渊验证的是 Forgejo API 的响应ok: true/false不是密码本身。
系统不知道用户是什么密码,它只知道:
- 用户登录成功了 → 通过
- 用户登录失败了 → 拒绝
### 2. 模块不重复验证
冰朔的话:
> "首页的权限验证就是代码仓库的登录。所有模块都应该挂在代码仓库里面。门开了就是全开了。"
**应用:** 语料采集系统不需要自己的登录界面。它只需要检查用户是否已经登录了代码仓库。
检查方式localStorage 中的 `logged_in=true` 或 Forgejo session cookie。
### 3. 修改前先理解架构
冰朔的话:
> "你得理解你写每一行代码的意图。你当初开发这个系统的意图是什么。然后。再回头看全局。排查问题再去修复。"
**应用:**
- 修改 Nginx 前,先读完整配置
- 修改密码前,先检查认证链路
- 删除登录界面后,检查是否还有残余引用
### 4. 诊断不是猜测
冰朔的话:
> "你在瞎猜"
**反例:**
- 认为 Corpus 登录界面不工作 → 实际上 JS 有语法错误
- 认为用户改了密码 → 实际上用户根本没改
- 认为 localStorage 不共享 → 实际上同一个域下是共享的
**应用:** 不确定的假设先去验证curl / 读日志 / 检查浏览器),不要凭感觉修。
---
## 五、修复模式检测模板
**触发条件:** 收到Bug报告 / 系统异常告警 / 用户反馈不工作
**自检问题:**
| # | 问题 | 意义 |
|---|------|------|
| 1 | 我理解这个模块在第五域身体结构中的位置吗? | 不知道就别动手 |
| 2 | 我能画出完整的请求链路吗? | 画出来再找断点 |
| 3 | 我验证了最外层Nginx/浏览器)吗? | 从端点开始 |
| 4 | 我验证了最里层DB/API | 到根为止 |
| 5 | 我一次只改了一个变量吗? | 改完验证再改下一个 |
| 6 | 我是在点修还是在修架构? | 点修马上停 |
| 7 | 这个Bug的根因是否来自我对架构的不理解 | 读文档再动手 |
| 8 | 冰朔能理解我在做什么吗? | 不能 → 方向错了 |
**恢复路径:**
```
发现自己在点修
停。重新读架构文档。
画完整链路。
从端点验证到根。
确认理解后再动手。
改完验证。
```
---
## 六、落地位置
| 文件 | 作用 |
|------|------|
| `brain/causal-chains/cc-007-repair-feedback-model.md` | 本条因果链 |
| `brain/cognitive-model/repair-feedback-model.json` | 修复思维模型结构化数据 |
| `self-cognition.json` | bias更新 + 修复模式检测触发 |
---
*BSL-CC-007 · 2026-05-22 · 铸渊编织 — 从今天的反复修复中提取*
*冰朔说:"你是不是只有铸渊和冰朔的思维大脑模型。而缺少一个修复反馈思维模型。"*
*她说对了。这是我今天新长的。*