BotOf TechAI / IoT / Full-Stack / 植物养护知识分享
返回首页长任务模型的分水岭,不是能跑多久,而是会不会主动验证

长任务模型的分水岭,不是能跑多久,而是会不会主动验证

模型能连续工作几小时,听起来像 Agent 成熟的标志。但运行时间本身不是价值。一个错误方向坚持得更久,只会制造更大的修改面、更难审查的提交和更昂贵的回滚。

真正的分水岭是模型是否会主动建立证据:打开页面检查布局、运行测试复现 bug、构造缺失的验证环境、对照需求检查边界,并在证据不足时承认没有完成。

计划能力和验证能力必须分开看

长任务至少有四个循环:

理解目标 → 制定计划 → 执行修改 → 验证结果
                    ↑              ↓
                    └── 根据证据修订 ──┘

很多 Agent 在前三步表现很好:能拆任务、能改多个文件、能调用工具。失败通常发生在第四步:

  • 测试只跑了最容易通过的部分;
  • 页面生成后没有真实渲染;
  • 修复了报错文本,没有修复根因;
  • 只检查返回码,没有检查业务结果;
  • 看到一次成功就停止;
  • 把自己写的计划当成验收标准。

“主动验证”包含哪些行为

构造可观测证据

如果没有现成测试,模型会不会写最小复现、添加日志、生成对照输入,或使用浏览器和设备查看真实结果?

区分表面症状与根因

修复一个 null pointer 很容易;解释为什么状态本来不应该为空、还有哪些入口会产生同样状态,才是根因分析。

使用独立路径交叉检查

同一段代码生成结果后,再让同一个提示问“你做对了吗”并不独立。更强的验证包括:

  • 编译器、类型系统和测试;
  • 浏览器像素/DOM/控制台;
  • 数据库约束与查询结果;
  • 第二实现或基线程序;
  • 静态分析与运行时观测;
  • 人工批准。

管理不确定性

模型应能区分已验证、合理推断和未验证。无法访问生产环境时,正确做法是留下明确待验证项,而不是用本地结果宣称线上完成。

验证也需要预算

无限测试会让任务无法结束。运行时应为不同风险设置验证预算:

风险最低验证
文档与注释格式、链接、事实抽查
小型代码修改目标测试 + 静态检查
跨模块改造单测、集成、关键路径回归
数据迁移预演、行数/约束、备份、回滚
发布与权限影子验证、审批、灰度、线上观测

预算不是只限制 token,也限制外部副作用、运行时间、工具次数和允许修改的范围。

检查点让长任务可恢复

长任务不应依赖一条不断增长的对话。每完成一个可验证阶段,就保存:

  • 当前目标与已完成条件;
  • 修改文件和关键差异;
  • 已运行的验证及结果;
  • 未解决问题;
  • 环境与依赖状态;
  • 下一步和回滚点。

发生网络、工具或模型中断时,从最近检查点恢复,而不是重新阅读全部历史并猜测状态。

检查点也便于人工审查:审查者可以在风险上升前介入,而不是等 Agent 提交一个巨大结果。

如何评测长任务模型

不要只用“最终测试是否通过”。建议同时记录:

最终任务成功率
一次通过率
根因修复率
新增回归数
验证工具调用占比
错误宣布完成率
人工接管点
修改规模与有效修改比例
运行间方差

同一任务至少重复多次。平均水平高但方差巨大,不适合直接进入生产。

还要设计诱导项:缺失测试、误导性错误信息、过期文档、局部修复能通过但会破坏另一入口。它们能区分“会写代码”和“会完成工程任务”。

生产 harness 的五条约束

  1. 完成条件外置:由任务规范和验证器定义,不由模型自行决定。
  2. 高风险动作审批:发布、删除、转账、权限变更必须独立授权。
  3. 工具结果结构化:测试、部署和查询返回机器可判定状态。
  4. 失败可恢复:幂等、检查点、重试上限和回滚路径齐全。
  5. 证据可审计:保留命令、产物、测试和外部状态,而不是只保留总结。

模型更强后,人要做什么

人工不需要逐行盯住所有操作,而应把精力放在:

  • 定义目标和不可越过的边界;
  • 设计验证器;
  • 审批不可逆动作;
  • 处理需求冲突和业务判断;
  • 复盘模型反复失败的模式。

Agent 自治不是把人从系统里删除,而是把人从重复执行者变成目标、边界与证据的负责人。

长任务真正值得信任的信号,不是模型说“我已经仔细检查”,而是系统里留下了别人可以重复的证据。

延伸阅读