摘要:Agent 本地跑通,不等于生产可靠。本文给三道闸------架构分层、可观测、人审------把"想"和"做"拆开、给每一步留审计轨迹、把不可逆操作锁在人审之后,并用 ThinkingBox 的静默失败数据说明,为什么不能信 Agent 那句"done"。
你本地把 Agent 跑通了,产品说一句"上生产"。
刚开始挺顺。后来,客户来投诉说数据状态不对。你翻日志,Agent 回得漂漂亮亮:"任务已完成。"
这就是 demo 和生产之间那条沟。前面几篇我写过工具怎么管、边界画在哪、模型怎么路由,那都是在"Agent 怎么干活"里打转。今天换个位置:Agent 进了生产,怎么不让它裸奔。三道闸:架构、可观测、人审。
demo 能跑,不代表生产可靠
你可能会问,本地都跑通了,上线怎么会翻车?
Gartner 有个预测常被引用:到 2027 年底,超过 40% 的代理式 AI 项目会被取消。原因列出来------成本不清、业务价值不明、风控不足。注意,没有一条是"模型不够聪明"。
更朴素的数学在另一边。一个单步正确率 95% 的 Agent,已经算不错了。给它一个二十步的流程:拉工单、查客户、核权益、查三个系统、对账、起草回复、发出去。0.95 的二十次方,约等于 0.36。这个"优秀 Agent"完整跑对这个活的概率,只有三成六。
demo 跑的是 happy path,一次,数据还是你自己挑的。生产跑的是长尾,几千次,还有半夜的脏数据和被气疯的用户。这条沟,填的不是模型能力,是工程纪律。
架构分层:把"想"和"做"拆开
很多 Agent 一上来就把模型推到最前面:模型直接调工具、直接改库、直接发邮件。问题不在于模型不会想,而在于它的"想"和"做"是同一股力------它觉得自己做对了,就真去做了。
把推理层(模型加循环,负责"想")和确定性执行层(工具、权限、状态,负责"做")分开,是治理的第一道闸。
模型只发意图:"把订单改成已发货"。执行层来校验这个意图有没有权限、参数对不对、改完要不要留痕。模型不再直接碰生产资料,它递的是一张工单。
授权能只写在 prompt 里吗?我之前写过 SKILL.md 里写不下授权,根因就在这:prompt 里的"你不可以删库"挡不住一个被注入的指令。要把权限落到工具契约上,每个工具调用带一个最小权限的 token(零信任思路),是"这次调用被授权",不是"这个 Agent 被授权"。

可观测:给 Agent 装一条审计轨迹
Agent 跑飞了,第一反应都是"查日志"。但多数 Agent 的日志只有模型的自言自语和工具返回的片段,串不起来:它到底调了哪个工具、参数是什么、改了哪条记录、改之前什么样。
怎么知道 Agent 到底干了什么?可观测这道闸,是让每一步都留痕。三个东西要抓牢:
- 链路(trace):一次任务里所有工具调用按时间串成一条线,哪步慢、哪步错,一眼定位。
- 状态变更(state diff):重点看"它改了什么",而不只是"它说了什么"。
- 成本(cost):把花销归因到具体任务,而不是摊进一个全局 token 池。
为什么不能信 Agent 那句"done"?微软和 Hugging Face 刚发的 ThinkingBox 给了硬数据:507 个有状态业务流程,每个模型跑 20 次,结果 67.24% 的失败跑完时没有任何工具报错------它是静默失败的,数据库已经脏了,回复还写得理直气壮。这个框架的评分标准就是"以数据库终态为准",而不是看对话文本。你生产里也该这么查:别问 Agent 完没完,去 diff 它留下的状态。
人审:哪些活必须人点头
不是所有活都值得人审,也不是所有活都能放手。把"多自主"落成一张分级表,反而比一句"关键时刻人工确认"管用。
必须人审的:不可逆写操作(打款、删库、对外发邮件)、权限变更、合规敏感动作。这些错一次就要救火,闸门值得设。
可以放手的:只读查询、草稿、内部低频操作。这类你让其自跑,反而把人从疲劳里解放出来。
那审批又防什么?真正要防的不是"该审没审",是"审了等于没审"。微软 2026 红队报告里,人为绕过审批闸门(HITL bypass)是被利用得最频繁的一类弱点------不是被黑客攻破,是审批请求来得太密、给的上下文太少,人变成了一个两秒点一次的自动盖章机。防线很具体:给审批人看完整动作摘要加风险级加下游影响,而不是一个孤零零的"批准/拒绝";再监控审批延迟和通过率,如果某人两秒内通过了 95% 的请求,那道闸已经失效了。

三道闸怎么串成一条线
分开讲是三道闸,落到系统里是一条控制面。
数据面跑业务:Agent 发意图,执行层干活。控制面跑治理:每一次工具调用都过审计、过策略引擎判风险,高风险的自动升级到人工。跑飞了不要让它空转------加熔断(最大步数、成本上限、明确失败态),到点就升人工,而不是卡在那儿烧 token。
这套结构和网络圈的"控制面 / 数据面分离"是同一个思路:业务流别把治理逻辑搅成一团,治理才有地方插手。
不光是写代码的 Agent。客服 Agent 要改工单、财务 Agent 要对账、运维 Agent 要动线上配置------只要它碰到真实数据,逻辑一模一样:谁碰生产数据,谁就得过这三道闸。
Java 后端怎么落地
如果你和我一样是 Java 后端,别把它想得多玄。
- 零信任 token:用 Spring Security 或 Sa-Token,给每个工具调用发一个 scoped token,权限精确到"这一次的这个动作"。
- 审计切面:在所有工具入口统一加一个操作日志切面,记谁、调了什么、改了哪条记录、前后值是多少。
- 终态断言:关键的写操作前,加一条断言测试去 diff 状态,而不是信返回码。
之前聊过 Java 后端的四道门禁(编译、契约、状态、链路),那是质量门。今天这三道闸是治理门------权限、审计、人审。质量门保"代码对",治理门保"动作可控",两样都得有。
最小可行治理清单
- 列清 Agent 能碰的工具和数据,把边界画出来。
- 工具调用全部带最小权限 token,别用"Agent 被授权"糊弄。
- 每步留审计日志:谁、调了什么、改了什么。
- 关键写操作前加终态断言,别信那句"done"。
- 不可逆操作必须人审,且给审批人完整上下文,别让他当盖章机。
- 上线前每个流程跑至少 10 到 20 次重复评测,看 20/20 的全过率,覆盖所有可能,而不是一次通过率。
Agent 能不能进生产,不取决于它有多聪明,取决于你给它装了几道闸。
参考资料
- Microsoft & Hugging Face. microsoft/thinkingbox。
- Shunyu Yao 等. τ-bench (2024-06). 最早提出 pass^k 指标并以数据库状态评分,是 ThinkingBox 的方法前作。
- Microsoft AI Red Team. 2026 Agent Failure Taxonomy.
- Gartner. 代理式 AI 项目预测:逾 40% 将于 2027 年底前被取消,主因为成本、价值与风控。
- Beyond the Leaderboard (2026-07). 多个综述文献、基准,将 agent 失败聚为工具调用、规划、长程退化、多体协调、安全、评测有效性六类。
作者:唐悦玮 | 从后端出发,用 AI 拓展到全栈的工程师。