同一组题连续跑了三遍,答案全部正确,能不能把新配置留下来?Anthropic的《Tokenomics on AWS》官方课给出了一个反例:前三轮通过,最终复测却只对了9题,讲者按事先约定撤回了变更。
这个案例说明,检查AI结果要同时看三件事:同一输入能否稳定回答、样本有没有覆盖难点、最后使用的配置有没有重新测试。
第四轮暴露了什么
在课程约44分30秒处,第8个合成案例原本应该转交主管,这次却被直接批准。讲者明确说,它已经通过三轮,第四轮仍然漏了一题。因为事先要求每轮10题全对,所以这次变更没有保留。
随后课程增加重复运行,并建议扩大样本,重点补充容易混淆的判断情形。这里的10题、重复次数和全对要求,是该演示的具体设定,不能直接变成所有AI任务的通用标准。课程也明确说明,使用的是合成数据,小样本结果有局限。
用一个技术标题分类例子看区别
假设要把技术文章标题分成三类:EXPLAIN解释机制,SETUP安装或配置,FIX处理故障。先约定判断顺序:出现明确故障时优先归入FIX;没有故障、主要要求安装或配置时归入SETUP;解释原理时归入EXPLAIN。
| 编号 | 输入标题 | 预期分类 |
|---|---|---|
| T01 | 为什么 API 要区分输入和输出 token? | EXPLAIN |
| T02 | Windows 安装一个演示工具 | SETUP |
| T03 | 修改配置后启动失败,怎样定位? | FIX |
| T04 | 缓存命中率怎么理解? | EXPLAIN |
| T05 | 设置示例工具的保存目录 | SETUP |
| T06 | 接口报错后怎样检查响应字段? | FIX |
下面是预设的演示记录,不是模型调用结果。它故意安排前三轮全对、第四轮把T03判成SETUP,用来说明报告怎样暴露问题。
| 轮次 | 正确数 | 具体错误 |
|---|---|---|
| R1 | 6/6 | 无 |
| R2 | 6/6 | 无 |
| R3 | 6/6 | 无 |
| R4 | 5/6 | T03:预期FIX,实际SETUP |
只写“总计23/24”会弱化最值得检查的地方:同一条输入曾经答对,后来又答错。T03同时出现“修改配置”和“启动失败”,需要确认优先规则是否清晰,以及模型是否持续遵守这条规则。
重复跑与增加题目,各自解决什么
重复使用同一组输入,能观察这组输入上的输出是否稳定。增加不同输入,才能检查原样本没有覆盖的情形。这两个动作不能互相替代。
| 检查动作 | 这个例子怎样做 | 可以发现什么 |
|---|---|---|
| 同样本重复运行 | 固定六个标题、提示和参数,再运行多轮 | T03这类偶发分类变化 |
| 增加不同样本 | 补“安装时提示权限不足”“为什么缓存失效”等组合问题,并先人工定好答案 | 原来的纯安装、纯解释样本没有覆盖的难点 |
| 最终配置复测 | 使用实际准备留下的代码、模型标识、提示和参数再跑 | 实验配置与最终配置不一致造成的问题 |
补题时不要只改标题中的工具名。更有用的变化,是让故障、配置和原理同时出现,或者加入信息不足、应当追问的输入。分类规则如果不允许“无法判断”,也要提前说明怎样处理这类输入,不能测试后才临时改答案。
记录到单题,才能知道下一步改什么
每次运行至少保留轮次、题号、原输入、预期答案、实际答案,以及模型、提示和参数的版本标识。缺少返回也要单列为缺失,不能从分母里悄悄删掉。
expected = { "T01": "EXPLAIN", "T02": "SETUP", "T03": "FIX", "T04": "EXPLAIN", "T05": "SETUP", "T06": "FIX", } # 预设记录:只是演示报告,不是模型运行结果。 rounds = {f"R{i}": expected.copy() for i in range(1, 5)} rounds["R4"]["T03"] = "SETUP" for name, actual in rounds.items(): missing = sorted(expected.keys() - actual.keys()) wrong = [key for key in expected if key in actual and actual[key] != expected[key]] print(name, len(expected) - len(missing) - len(wrong), "/", len(expected)) for key in wrong: print("wrong:", key, expected[key], "->", actual[key]) if missing: print("missing:", missing)运行这段代码,会得到前三轮各6/6、第四轮5/6,并打印wrong: T03 FIX -> SETUP。接入真实评测时,把rounds换成保存的逐轮结果,不要用人工设定的记录评估模型。
如果错误集中在T03,先检查故障优先规则及相近样本;如果出现未返回、重复题号或无法解析的结果,先处理调用与记录问题。不要看到分数下降就立即换模型,否则很难分清是哪一项改变起作用。
最终是否保留新配置,应根据事先确定的任务要求判断。学习资料标签分错可以人工修改,直接触发重要操作的错误则可能需要人工确认或停止执行。有限样本全部通过,依然不能证明以后永远不会错;保留失败明细,才有依据继续补题和调整。