第七讲 — 5专家视角预判
L01 > L02 > L03 > L04 > L05 > L06 | [ L07 ] L08 > L09 > L10 > L11 > L12
"一个人的盲点,是另一个人的明显问题。" — 五个独立视角比一个全能视角更可靠。
本讲核心:
/autoresearch:predict如何用冷启动独立分析防止群体思维,以及为什么"少数意见"往往是最有价值的输出。
代码示例:code/
配套项目:项目四 — 架构决策辩论
问题
大多数预先分析受到视角单一化困扰:一个人(或一个 AI 角色)从习惯角度评估变更。安全工程师看安全风险,性能工程师看延迟风险——但他们很少同时审视同一个变更。
结果:团队对有缺陷的方案达成共识,因为没有人从其他角度检验。
解决方案
待分析的变更/决策
|
v
+-------+-------+-------+-------+-------+
| 架构师 | 安全 | 性能 | 可靠 | 魔鬼 |
| | 分析师 | 工程 | 工程 | 代言 |
| 系统 | 威胁 | 复杂 | 故障 | 人 |
| 设计 | 模型 | 度/ | 模式 | 反驳 |
| 耦合 | 攻击 | 内存 | 爆炸 | 假设 |
+-------+-------+-------+-------+-------+
各自独立分析,互不可见(冷启动)
|
v
合成阶段
寻找分歧,不求共识
|
+----+----+
| |
4/5同意 仅1个提出
(高置信) (少数意见)← 最有价值
|
两个矛盾
(未解决张力)← 标记给人工决策工作原理
5 个专家角色,各有专属视角
| 角色 | 分析重点 |
|---|---|
| 架构师 | 系统设计、耦合、未来可扩展性 |
| 安全分析师 | 威胁建模、攻击面、信任边界 |
| 性能工程师 | 计算复杂度、内存分配、高负载行为 |
| 可靠性工程师 | 故障模式、优雅降级、爆炸半径 |
| 魔鬼代言人 | 反驳最可能错误的假设、提出更简单的替代方案 |
冷启动独立分析
# 每个角色是一个全新的 agent 调用
# 不看其他角色的输出
# 防止锚定效应:第一个分析不会影响后续分析
# 防止从众:不会因为"其他人都这么说"而同意合成阶段:寻找分歧
4/5 同意的发现 → 高置信度共识,可直接行动
仅 1 个提出 → 少数意见,最有价值,往往捕捉共识遗漏的信息
两个角色直接矛盾 → 未解决张力,标记给人工决策,不掩盖链式到行动
bash
/autoresearch:predict # 分析风险
/autoresearch:predict --chain debug # 发现导入调试假设列表
/autoresearch:predict --chain security # 发现导入安全审计
/autoresearch:predict --chain fix # 发现导入修复优先级变更内容
| 方式 | 单视角分析 | 5专家独立分析 |
|---|---|---|
| 盲点 | 取决于分析者背景 | 被互补视角覆盖 |
| 群体思维 | 容易发生 | 冷启动防止 |
| 少数意见 | 被忽略 | 明确标记 |
| 不确定性 | 被掩盖 | 标记为"未解决张力" |
试一试
运行五专家预判,观察不同视角如何发现不同问题:
sh
cd docs/zh/lectures/lecture-07-five-expert-predict/code
python five_expert_predict.py思考题:
- 找到输出中的"少数意见"。它捕捉到了什么其他角色没注意到的问题?
- 有没有两个角色直接矛盾的地方?矛盾的核心是什么?
- 如果五个角色都同意某个风险,你的置信度是多少?如果只有一个,呢?
- 在你即将做的一个决策上,哪个角色的视角是你平时最容易忽略的?
最适合使用 predict 的场景:大型重构前、合并大型 PR 前、生产部署前。
下一讲:第八讲 — 对抗性精炼