数学11 分钟阅读大约 8 小时前
08贝叶斯更新 · Bayesian Update
概率论 · 用于动态调整对 Claude 能力的判断
08
贝叶斯更新 · Bayesian Update
概率论 · 用于动态调整对 Claude 能力的判断
核心公式
P(H|E) = P(E|H) · P(H) / P(E)
H = 假设(Claude 能/不能做某件事)
E = 证据(实际观测到的输出)
先验 P(H):做这件事之前,你对 Claude 能力的估计
似然 P(E|H):如果假设成立,观测到这个证据的概率
后验 P(H|E):看到证据后,更新的能力判断
关键直觉:不要用单次失败/成功来彻底改变判断。要积累证据,逐步更新。
Claude Code 场景 — 能力边界探测
真实场景
你不确定 Claude 能否在大型代码库里找到隐藏的 bug。第一次尝试失败了——这是否意味着它完全做不到?贝叶斯框架告诉你怎么更新判断。
| 先验(你的预期) | 证据(观测结果) | 后验(更新后的判断) |
|---|---|---|
| Claude 能处理这类任务(70%) | 成功了 3/3 次 | 提升到 ~92%,可以信任 |
| Claude 能处理这类任务(70%) | 失败了 1 次 | 降到 ~55%,再测 2-3 次再决策 |
| Claude 能处理这类任务(70%) | 失败了 3/3 次 | 降到 ~28%,考虑换方案 |
| 不确定(50%) | 成功 1 次,失败 1 次 | 仍然 ~50%,需要更多证据 |
代码模式 — Capability Probe
capability-probe.ts
Claude Code 评估脚本
// 贝叶斯能力探测:用小样本测试更新对 Claude 的能力判断 class CapabilityBayes { private prior: number; // 初始估计 0-1 private successes = 0; private trials = 0; constructor(prior = 0.5) { this.prior = prior; } // Beta-Binomial 更新(贝叶斯最简实现) update(success: boolean): void { this.trials++; if (success) this.successes++; } posterior(): number { // α = prior × 10(等效先验样本),β = (1-prior) × 10 const alpha = this.prior * 10 + this.successes; const beta = (1 - this.prior) * 10 + (this.trials - this.successes); return alpha / (alpha + beta); } decision(): 'trust' | 'uncertain' | 'fallback' { const p = this.posterior(); if (p > 0.8) return 'trust'; // 可以依赖 if (p > 0.4) return 'uncertain'; // 需要更多测试 return 'fallback'; // 换方案 } } // 用法:评估 Claude 是否能可靠完成某类任务 const probe = new CapabilityBayes(0.6); // 先验 60% for (const testCase of testCases) { const result = await claudeAgent.run(testCase); probe.update(evaluate(result, testCase.expected)); console.log(`后验: ${(probe.posterior() * 100).toFixed(0)}% | 决策: ${probe.decision()}`); if (probe.decision() !== 'uncertain') break; // 有了足够证据就停 } // trust → 部署;uncertain → 继续测;fallback → 换模型/换策略
⚠ 反模式
用单次测试结论化判断 Claude 的能力。"试了一次,不行,Claude 做不到这个。" 这是点估计,不是概率估计。单次失败只是一个数据点,会把 70% 的先验更新到 55%,不是 0%。
判断需要多少次测试
- 先验强(90%+):失败 3 次才触发重新评估
- 先验中(50-70%):5 次混合结果就能给出明确方向
- 先验弱(<30%):成功 2-3 次即可提升信心
- 规则:后验超过 80% 或低于 20%,才算有足够证据做决策
拿走就能用 — 粘贴进你的 CLAUDE.md
CLAUDE.md
能力评估规则
## Claude 能力评估规则(贝叶斯原则)
### 禁止单次定论
- 1 次失败 ≠ "Claude 做不到"
- 1 次成功 ≠ "Claude 可以可靠依赖"
- 需要 3-5 次测试,再决策
### 评估触发条件
- 新类型任务:先跑 3 个样本测试,再集成到主流程
- 质量波动大:增加测试次数,确认是偶然还是系统性
### 决策阈值
- >80% 成功率(3+ 次测试)→ 可以依赖
- 40-80%:继续测,或加 retry 逻辑
- <40% → 换策略:改 prompt、换模型、或人工介入