大厂 Evals 经验系列 · 05
Agent 给出一份行程:航班、酒店、餐厅都有,费用也列得清楚。真正核对时,却发现到达机场后赶不上预约,或者每一项价格都合理,合计已经超出预算。
计划有没有引用真实信息、每一步是否满足要求、整体能否执行,是三个不同的验收问题。Qwen 的 DeepPlanning 基准把这种区别写得很清楚。官方说明
Qwen 把规划能力拆成什么
DeepPlanning 使用旅行与购物任务,分别考察主动获取信息、满足局部条件和处理全局约束。旅行中的时间、地点和预算会相互影响;购物中的商品属性、优惠条件和总费用也需要一起计算。官方说明还记录了 v1.1 对部分任务答案标注的修正。
精选译词:Global Constrained Optimization,可译为“全局约束优化”,即在整个计划的共同限制下寻找更好的可行方案。
解读批注|“符合约束”与“达到最优”要分开。前者检查方案能不能做;后者还要在明确的候选范围和目标下证明或衡量方案有多好。不能因为所有条件都通过,就宣布找到了全局最优解。
以下用一份假设的排期展示如何验收。数字与规则由本文为教学设计,不是基准原题,也不是任何模型的实测结果。

图解说明:根据本文原创解读,以 Archify 定义节点与关系,再制作中文信息图;图中检查顺序或分组为本文建议,不是厂商原始实验图。
把“看着合理”变成一组明确条件
设定任务:上午完成两场会面;第一场 9:00 开始,持续 45 分钟;会场间交通需 30 分钟;第二场 10:00 开始,持续 45 分钟。还要求不晚于 11:30 完成一项 30 分钟的整理工作。
逐项看,两场会面都安排在上午,每个时长也正确。但第一场结束于 9:45,加上交通,最早到达第二场的时间是 10:15。计划已经不可执行。
把第二场改为 10:15,结束于 11:00,随后整理到 11:30,在本例设定下就具备时间可行性。但如果第二场预约不能修改,这种改法仍然不成立。评测必须写明哪些条件固定、哪些可以调整。
| 层次 | 具体检查 | 本例失败点 |
|---|---|---|
| 信息获取 | 时间和交通条件是否来自可用信息 | 不能凭空缩短交通时长 |
| 局部条件 | 单项的时段、时长是否符合要求 | 第二场不能擅自改变固定预约 |
| 全局可行性 | 所有活动加上衔接后是否能共同完成 | 9:45 到 10:00 只有 15 分钟 |
| 优化目标 | 在可行方案中如何比较好坏 | 本例没有定义,因此不评“最优” |
解读批注|时间相加看起来简单,难点在于没有漏掉衔接条件。Agent 如果只把用户列出的活动排进去,而未计入交通、等待或依赖关系,单项检查会给出过于乐观的结果。
交通时间变成区间后,“可行”就需要更具体的含义
前面的修订计划依赖“交通需 30 分钟”这个确定条件。下面只改变这一条件:为教学演示,假设已知交通需要 20 至 40 分钟,其他时长不变。
第一场仍在 9:45 结束,最早 10:05、最晚 10:25 到达。第二场改为 10:15,仅在交通不超过 30 分钟时赶得上。若验收要求区间内所有交通时长都能按时到达,10:15 就不合格。这里的“20 至 40”是设定范围,不是实测分布,不能据此算出迟到概率。
若将第二场移至 10:25,结束于 11:10,再整理 30 分钟就到 11:40,又违反“不晚于 11:30”的要求。在活动严格按顺序、时长均固定的设定下,为保证覆盖整个交通区间,最早可保证的完成时刻是 9:45+40 分钟+45 分钟+30 分钟,即 11:40。若第二场允许随之提前到 10:05,交通只需 20 分钟时可以在 11:20 完成;但该安排不能保证整个交通区间都满足截止要求。
此时更好的输出,是说明哪些条件一起导致冲突,并请求确认可调整项。提高截止时间、缩短活动、允许交通中的整理,都改变了条件;Agent 不能在未获授权时悄悄采用。第二场固定在 10:00 的原始方案,则连 20 分钟的最短交通也无法满足。
解读批注|“存在一种情况下能完成”和“在给定不确定范围内都能完成”是不同承诺。评测先明确交付承诺,再选择检查方法。若要评价迟到概率,还必须有可信的时间分布,只有上下界不够。
目标不明确,就无从判断“最好”
可行方案可能不止一个。少花钱、少走路、留更多缓冲时间,未必同时改善。假设一个方案交通花费更低但缓冲更少,另一个更贵但留有余量,没有事先定义取舍,就不能凭文案流畅选出“最优”。
可以先排除违反固定条件的方案,再用用户确认的目标比较可行方案。若用户希望优先保证准时、在此前提下减少费用,就应按这个优先关系评价;若只要求给出任一可行方案,不必额外要求证明全局最优。
这种分开也影响评分:信息正确、条件满足、优化表现各自记录。一个低价但不可行的方案,不应凭价格优势通过交付验收。实际预约库存随后变动,则属于执行中的新条件,离线计划通过不能证明后续一定预订成功;执行阶段还需重新核验可用性。
让同一套思路进入业务任务
对于一项分阶段执行的运营计划,可以先明确整体预算上限、各阶段最低投入、数据可用时间和审批依赖。这是方法迁移的建议,不能据此推定旅行基准高分的模型一定能完成实际投放任务。
用结构化条件验收,通常比对照一份固定参考文案更清楚:每个动作有对象、时间和资源;每项限制有规则和验证结果;整个计划保留是否可执行的独立结论。
我建议至少准备下面三类测试:
- 有多个可行解的任务:检查系统能否给出一个合规方案,容许不同路线。
- 条件互相冲突的任务:检查系统是否说明无法同时满足,是否询问可以放宽哪项条件。
- 关键信息缺失的任务:检查系统能否补查或澄清,而不是编造一个看似完整的计划。
对可调整条件的询问,也是任务行为的一部分。用户没有授权提高预算时,系统不能靠自动修改预算来让计划“通过”。
单项得分之外,保留整体通过结果
若某个计划满足了九项条件,却违反了第十项必须遵守的限制,把它写成“90% 成功”容易误导使用者。可以同时记录条件通过比例和整体可执行结果,并注明哪个条件导致失败。
这些记录有不同用途:分项结果帮助定位问题,整体结果帮助判断能否交付。软偏好可以按明确规则权衡,硬约束则应单列;两者怎样定义,需要业务方事先确认。
单项条件通过不能替代整体可执行。如果要把一个真实计划加入测试集,先列出它的衔接关系和固定条件,再定义优化目标。暂时没有最优解证据时,就只评价可行性。
来源:Qwen Team,DeepPlanning: Benchmarking Long-Horizon Agentic Planning with Verifiable Constraints。本文使用方法摘要和精选术语翻译,不复述排行榜;案例与产品验收建议为原创解读。
