审批界面正在批量制造"仪式性同意"。信息铺得越满,审批反而越空心——人不是不负责,是界面没给他能下判断的东西。这周最值得说的判断是:默认视图只给 diff 和风险提示,推理过程折叠起来,等出事再查。
全展开的推理过程,等于没审
先说观察。我给 agent 配审批界面的第一版,恨不得把每一步思考都摊开:调了什么工具、读了哪个文件、为什么选 A 不选 B。满屏都是字。结果呢?审批人一屏滚不完,拉到底点通过,偶尔回来瞄一眼第一行。
我不觉得这能怪人懒。这是界面在教人偷懒——信息多到无法消化,折衷方案就是不看。
From Code Review to Code Critique 讲的是代码审查,但结论能平移。它说现成的 AI 审查工具"过度关注风格和最佳实践这类低价值建议,低估了人类审查者最在意的正确性、安全和性能"。审查被噪点淹没。审批被过程细节淹没——同一个病。
Diff 是底线,不是全部
那该给什么?结构化 diff,加一句风险提示。改前什么样、改后什么样,对齐摆出来。就像 review PR,你看 diff 做判断,不是去读作者写代码时的思路。
ExtractBench 有个提法我挺喜欢:提取结果要带 source evidence 作为 grounding metadata。关键词是 metadata——证据是元数据,不是正文。审批界面同理:agent 引了哪份文档、哪个字段,做成可点击的出处,而不是铺满屏幕的引用列表。
风险提示才是关键句。它不是复述操作,是下判断:"涉及金额"、"触碰 PII"、"不可逆"、"依赖外部未验证输入"。一屏最多两三行。审批人没多少耐心,你给他几秒能看完的关键信息,他才会真看。
不给推理,出事没法追
但完全不给推理过程,我也踩过坑。有次 agent 批量改数据,错了一片。界面只显示"旧值→新值",没有为什么。我对着 diff 猜了半天:是模型理解错了需求?是数据源本身脏?还是 prompt 里条件写反了?——没法判断。
Handbook.md 本周的发现是:长的政策文档并不能可靠地约束 agent 行为。反过来读也成立:你没法靠"把推理全写出来"让审批人可靠履职。但不留痕迹,等于把调试能力一起删了。
所以问题不是给不给推理,而是放在哪一层。默认视图:diff 加风险提示,一眼能看完。推理折叠起来,点"为什么"才展开——工具调用链、每一步的输入输出、来源文件,全在。平时不打扰,出事能追责。这不是妥协,是分层:默认层服务判断,展开层服务调试。
三条原则,够用
按我现在看,审批界面就三条:
默认只展示"这一步会改变什么"。改了什么、影响到谁、风险在哪,一屏放完。
推理可展开,但默认折叠。展开是为了分清"模型错了"还是"数据错了",不是为了事前通读。
风险提示要分类,不是字多。宁可少,但要准。审批人不是读不完长文本,是读不完没重点的长文本。
也许 6 个月后回头看,这套会被更好的方案打脸——比如 agent 互相审批,人只看例外。但此刻矛盾很具体:agent 承担得越来越多,人的审批却越来越形式化。界面停留在"展示全部思考",等于把判断责任外包给一个滚不完的页面。这不对。