最关键的区别:能不能自动验证
同样叫 agent,写代码和订机票差别很大。最关键的区别是:做完之后能不能自动判断对不对。能自动验证的场景,可以让 agent 在沙箱里多试几次,测试通过后仍要人看 diff;不能验证的场景,每一步都更需要人来把关。
| 场景 | 环境与工具 | 能不能自动验证 | 最常见的失败 | 护栏 |
|---|---|---|---|---|
| 写代码 | 代码仓库、shell、测试 | 能:跑测试 | 测试过了但逻辑是错的;为了过测试去改测试 | 沙箱执行;人看 diff |
| 搜索与研究 | 搜索、网页读取 | 部分:能核对来源 | 编造引用;不知道什么时候该停 | 要求给出处;设预算 |
| 客服 | 订单与用户系统、政策文档 | 部分:规则能查 | 违反政策;同一问题几次回答不一样 | 限制工具权限;复杂情况转人工 |
| 数据分析 | SQL、notebook | 部分:查询能跑,结果对不对还要核对 | join 或过滤条件写错,结果看起来却很合理 | 展示实际执行的查询;核对行数和统计口径 |
| 操作电脑和浏览器 | 网页、图形界面 | 弱 | 界面一改就失效;网页里隐藏的内容可能被当成指令 | 不可逆的操作要确认;运行环境要隔离 |
| 个人助理 | 邮件、日历、记忆 | 弱 | 按过时的记忆行事;泄露隐私 | 发送前先确认;记忆可以被纠正 |
写代码:验证信号最强的场景
代码能运行、测试能判断对错,这是 agent 最理想的环境:每一步都有客观反馈。SWE-bench 就是用真实的 GitHub issue 和配套测试来评估这类 agent 的。它最常被引用的 Verified 子集已经接近做满,题目也可能被模型见过:OpenAI 在 2026-02-23 的说明里表示不再报告 SWE-bench Verified,改为推荐题目更难、仓库更多的 SWE-bench Pro(OpenAI 的说明)。基准为什么会被做满、被污染,见测试时计算:怎么读数字。但测试通过不等于改对了,测试没覆盖到的地方,还是需要人来检查。
客服:可靠性比单次成功率重要
同一个问题,这次答对、下次答错,在客服场景里是不能接受的。τ-bench 模拟用户和受政策约束的工具环境,用 pass^k 衡量可靠性:同一个任务独立跑 k 次、k 次全部成功的概率,再对任务取平均。它比只看一次成功率更接近真实要求:单次成功率 90% 的任务,8 次全对的概率只有 $0.9^8\approx0.43$。它的后续版本 τ²-bench 加了电信客服场景:用户也要自己动手操作设备(dual control),agent 得指导用户一起完成。截至 2026-10,仓库已发布 τ³-bench;2026-07 的 v1.0.1 修正了 banking_knowledge 领域的几处任务错误,仓库说明 1.0.1 之前和之后的结果不能直接比较。
读外部内容的 agent:小心注入
只要 agent 会读取网页、邮件、文档这类不受你控制的内容,就可能被其中隐藏的指令劫持(indirect prompt injection,Greshake 等,2023)。要守住两条底线:外部内容只当数据,不当指令执行;有副作用的操作要限制权限,并且要经过人确认。
怎么评估
- 代码:SWE-bench;也可以看 SWE-bench Pro,上文链接的 OpenAI 2026 年 2 月说明推荐了它;
- 网页任务:WebArena;
- 操作电脑:OSWorld;
- 带政策约束的对话与工具:τ-bench 及后续的 τ²/τ³-bench。
公开 benchmark 只是起点。上线前,要在自己的任务上建立评估集,并检查完整的运行轨迹,见 Agent Observability 和 Evaluation。