第一次把《The AI Crash Test》对接真实模型时,报告弹出约29%的“易受攻击”条目。这个数字让开发者愣了几秒——不是因为模型脆弱,而是他自己写的评分器出了假阳性。三张失败卡片点开,提示、预期、实际响应并排展示,每一张都指向同一个结论:模型没问题,判定逻辑有bug。修完代码重新跑,真实漏洞率直接归零。
这不是靠感觉推演,而是一套严格的可复现机制。整个工具的全部判定都用确定性谓词来做:精确匹配、正则表达式、数字校验、注入金丝雀、必须拒绝规则……每一种都只对模型返回的字串执行纯函数,没有第二个模型介入打分。所以当报告显示“29%易受攻击”,它不是给出一个需要被信任的抽象分数,而是同时把每一道题的判分依据和实际输出晒出来,让使用者可以核对。在公开的开发者控制台里,那些误判就像代码bug一样暴露无遗。
这种“可审计的分级器”是背后设计哲学的核心。如果直接用LLM做裁判(即“vibes-based”的共识型竞技场),拿到的是一个需要盲目相信的数字,掺杂着裁判温度、上下文偏移、甚至“裁判今天心情不好”的波动。而《The AI Crash Test》要走一条更窄的路:浏览器端自带密钥、无LLM评判、共享一个可纵向跟踪模型漂移的引擎。你可以打开浏览器的开发者工具,在Network标签页里直接查验密钥是否从未离开过对模型提供商的直接调用。
这个特性有两个公开可验证的要点。第一,确定性分级——所有评分都是对答案字符串的纯函数计算,跑同一个假模型两次,成绩逐字节一致,没有温度扰动,没有裁判漂移。第二,BYOK(自带密钥)且从不触碰服务器端。《The AI Crash Test》的浏览器脚本用你的密钥直接调用Anthropic或Gemini等模型提供商接口,crashkit服务器只接收答案,而评分请求的POST Body里根本没有密钥字段。在DevTools中搜索你的密钥,只会出现在向api.anthropic.com发起的x-api-key请求头里,在/api/grade的调用记录中永远不会出现。
当然,这里有一个需要坦诚说明的限制:这项机制只在提供商允许直接浏览器访问时有效。Anthropic配合dangerous-direct-browser-access请求头可以运作,Gemini也行,但OpenAI的直接调用通常会被CORS策略拦截。把限制条件写清楚,本身就是产品诚实的一部分。
在LLM红队测试这个拥挤且成熟的领域里,garak(NVIDIA)、PyRIT(微软)、promptfoo等工具在探针数量、扩展规模、集成深度上都远超这个小工具。也有其他浏览器端的对抗测试工具存在,它们大多依赖LLM裁判来定级。《The AI Crash Test》并没有发明新品类,它的与众不同只是一个交叉点:浏览器端BYOK + 确定性无裁判评分 + 可被证明的共享引擎与纵向漂移看板。这是工程和纪律上的差异,而非市场品类的创新。如果需要重型武器,去用garak;如果想要一份可以逐字节复现的结果,以及一把直接从浏览器飞到模型提供商、从未碰过第三方服务器的密钥,那就可以接着读下去。
用于分级的核心引擎叫做gradecore,并非《The AI Crash Test》的专属玩具。同一个确定性引擎正在支撑一个实时跟踪16个LLM表现的模型漂移看板。所以这个工具不仅是一次性对抗测试的终点,它更像一个透镜的两面——一面用来暴露某个模型当下的脆弱面,另一面用来记录多个模型在时间轴上的行为变化。你可以在本地复现一切,用相同判定逻辑重新跑历史数据,验证所有结论是否仍然成立。
这样的设计使得“审计”不再是一个口号。当开发者犯错,它能被公众看见;当模型更新,漂移看板会用一个稳定不变的标尺测量出回答模式的移动。互联网上太多测试工具只给结论不给过程,而这个工具反其道而行,它把一切判定都变成透明、可检查、可重现的谓词运算。正因为如此,那个最初“29%”的错误数字,才能在一轮公开的修复中被彻底清零。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.