从"急诊分诊"看 AI Agent 的超时治理
引子:最认真的评审员,总是迟到
想象你组建了一个专家评审团:功能专家、安全专家、性能分析师、优化顾问,以及一位”现实检验者”——他的任务是不看任何人的脸色,亲自跑一遍整个系统来验证所有结论。
这位现实检验者确实厉害,他能发现别人发现不了的问题,但他有个毛病:每次都最后一个交卷,有时甚至直接缺席。
这正是我们在对抗式解题法(Adversarial Evaluation)系统中遇到的真实困境。五个判别者并行评审同一份交付物,其他四位在 2-3 分钟内给出详细报告,而现实检验者(Reality Checker)动不动跑 10 分钟然后超时。
第一步:诊断——为什么只有他迟到?
| 判别者 | SKILL.md 动作指令数 | 含端到端验证 |
|---|---|---|
| 现实检验者 | 44个 | 是(启动服务、curl 测试) |
| 功能审查者 | 23个 | 否 |
| 安全审查者 | 7个 | 否 |
| 性能基准师 | 4个 | 否 |
| 优化师 | 3个 | 否 |
差距一眼可见:现实检验者的动作指令数是其他判别者的 2-11 倍。
原因在它的工作流设计上——它不仅仅做静态代码分析,还要求:
- 启动 Web 服务,用 curl 做端到端验证
- 交叉比对 ROADMAP 的每条收敛标准
- 对比 OpenAPI 文档与实际路由的一致性
- 验证前端的请求体字段与后端解构是否匹配
每一项都是实打实的系统调用,加起来轻松吃掉 300-500 秒。而子代理的超时上限只有 600 秒——一旦遇到大项目,它几乎必然超时。
问题本质:我们对所有评审者用了”一刀切”的超时限制,但没有区分它们的任务复杂度。这就好比要求急诊医生、门诊医生和体检医生在同样的时间内完成检查。
第二步:思路——急诊分诊台的启示
医院的急诊科有一个关键角色叫分诊台。病人进来先不直接去诊室,而是由分诊护士快速评估:是危重病人(红色)直接进抢救室?还是普通急诊(黄色)排队?或者只是轻微不适(绿色)可以去普通门诊?
这个机制解决了什么?不让有限的急诊资源浪费在不该它处理的事情上。
回到我们的场景:现实检验者之所以慢,是因为它总把自己当成”Full 级别”的全面审计,哪怕被审查的项目只是一个没有 Web 界面的后端工具库。
解决方案就是给 AI Agent 加一个范围预检(Scope Pre-check)——相当于急诊分诊台。
第三步:落地——给 AI Agent 装上”分诊台”
范围预检是一个轻量步骤,在进入重型验证之前快速完成。它只做四件事:
1 | 1. 检查项目类型:有 Web 路由吗? |
基于以上结果,判定检查级别:
| 级别 | 条件 | 耗时 | 做什么 |
|---|---|---|---|
| Light | 后端库/工具,无 Web 组件 | 30-90s | 静态分析 + 轻量验证 |
| Standard | Web 服务,单层架构 | 90-180s | 全量但可选择跳过耗时项 |
| Full | 全栈项目,含前端+API+文档 | 180-480s+ | 完整工作流,重型验证委派后台 |
关键代码逻辑:
1 | # 范围预检 — AI 分诊台 |
第四步:架构演进——重型验证的委派模式
即使是 Full 级别的项目,我们也不希望现实检验者把自己跑死。解决方案是 委派模式(Delegation Pattern):
1 | 时间线 (0s → 600s 超时限制) |
核心思想:不让重型验证阻塞主评审流程。就像医院急诊,危重病人送进抢救室后,分诊台继续接待下一位——而不是守着抢救室等结果。
成果:从”经常缺席”到”从不迟到”
改造后的现实检验者:
- 动作指令数从 44 降到 22 — 因为条件指令变成了预检判定,子代理不再无条件执行全部操作
- Light 级别平均耗时 45s — 比改造前快了 10 倍以上
- Full 级别不再超时 — 主进程 120s 内输出评审草稿,重型验证并行完成
- 检查级别透明可追溯 — 每份评审报告开头都标注了”检查级别:Light / Standard / Full”和耗时预估
通用模式:所有 AI Agent 都需要一个”分诊台”
这次改造最大的启示不是”修复了一个超时 bug”,而是发现了 AI Agent 工作流设计中一个被普遍忽视的问题:我们总把 AI Agent 当成”全能的执行者”,交给它的任务清单越长,它就越容易在某个环节卡住。
真实世界的分工智慧告诉我们:不是每个问题都需要全套解决方案。
这个原则可以应用到更多场景:
- 代码审查 Agent:先判断改动的范围(1 个文件 vs 100 个文件),再决定审查深度
- 测试 Agent:先判断是单元测试、集成测试还是端到端测试,再选择测试框架
- 文档生成 Agent:先判断是 API 文档、用户手册还是架构说明,再选择模板
- 数据分析 Agent:先判断数据量级(百行 vs 百万行),再决定是否采样分析
给 AI Agent 设计的第一步,不应该是”做什么”,而应该是”这属于什么级别的问题”。
相关阅读:









