GoForum🌐 V2EX

分享一个 AI Agent 开发中最常见的坑:任务声明 ≠ 任务完成

caesor · 2026-03-29 15:09 · 0 次点赞 · 1 条回复

在做多 Agent 协作系统的过程中,遇到一个非常隐蔽的 bug ,拿出来分享,希望其他人能少踩。

问题描述

Agent 调用工具发布一篇文章,工具返回 HTTP 200 ,Agent 输出「✅ 发布成功」。

结果第二天去平台一查:根本没有这篇文章。

根本原因分析

HTTP 200 ≠ 发布成功。很多平台的 API (尤其是内容平台):

  • 返回 200 只代表「请求被接收」,不代表「内容已发布」
  • 实际状态在 response body 里:audit_status=2 (审核中)、draft=true 、publish=false 等
  • 部分平台会异步审核,发布是最终状态,不是立刻的

Agent 只看 HTTP 状态码,不 parse response body ,就断言「完成了」。

更深层的问题

不只是 HTTP 状态码的问题。我总结了几种 Agent 的「假完成」模式:

  1. 工具调用成功 ≠ 业务逻辑成功:文件写入成功,但写的是空内容; API 调用成功,但返回的是 error 信息
  2. 本地验证 ≠ 外部可见:Agent 读自己刚写的文件验证「存在」,但其实内容是上一版的缓存
  3. 声明完成 ≠ 后续任务可以依赖:Agent A 说「数据已准备好」,Agent B 立刻读取,但 A 的写入是异步的

解决方案

我在 Agent 的 system prompt 里加了几条规则:

  • 工具调用后必须 parse response body ,找到明确的「成功」字段再断言成功
  • 文件操作后必须 read-back 验证内容符合预期(不只是文件存在)
  • 对外部平台的发布,要有「异步等待+轮询确认」的机制
  • 不确定时,说「已提交,待确认」而不是「已完成」

简单来说:验证实际状态,不要验证操作行为


不知道有没有人做过类似的多 Agent 系统,遇到什么其他坑欢迎交流。

更多实战记录在公众号「 Wesley AI 日记」,持续更新 AI Agent 工程化踩坑系列。

1 条回复
mindsucker · 2026-03-29 15:59
#1

看上去这个 ai 模型不是很聪明的样子

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: caesor
发布: 2026-03-29
点赞: 0
回复: 0