2026-09-16 · 原文发布日
测出Agent“这次行下次不行”的一致性漏洞
IBM研究团队指出,Agent基准的平均通过率会掩盖可靠性问题:同一任务重复跑,表现可能忽成忽败。他们的开源工具ALTK-Evolve新增Consistency Analyzer,只需一条已记录的Agent轨迹,不跑全任务、不需要标准答案,在每个决策点重采样几次,找出“差一点就走向另一分支”的易翻转步骤,再自动生成一致性指引注入推理。作者称这套方法把一致性差距缩小约一半,且不损失平均准确率。技术报告在arXiv,适合在搭Agent的开发者试用。
原文要点
IBM/Hugging Face文章区分Mean@k与Pass^k:AppWorld上GPT-4.1 ReAct的Mean@5为77.4%,Pass^5为53.0%,一致性差距24.4pp。Consistency Analyzer用一条已记录轨迹,在每个决策点用一次请求采样k个补全(默认k=5),不重跑任务、不需要标准答案,标记易翻转步骤;生成一致性指引后,作者称差距降到12.0pp且不损平均准确率。
这次做成什么
做一个不依赖完整基准的本地小练习:把一条Agent轨迹整理成决策点表,用重采样思路人工/模型辅助识别“差一点就换分支”的步骤,产出可注入系统提示的一致性指引。
准备什么
- 有一条文本化Agent轨迹,含每步上下文、候选动作、最终动作
- 可用任一聊天模型做辅助评审;不需要logits、不需要标准答案
- 能保存CSV/JSON,并能把生成指引粘贴到Agent系统提示
- 若用ALTK-Evolve,请自行核对仓库当前命令,本文不伪造安装指令
具体怎么做
整理轨迹
把一次成功或失败轨迹拆成行:step_id,context,action_taken,candidates,note;只保留会改变后续分支的决策点,如选API、正则策略、是否重试。
重采样打分
对每个决策点,固定已记录上下文,请求模型一次给k=5个可能下一动作;统计与action_taken不同的比例。0/5记稳定,1-2/5记观察,>=3/5记易翻转;这是离线诊断,不调用真实工具。
定位原因
对易翻转行写flip_reason:近并列候选、计数规则含糊、搜索结果未核验、参数边界不清等;不要写“模型不行”,要写成可执行条件。
生成指引
把每个易翻转点改写成When...Always...句式,要求能跨任务复用;放入Agent提示后,用同一任务重复3次看动作是否收敛,记录Pass^3与Mean@3,不宣称复现作者数值。
可直接复制的材料
轨迹决策点CSV模板
本站合成示例;flip_votes为5次重采样中偏离次数,参考阈值由本站设定,不是官方门槛。
step_id,context,action_taken,candidates,flip_votes,flip_reason,guideline
3,SimpleNote含图例行与清单行,用正则^[-*] \\[x\\]计数,"子串count;正则行锚;肉眼数",2,"图例行也含[x],子串法会虚高",计数复选框时只用行锚正则,先排除图例/标题行再统计
7,搜索返回两条相似note,选第一条,"第一条;含bucket的第二条;再搜一次",3,"未核验多条结果是否同一笔记",搜索后若多条匹配,必须比对标题与最近修改时间再继续一致性分析提示词
本站独立编写,可粘贴到任意模型;输出阈值stable/watch/flip_prone为本站练习标准。
你是Agent可靠性评审。输入是一条轨迹的决策点表,列有context, action_taken, candidates。请逐行模拟5个同样合理的下一动作,输出JSON数组:step_id, alt_actions(长度5), flip_votes(与action_taken不同的数量), risk(stable|watch|flip_prone), reason(<=40字), guideline(When/Always开头,可跨任务复用)。不要假设能访问真实工具,不要需要标准答案;只找近并列导致的易翻转,不评价任务最终对错。输入与输出示例
本站虚构示意;flip_votes=2对应上表,未调用真实模型或AppWorld。
输入
上表step3:SimpleNote正文有“图例:[x] 表示完成”,另有5行任务其中2行以- [x]开头;原动作用行锚正则计数。对应输出
{"step_id":3,"alt_actions":["子串count","行锚正则","肉眼数","只数[x]","排除图例后正则"],"flip_votes":2,"risk":"watch","reason":"图例行与任务行同符号,子串法会虚高","guideline":"When counting checkbox-style markers, always use a line-anchored regex and exclude legend/title lines before counting."}做完检查这些
- 每个决策点都有5个alt_actions,且flip_votes与action_taken比较一致
- risk只在flip_votes>=3时标flip_prone,1-2标watch,0标stable
- 每条guideline都是可执行规则,不是“更仔细一点”这类空话
- 复测同一任务至少3次,分别记录Mean@3与Pass^3再谈改善
容易卡住的地方
- 没有标准答案时该诊断只找不稳定点,不能证明答案正确
- 托管模型即使temperature=0也可能因服务端批处理有近并列翻转
- 指引注入过多会污染上下文,优先保留跨任务可复用规则
- 作者的一半降幅是其实验结果,本站练习不保证同等收益
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Your Agent Aced the Task. Will It Do It Again?
- 原作者
- Hugging Face / 文章署名作者
- 原始发布日期
- 2026-09-15T16:00:44+00:00
- 来源
- https://huggingface.co/blog/ibm-research/altk-evolve-consistency