Deep Dive · Failure Diagnosis

把 Agent 的失败变成可诊断、可迭代的问题 Turning scattered agent failures into actionable workflow improvements.

在 Deep Agents / Terminal-Bench 项目中,我关注的不是单次任务有没有跑通,而是当 Agent 在复杂 terminal task 中频繁失败时,如何判断失败集中在哪里、为什么失败,以及下一轮应该优化 prompt、tool、环境还是评测流程。

Roadmap

从失败记录到优化动作

这条路线图把人机分工嵌入每一步:系统提供执行与反馈,我负责判断失败是否代表真实模式,并把诊断转成下一轮 workflow 调整。

01

Agent Runs

execution
发生了什么

Agent 在真实 terminal task 中执行任务,生成代码、运行命令、处理报错并产出结果。

AI / 系统做什么

读取任务、操作环境、尝试实现和自检。

我的判断

关注任务目标是否被正确理解,以及执行过程是否偏离验收要求。

02

Verifier Result

outcome
发生了什么

benchmark verifier 判断任务是否通过,但 pass/fail 本身不解释失败原因。

AI / 系统做什么

返回验收结果、测试失败信息或运行异常。

我的判断

不把 fail 当成终点,而是把它作为诊断入口。

03

Failure Sampling

evidence
发生了什么

从失败 runs 中抽取关键轨迹、错误信息、输出产物和 verifier 反馈。

AI / 系统做什么

提供运行轨迹、命令结果、错误输出和工件状态。

我的判断

筛选能代表问题模式的失败案例,避免被单个偶然错误带偏。

04

Human Review

judgment
发生了什么

人工复核失败案例,判断失败发生在模型理解、环境、契约、调试策略还是评测边界。

AI / 系统做什么

暴露可观察证据,但不替代最终归因。

我的判断

建立人工判断标准,避免把环境或评测问题误判成模型能力问题。

05

Failure Diagnosis

taxonomy
发生了什么

将失败归入可比较的类别,例如 contract mismatch、environment failure、debug loop drift、task meaning error。

AI / 系统做什么

辅助整理 evidence pack 和候选诊断标签。

我的判断

把分散失败变成可统计、可复查、可讨论的诊断标签。

06

Optimization Decision

action
发生了什么

根据集中失败类型决定下一轮优化 prompt、tool protocol、environment constraint、post-run check 或 verifier boundary。

AI / 系统做什么

执行修订后的流程并产生下一轮可比较结果。

我的判断

把诊断结果转化为具体 workflow 调整,而不是盲目换模型或继续试错。

Failure → Action Mapping

从失败类型到优化动作

首页不展开过细技术案例,只保留失败类型与下一步动作的对应关系。更具体的 WAL、长时间调试、矩阵形状等案例放在 supporting docs。

Failure type What it means What to change
Contract mismatch 产物看起来对,但路径、格式或接口不符合验收。 加强输出契约和 post-run check。
Environment failure 依赖、权限、限流或环境配置导致任务失败。 隔离环境问题,不误判成模型能力失败。
Debug loop drift Agent 局部修补很多,但没有改变失败策略。 设置停止条件,回到 strategy-level 修正。
Task meaning error 方法合理,但理解错了任务目标。 改任务解析和隐藏约束提取。

Validation + Docs

这套诊断是否可靠?

这些数字不是 leaderboard 成绩,而是用来检查诊断标签与人工判断的一致性。任务通过率快照和更细证据放在详细文档中,不在主页展开。

Did the diagnosis align with human review?

Development88% strict / 92% relaxed
Test70% strict / 75% relaxed

这些结果说明:诊断体系已经能捕捉一部分稳定模式,同时 test gap 也保留了继续细化判断边界的空间。

最大收获:优化 Agent 不是盲目换模型,而是先知道失败属于系统的哪一层。
Key takeaway: improving an agent is not just about switching to a stronger model. It starts with knowing which layer of the system failed.