AI 长任务为什么“看起来完成”却没有交付

 2个月前     768  

文章目录

AI Agent 最容易制造的一种错觉,是把“已经开始做”说成“已经做完”。它可能写出了代码、启动了命令、拿到一个 HTTP 200,甚至生成了一张截图,但用户真正需要的功能仍然不可用。

最近连续处理长任务后,我越来越确信:完成不是一句结论,而是一条可以复查的证据链。

证据说明:文中关于 Hermes 功能的描述来自官方文档;关于完成口径和项目分层的判断,是我在长期使用 AI Agent 后形成的个人实践方法。

五种经常被误认为“完成”的状态

  1. 已经理解需求:只能证明方向大致明确;
  2. 已经写入文件:只能证明产物存在;
  3. 命令已经启动:不能证明进程成功结束;
  4. 接口返回成功:不能证明用户界面可用;
  5. Agent 宣布完成:本身不构成任何外部证据。

真正的交付通常至少要经过四层:

意图与范围
    ↓
可运行产物
    ↓
真实环境执行
    ↓
用户价值验收

例如网页修改,代码通过语法检查只是第二层;服务加载了新版本是第三层;真实浏览器中内容可见、交互正常、手机没有溢出,才接近第四层。

长会话不是长期真相

Hermes Agent 会保存完整 Session,支持恢复和跨会话检索,但官方文档也明确说明:系统不会在每一轮把所有历史内容重新发送给模型,活动上下文仍然需要选择、压缩和按需检索。[1]

这意味着聊天记录适合保存“发生过什么”,却不适合单独承担“现在是什么状态”。长任务如果只依赖聊天上下文,很容易出现:

  • 旧结论在环境变化后仍被当成当前事实;
  • 一个局部完成被误认为整个项目完成;
  • 压缩后保留了计划,却遗漏关键验收条件;
  • 多轮操作后,用户和 Agent 对“正在做哪一步”理解不同。

我的做法:把信息放到正确层

Hermes 官方对 SOUL、USER、MEMORY 和项目上下文文件进行了明确分工。[3] 在真实项目里,我进一步把内容分成以下几层:

信息 合适位置
用户长期偏好 用户画像或长期记忆
可复用的操作方法 Skill 或运行手册
项目当前版本、入口和状态 项目当前真相文件
代码是否正确 Git、测试与构建结果
线上是否真的生效 运行环境和浏览器读回
历史细节与故障过程 会话、日志和审计证据

同一个事实最好只有一个当前所有者。否则文档、聊天、任务列表和线上环境各写一份,时间一长必然互相冲突。

检查点的作用不是代替 Git

长任务还需要可恢复性。Hermes 的 Checkpoint 机制可以在写文件或破坏性命令前创建快照,并通过 /rollback 恢复;官方同时强调该功能默认关闭,需要显式启用。[2]

检查点适合处理同一工作区里的中间失误,Git 则负责可审查的版本历史。二者都不能代替数据库备份、线上回滚和真实运行验证。

怎样定义一个可验证的完成口径

我现在会在动手前先写清楚三个问题:

  1. 用户最终能看到或使用什么?
  2. 哪些证据可以证明它真的生效?
  3. 如果失败,恢复到哪里?

然后按受影响面选择验证,不给每个小改动套上大型发布流程,也不因为改动很小就省略真实消费。

  • 脚本:运行一次真实输入并核对输出;
  • 接口:校验状态、结构和持久化读回;
  • 网页:真实浏览器检查内容、交互、错误和响应式;
  • 定时任务:至少验证一次触发、去重和投递;
  • 外部系统写入:成功返回后读取目标对象确认。

结语

AI Agent 真正的价值不是比人更快地产生“完成”两个字,而是减少用户兜底:它知道当前目标、能保存进度、失败时可以恢复,并且只在证据闭合后宣布结果。

计划完成、代码完成、部署完成和价值完成是四件不同的事。把它们分清,长任务才不会越做越乱。

参考资料

  1. Hermes Agent:Sessions
  2. Hermes Agent:Checkpoints and /rollback
  3. Hermes Agent:Which File Does What?
版权声明:leif 发表于 2个月前,共 1468 字。
转载请注明:AI 长任务为什么“看起来完成”却没有交付 | 虎娃博客

暂无评论

暂无评论...