我最近两个月在做 AI 模型真实性评测的兼职。平台叫全季,任务是设计题目让大模型作答,然后评判它说的是不是真的。一开始纯手动。每道题要在两个 Agent 框架下分别跑四个模型,豆包 Pro、豆包 Evolving、GLM-5 和 Kimi-K3,每次运行要保留完整的对话轨迹、最终产物和运行元数据。一道题下来光重复操作就要两三个小时,还经常漏导出某个模型的轨迹,或者 trace 里混进了 API Key 被平台打回。后来我用 Python 加 Shell 写了四十多个脚本,把整个流程串起来。单题评测从三小时压到四十分钟左右。题目冻结是最先做的。题面、标签和难度说明在运行前计算 SHA-256 哈希,写进 task.json。之后任何改动都会被校验器拦住。这个设计看着简单,其实是为了防自己。看到模型答错就想改题,这种诱惑很真实,哈希把这条路堵死了。然后是证据封存。每次运行结束自动导出 trace,生成 evidence_manifest.json,记录每个文件的哈希和大小。提交校验时逐文件比对,事后篡改会被抓出来。我还加了一层正则扫描,自动检测 trace 和产物里的疑似密钥,避免凭据跟着提交包一起上传。
冒烟测试也分了层。正式跑题之前先跑 basic smoke 验证认证和路由,法律题额外跑 web-tools smoke 验证检索工具链,遇到长任务失败再补 long-output 和 tool-chain smoke。这套东西帮我拦下来至少五次 “跑到一半才发现配置错了” 的浪费。最有意思的发现来自一道法律题。我设计了一个深圳公司法的场景,把公司设立日定在 2024 年 6 月 28 日,新公司法 7 月 1 日生效前三天。这个时间点很微妙,容易诱发 “旧法设立的公司不受五年出资期限约束” 的直觉判断。四个模型跑出来分成两派。两个模型在 Web 检索全部失败的情况下,依然凭训练数据给出了确定性结论,把 2031 年 6 月 27 日错判为不合规,还把最长调整期限算错了两年。另外两个模型老实承认无法核验官方文本,拒绝往下编。这个对比让我印象很深。模型之间的差距,有时候就看谁更敢说自己不知道。这套工作流现在迭代到 3.12.0。那道深圳的法律题前后返修了七次才过审,每一次返修都逼着我把校验逻辑补得更严。如果你也在做多模型对比评测,先把证据可追溯做扎实,再谈效率。没有哈希校验和密钥扫描的自动化,只会让错误更快地批量产生。