|
| 1 | +# 为什么 Bayesian-Agent 要用贝叶斯建模 Skill 进化 |
| 2 | + |
| 3 | +> 其实目前方法的本质也还是根据执行轨迹,看错哪里了去针对性地改 Skill。那么,我们采用贝叶斯方式建模这个过程的优势在哪里?贝叶斯对比频率学派的核心优势,在 Bayesian-Agent 框架下体现出来了吗? |
| 4 | +
|
| 5 | +这是一个很重要的问题。因为如果一个方法最后只是“错了就 patch”,那它不需要叫 Bayesian。它最多是 failure-driven prompt repair。 |
| 6 | + |
| 7 | +Bayesian-Agent 的核心主张不是“贝叶斯让 Skill 自动神奇变好”,而是: |
| 8 | + |
| 9 | +**Agent 每跑一个 case 都很贵:tokens 贵、latency 高、benchmark case 少、真实业务失败更少。在样本少、每个样本很贵、不能等到大样本统计稳定时,贝叶斯可以把先验、不确定性和新证据统一起来,做更稳健的决策。** |
| 10 | + |
| 11 | +也就是说,贝叶斯在这里解决的不是“如何写一句更强的 prompt”,而是“在稀疏、昂贵、连续到来的 verified trajectories 里,如何决定一条 Skill 是否可信、是否该改、怎么改、何时压缩或废弃”。 |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | +## 一、先承认:表层动作确实是看轨迹改 Skill |
| 16 | + |
| 17 | +Bayesian-Agent 的外在行为可以被简单描述成: |
| 18 | + |
| 19 | +```text |
| 20 | +Run task -> Verify result -> Inspect failure -> Update Skill/SOP -> Run next task |
| 21 | +``` |
| 22 | + |
| 23 | +这和很多 self-improving agent、prompt repair、SOP refinement 方法看起来很像。 |
| 24 | + |
| 25 | +例如在 SOP-Bench 中,如果 agent 算出了正确决策,但没有把目标 CSV 行的 `expected_output` 写成非空值,那么系统会把它归类为: |
| 26 | + |
| 27 | +```text |
| 28 | +failure_mode = left_expected_output_blank |
| 29 | +``` |
| 30 | + |
| 31 | +如果这种失败重复出现,就会生成类似这样的 patch: |
| 32 | + |
| 33 | +```text |
| 34 | +After writing, re-read test_set_with_outputs.csv and confirm the target row's expected_output is non-empty. |
| 35 | +If the target cell is empty, write the computed raw category string before finishing. |
| 36 | +``` |
| 37 | + |
| 38 | +所以,表层上看,它确实是在“看错哪里,然后针对性改 Skill”。 |
| 39 | + |
| 40 | +区别在于:普通 repair 只留下了一个 patch,而 Bayesian-Agent 还留下了一份可持续更新的 belief state。 |
| 41 | + |
| 42 | +## 二、频率学派式 repair 的问题:小样本下太容易极端 |
| 43 | + |
| 44 | +最朴素的频率估计是: |
| 45 | + |
| 46 | +```text |
| 47 | +success_rate = success_count / total_count |
| 48 | +``` |
| 49 | + |
| 50 | +如果一条 Skill 第一次运行成功: |
| 51 | + |
| 52 | +```text |
| 53 | +success_rate = 1 / 1 = 100% |
| 54 | +``` |
| 55 | + |
| 56 | +如果第一次运行失败: |
| 57 | + |
| 58 | +```text |
| 59 | +success_rate = 0 / 1 = 0% |
| 60 | +``` |
| 61 | + |
| 62 | +这在大样本、稳定分布下没有问题。但 Agent Skill 进化往往不是这种环境。 |
| 63 | + |
| 64 | +现实里更常见的是: |
| 65 | + |
| 66 | +- 一个 benchmark 只有几十个 case。 |
| 67 | +- 真实业务中的失败案例更少,而且很珍贵。 |
| 68 | +- 每次 agent 执行都要花 token、工具时间和等待成本。 |
| 69 | +- 同一个 failure mode 可能只出现一两次,但已经足够提示一个可复用教训。 |
| 70 | +- LLM agent 有随机性,一次成功不代表 Skill 稳定,一次失败也不代表 Skill 完全无效。 |
| 71 | + |
| 72 | +在这种场景下,如果只用频率计数,很容易出现两种错误: |
| 73 | + |
| 74 | +| 小样本观测 | 频率式结论 | 问题 | |
| 75 | +|---|---|---| |
| 76 | +| 1 次成功 | 成功率 100% | 过度自信,可能过早压缩或固化 Skill。 | |
| 77 | +| 1 次失败 | 成功率 0% | 过度悲观,可能过早废弃或过拟合 patch。 | |
| 78 | +| 1 次罕见失败 | 立即 patch | 容易把偶然噪声写进 Skill。 | |
| 79 | +| 2 次同类失败 | 只是计数 +2 | 没有表达“失败正在聚类”的不确定性变化。 | |
| 80 | + |
| 81 | +频率学派当然也可以加平滑、阈值和置信区间。但一旦我们开始说“不要因为一次失败就过度反应”“要保留先验”“要表达不确定性”“要根据 evidence 更新 belief”,我们其实已经在靠近贝叶斯思想。 |
| 82 | + |
| 83 | +## 三、贝叶斯带来的第一个优势:先验让小样本不极端 |
| 84 | + |
| 85 | +在 Bayesian-Agent 中,最简单的可选 backend 是 Beta-Bernoulli posterior。 |
| 86 | + |
| 87 | +设一条 Skill `h` 的真实成功概率是 `p_h`: |
| 88 | + |
| 89 | +```text |
| 90 | +p_h ~ Beta(alpha_0, beta_0) |
| 91 | +``` |
| 92 | + |
| 93 | +当观察到 `s_h` 次成功和 `f_h` 次失败后: |
| 94 | + |
| 95 | +```text |
| 96 | +p_h | D_h ~ Beta(alpha_0 + s_h, beta_0 + f_h) |
| 97 | +``` |
| 98 | + |
| 99 | +后验均值是: |
| 100 | + |
| 101 | +```text |
| 102 | +E[p_h | D_h] |
| 103 | += (alpha_0 + s_h) / (alpha_0 + beta_0 + s_h + f_h) |
| 104 | +``` |
| 105 | + |
| 106 | +如果用一个均匀先验: |
| 107 | + |
| 108 | +```text |
| 109 | +alpha_0 = 1 |
| 110 | +beta_0 = 1 |
| 111 | +``` |
| 112 | + |
| 113 | +那么一次成功后: |
| 114 | + |
| 115 | +```text |
| 116 | +E[p_h | D_h] = (1 + 1) / (1 + 1 + 1) = 2/3 = 66.7% |
| 117 | +``` |
| 118 | + |
| 119 | +一次失败后: |
| 120 | + |
| 121 | +```text |
| 122 | +E[p_h | D_h] = 1 / 3 = 33.3% |
| 123 | +``` |
| 124 | + |
| 125 | +这和频率估计的 `100%` 或 `0%` 很不一样。 |
| 126 | + |
| 127 | +贝叶斯不是不相信新证据,而是不让单个样本把 belief 推到极端。这正适合 agent skill evolution,因为一次 trajectory 往往既昂贵,又带噪声。 |
| 128 | + |
| 129 | +## 四、贝叶斯带来的第二个优势:不只看成功率,还看“在什么条件下成功” |
| 130 | + |
| 131 | +只用 Beta-Bernoulli 还不够。因为 Skill 的可靠性通常不是一个全局数值。 |
| 132 | + |
| 133 | +一条 Skill 可能在 SOP-Bench 里很好,但在 Lifelong AgentBench 里不行。也可能在低 token 任务上很好,但在高 token、长 turn、慢工具路径里变得不可靠。 |
| 134 | + |
| 135 | +所以 Bayesian-Agent v0.5 默认使用的是 feature-conditioned categorical Bayesian Evidence Model。 |
| 136 | + |
| 137 | +对一条 Skill hypothesis `h_k`,每条执行轨迹会形成一条 evidence: |
| 138 | + |
| 139 | +```text |
| 140 | +D_k = {(x_i, y_i)} |
| 141 | +``` |
| 142 | + |
| 143 | +其中: |
| 144 | + |
| 145 | +```text |
| 146 | +y_i in {success, failure} |
| 147 | +x_i = trajectory evidence features |
| 148 | +``` |
| 149 | + |
| 150 | +当前实现里的 `x_i` 包括: |
| 151 | + |
| 152 | +| Evidence feature | 含义 | |
| 153 | +|---|---| |
| 154 | +| `context` | 任务族、benchmark 或 harness 场景。 | |
| 155 | +| `failure_mode` | 可复用的错误模式,比如 `left_expected_output_blank`。 | |
| 156 | +| `token_bucket` | 本次执行落在哪个 token 成本区间。 | |
| 157 | +| `turn_bucket` | 本次执行用了多少交互轮次。 | |
| 158 | +| `latency_bucket` | 本次执行耗时落在哪个延迟区间。 | |
| 159 | +| `metadata.*` | harness 或 benchmark 提供的短标量诊断信息。 | |
| 160 | + |
| 161 | +模型估计: |
| 162 | + |
| 163 | +```text |
| 164 | +P(y | h_k, x) ∝ P(y | h_k) * product_j P(x_j | y, h_k) |
| 165 | +``` |
| 166 | + |
| 167 | +这里的 `product_j` 表示对所有 evidence features 连乘。 |
| 168 | + |
| 169 | +这个公式的含义是: |
| 170 | + |
| 171 | +```text |
| 172 | +在 Skill h_k 下, |
| 173 | +如果我观察到某个 context、failure mode、token bucket、turn bucket、latency bucket 和 metadata, |
| 174 | +那么这条轨迹更像 success 还是 failure? |
| 175 | +``` |
| 176 | + |
| 177 | +这比频率计数多了一层关键能力:它不只是问“这条 Skill 总体成功率是多少”,而是问“这条 Skill 在当前证据条件下是否可靠”。 |
| 178 | + |
| 179 | +## 五、贝叶斯带来的第三个优势:把 patch 决策变成 posterior-driven policy |
| 180 | + |
| 181 | +如果没有 belief state,rewrite policy 往往只能写成硬规则: |
| 182 | + |
| 183 | +```text |
| 184 | +失败一次就改 |
| 185 | +失败两次就改 |
| 186 | +成功三次就压缩 |
| 187 | +失败四次就废弃 |
| 188 | +``` |
| 189 | + |
| 190 | +这些规则有用,但缺少解释力。 |
| 191 | + |
| 192 | +Bayesian-Agent 仍然保留了保守阈值,因为 v0.5 的目标是可审计、可实现,而不是把所有东西都包装成复杂推理。但这些阈值不是孤立存在的,它们围绕 posterior belief 工作。 |
| 193 | + |
| 194 | +当前默认 policy 的思想是: |
| 195 | + |
| 196 | +| Policy | 当前含义 | |
| 197 | +|---|---| |
| 198 | +| `explore` | 没有足够 verified evidence,或者 posterior 仍不确定。 | |
| 199 | +| `patch` | 同一 failure mode 至少出现 2 次,说明失败开始聚类。 | |
| 200 | +| `compress` | 观测足够多,且 posterior success 较稳定,可以压缩 Skill 降低 token。 | |
| 201 | +| `split` | 同一 Skill 跨多个 context,可能需要拆分成更细 SOP。 | |
| 202 | +| `retire` | 失败证据足够多,posterior 显示该 Skill 明显不可靠。 | |
| 203 | + |
| 204 | +这样一来,Skill evolution 从: |
| 205 | + |
| 206 | +```text |
| 207 | +错了 -> 改 |
| 208 | +``` |
| 209 | + |
| 210 | +变成: |
| 211 | + |
| 212 | +```text |
| 213 | +观察 trajectory -> 更新 belief -> 判断 uncertainty 和 failure clustering -> 决定 rewrite action |
| 214 | +``` |
| 215 | + |
| 216 | +这就是 Bayesian-Agent 和普通 prompt repair 的本质差异。 |
| 217 | + |
| 218 | +## 六、什么时候我们的方法更适用 |
| 219 | + |
| 220 | +Bayesian-Agent 最适合的不是无限大数据、离线稳定分布,而是 agent 工程里更常见的小样本、高成本、在线更新场景。 |
| 221 | + |
| 222 | +| 场景 | 为什么适合 Bayesian-Agent | |
| 223 | +|---|---| |
| 224 | +| 小样本 benchmark | case 少,不能等频率统计稳定。 | |
| 225 | +| 真实业务失败稀缺 | 每个失败都珍贵,需要最大化 evidence 利用率。 | |
| 226 | +| 每次执行成本高 | token、latency、API、工具调用都贵,不能大量试错。 | |
| 227 | +| failure mode 可复用 | 同类错误可以转化成后续 Skill/SOP patch。 | |
| 228 | +| 需要增量修复已有 Agent | 可以读取 GA、Claude Code 或其他 harness 的失败轨迹,只修失败部分。 | |
| 229 | +| 需要跨 harness 迁移 | posterior 绑定 normalized trajectory evidence,而不是某个框架内部状态。 | |
| 230 | +| 同时关心准确率和效率 | token bucket、turn bucket、latency bucket 都进入 evidence model。 | |
| 231 | +| 任务分布会持续变化 | posterior 可以随新轨迹在线更新,而不是固定一版 prompt。 | |
| 232 | + |
| 233 | +所以更准确的定位是: |
| 234 | + |
| 235 | +```text |
| 236 | +Bayesian-Agent is especially useful for sample-scarce, cost-sensitive, online Skill/SOP evolution. |
| 237 | +``` |
| 238 | + |
| 239 | +中文可以说: |
| 240 | + |
| 241 | +```text |
| 242 | +Bayesian-Agent 特别适合小样本、高成本、可验证、可持续积累经验的 Agent Skill/SOP 进化场景。 |
| 243 | +``` |
| 244 | + |
| 245 | +## 七、什么时候它不一定更好 |
| 246 | + |
| 247 | +贝叶斯不是魔法,也不是所有 Agent 场景都需要 Bayesian-Agent。 |
| 248 | + |
| 249 | +| 场景 | 为什么优势有限 | |
| 250 | +|---|---| |
| 251 | +| 样本极多且分布稳定 | 频率估计已经足够可靠。 | |
| 252 | +| 没有 verifier | 没有可靠 success/failure evidence,posterior 没有根基。 | |
| 253 | +| failure 完全随机 | 如果失败模式不可复用,改 Skill 意义有限。 | |
| 254 | +| 问题需要参数训练 | 应该考虑 fine-tuning、RL 或继续预训练,而不是只改推理环境。 | |
| 255 | +| 一次性任务 | 如果不会遇到相似 case,Skill evolution 的长期收益有限。 | |
| 256 | + |
| 257 | +这也解释了 Bayesian-Agent 的边界:它不是替代预训练、微调或 RL 的参数训练方法,而是补足 inference-time learning 的工程层。 |
| 258 | + |
| 259 | +## 八、这套框架里“贝叶斯”已经体现在哪里 |
| 260 | + |
| 261 | +当前实现中,贝叶斯不是一个口号,而是落在几个具体对象上: |
| 262 | + |
| 263 | +| 组件 | 贝叶斯体现 | |
| 264 | +|---|---| |
| 265 | +| `TrajectoryEvidence` | 把每次 verified run 规范成可更新证据。 | |
| 266 | +| `BayesianSkillRegistry` | 为每条 Skill/SOP 维护 posterior belief state。 | |
| 267 | +| `BetaBernoulliState` | 可选的全局 success/failure posterior。 | |
| 268 | +| `CategoricalBayesState` | 默认 feature-conditioned evidence likelihood。 | |
| 269 | +| `RewritePolicy` | 根据 posterior、failure clustering 和 evidence coverage 决定 rewrite action。 | |
| 270 | +| `skill_evolution` artifacts | 保存每个 task 前后的 Skill context、posterior audit 和 belief snapshot。 | |
| 271 | + |
| 272 | +不过也要诚实说明:v0.5 还不是完整的 Bayesian reasoning system。 |
| 273 | + |
| 274 | +已经实现的是: |
| 275 | + |
| 276 | +```text |
| 277 | +verified trajectory -> Bayesian evidence update -> posterior-driven Skill/SOP evolution |
| 278 | +``` |
| 279 | + |
| 280 | +还在 roadmap 中的是: |
| 281 | + |
| 282 | +```text |
| 283 | +多 Skill hypothesis model selection |
| 284 | +Thompson sampling 式 Skill selection |
| 285 | +Bayesian decision theory 下的 cost-aware rewrite |
| 286 | +层级贝叶斯建模不同 benchmark / harness / task family |
| 287 | +贝叶斯网络建模 failure causality |
| 288 | +``` |
| 289 | + |
| 290 | +这也是我们应该对外准确表述的地方:当前版本已经把“经验修补”推进到了“证据驱动的 posterior belief update”,但不会把它夸大成完整贝叶斯智能体。 |
| 291 | + |
| 292 | +## 九、最终总结 |
| 293 | + |
| 294 | +普通 self-evolving agent 的逻辑是: |
| 295 | + |
| 296 | +```text |
| 297 | +错了就改。 |
| 298 | +``` |
| 299 | + |
| 300 | +Bayesian-Agent 想做的是: |
| 301 | + |
| 302 | +```text |
| 303 | +知道为什么错, |
| 304 | +知道在什么条件下错, |
| 305 | +知道证据够不够支持改, |
| 306 | +知道改完以后 belief 有没有真的变好。 |
| 307 | +``` |
| 308 | + |
| 309 | +频率式 repair 关注的是“出现了几次”。Bayesian-Agent 关注的是: |
| 310 | + |
| 311 | +```text |
| 312 | +在当前证据条件下,这条 Skill 还值得相信吗? |
| 313 | +``` |
| 314 | + |
| 315 | +这就是贝叶斯在 Bayesian-Agent 框架里的核心价值。 |
0 commit comments