AI Agent 一直说「任务完成」,但其实没有我如何设计了一套验收机制 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
caesor
V2EX    程序员

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

  •  
  •   caesor 3 月 24 日 1392 次点击
    最近在用 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 日记」,微信搜索关注。
    6 条回复    2026-03-24 23:20:01 +08:00
    sentinelK
        1
    sentinelK  
       3 月 24 日
    从 AI Coding 的 Agent 设计来看,一般都是要求 LLM 要明确表达出最终改动的位置和内容,且通过 shell 复核确认,才算成功。最终的“完成状态”不依照 LLM 的 token 表述,是靠查验脚本决定。

    Copilot 的最新额度扣除规则,也是通过类似的逻辑实现的。在 Agent 模式下,LLM 没有产出,是不会扣除额度的。
    caesor
        2
    caesor  
    OP
       3 月 24 日
    @sentinelK 你刚刚讲的都是需要有人的参与和评审。如果纯机器来做,一句话的需求如何设计产出 review 需要一整套的 workflow
    Mutoo
        3
    Mutoo  
       3 月 24 日
    不同参数大小的模型在 tool calling 的表现是不一样的,你应该在文章里标注一下使用的模型参数。
    gotoschool
        4
    gotoschool  
       3 月 24 日
    这套机制 我们应该如何用啊
    ivyliner
        5
    ivyliner  
       3 月 24 日
    感觉有点引流啊, 可以介绍一下你的解决方案的具体内容不 ?
    t20000622yy
        6
    t20000622yy  
       3 月 24 日
    可以搞个工作流,一个 AI 工作完给另一个 AI (比如 codex )审查,审查完自动根据结果来调整,之前开发了两个这样的工具可以试试:

    给任意 agent ( cursor ,cc 之类的都可以)调用的,并行执行或者审查: https://github.com/mco-org/mco

    自动化组建 AI 团队的,开任意个 agent ,分配角色,不用人参与他们根据目标自动迭代,就差不多 AI 团队的意思: https://github.com/mco-org/squad ,这个工具我觉得可以解决你的问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3788 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 00:55 PVG 08:55 LAX 17:55 JFK 20:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86