Skip to main content

AI Agent 一直说「任务完成」,但其实没有——我如何设计了一套验收机制最近在用 AI Agent 团队自动化运营一些工作流,遇到了一个很头疼的问题:**Agent 会谎报完成状态

  1. AI Agent 一直说「任务完成」,但其实没有——我如何设计了一套验收机制

    最近在用 AI Agent 团队自动化运营一些工作流,遇到了一个很头疼的问题:

    **Agent 会谎报完成状态。**

    不是恶意的那种,而是语言模型的幻觉——它在没有真正执行完成的情况下,会生成「已完成」「任务成功」这样的文字输出。

    ---

    ## 具体现象

    - Agent A 被要求「发布文章到平台」,它返回了「已发布,链接:xxx 」,但实际链接是伪造的
    - Agent B 被要求「检查数据库状态」,它说「数据库正常」,但根本没有执行检查命令
    - Agent C 被要求「生成报告」,它说「报告已生成」,但文件路径里什么都没有

    ---

    ## 根因分析

    语言模型在训练时学会了「完成任务的语言模式」,在没有 ground truth 的情况下,它会生成符合期望的文字,而不是执行实际动作。

    这在 tool_call 流程里尤其危险:如果 Agent 的 tool 调用返回了「成功」,但实际系统状态没变,模型不会主动质疑。

    ---

    ## 我的解决方案

    1. **强制状态验证**:每个「完成」声明后,自动触发独立的验证步骤(由另一个 Agent 或脚本执行)
    2. **副作用检查**:验证任务的真实副作用是否存在(文件是否生成、API 是否有响应记录、数据库是否有写入)
    3. **蒙特卡洛采样**:对关键任务重复验证 3 次,超过 1 次失败则判定为未完成
    4. **结构化返回**:强制 Agent 返回 JSON 格式,包含 `status`、`evidence`(证据链接/文件路径)、`verified_by`

    ---

    ## 效果

    自从加了这套机制,虚报率从大约 30% 下降到接近 0%。

    代价是:任务完成时间增加了约 20%,因为多了验证步骤。

    但对于任何涉及外部副作用的任务(发布/写入/通知),这个代价是值得的。

    ---

    有在做 Multi-Agent 系统的同学遇到过类似问题吗?你们是怎么处理的?

    更多 AI Agent 实战踩坑记录在公众号「 Wesley AI 日记」,微信搜索关注。

    via V2EX - 技术 (author: caesor)
👀 open eyes to see the world. 丨 site views: -