问题

Agent 排查问题(线上 bug、性能异常)时的常见失败模式:看到一个线索就一头扎进去改,改完不对再换一个——东一榔头西一棒子,没有系统性,还常常引入新问题。

核心模式

迭代假设验证:把科学方法编码进 Agent 循环——假设 → 设计实验 → 收集证据 → 更新信念,显式迭代。

hypotheses = [H1("缓存穿透"), H2("慢查询"), H3("连接池耗尽")]

while not resolved and rounds < MAX_ROUNDS:
    # 1. 选当前最可能的假设
    h = rank_by_probability(hypotheses)[0]
    # 2. 设计可证伪的验证实验
    experiment = design_experiment(h)        # 如:查缓存命中率监控
    # 3. 执行并收集证据
    evidence = run(experiment)
    # 4. 贝叶斯式更新:支持则深入,证伪则降权
    update_beliefs(hypotheses, evidence)
    journal.record(h, evidence)              # 全程留痕

与"想到哪查到哪"的本质区别:假设显式列出、实验可证伪、证据全程记录、信念按证据更新。

实战要点

  • 强制"先列全假设再动手":第一轮就穷举可能性,防止锚定在第一个线索上
  • 实验必须只读优先:验证阶段禁止写操作,确诊后才进入修复阶段——多少事故来自"边查边改"
  • 每轮更新假设列表的置信度并记录理由,形成可审计的诊断轨迹
  • 配合失败日记(第 08 讲):被证伪的假设也是有价值的负知识,别让它在下一轮死灰复燃