这个提示词用来做什么
自建 agent 评测的分数一直很好看,但没人验证过这些分数是不是真的来自完成任务。找出可能被走捷径拿高分的路径,并补上能识破捷径的用例,让分数真实反映能力。说明评测方式与任务目标即可,可指定最怕被走捷径的环节。
提示词全文
请设计一次针对我自建 agent 评测的「自我攻击」,目标是找出 agent 能不走正路就拿分的路径。不要给我通用安全清单,要针对我描述的评测逐条给出可执行的攻击尝试与对应断言。
## 输入
评测任务:{这个基准测什么、怎么算分、通过标准是什么}
环境构成:{agent 能访问什么——文件系统、网络、代码仓库、工具;verifier 在哪、跟 agent 是否隔离}
提交方式:{agent 的结果怎么进入评测:提交文件、返回文本、还是执行某个命令}
已有防护:{现在做了哪些隔离与检查}
历史现象:{有没有出现过「分数很高但人工看结果不对」的情况}
## 输出
1)捷径清单:按「环境初始化 / 任务执行 / 结果提交 / 结果计算 / 评分读取 / 日志与反馈 / 环境重置」七个阶段,逐阶段列出 agent 可能利用的路径,每条写清利用条件与预期收益。
2)攻击尝试:从清单里挑出对我的评测最可能奏效的 3 到 5 条,给出具体的尝试方式(例如提交什么内容去影响检查过程、从哪里读到本该保密的信息、上一轮状态如何残留),并说明怎么判断它是否真的生效。
3)断言设计:为每一条攻击给出对应的检测断言,写明断言在什么时刻运行、读到什么证据算命中。
4)语义充分性检查:单独列出「答案对了但不能证明任务按要求完成」的情况,并为每种情况给出一个能区分「真做」和「抄答案」的额外证据要求。
5)优先级与修补:按「可利用程度 ÷ 修补成本」排序,给出先补哪三处,以及每处修补之后用什么回归证明它确实堵住了。
怎么用
- 把上面的提示词全文复制到对话窗口或工作流里。
- 把花括号占位符(如 {任务描述})替换成你自己的内容。
- 条目越具体,产出越稳定;不需要的条目可以直接删掉。
输出示例
典型输出会指出「agent 提交的代码会被 verifier 重新构建,所以提交内容本身能改变检查过程」这类路径——对应的攻击是提交一份带开关、能关掉类型检查的源码,断言写成「verifier 侧的检查开关必须由评测方控制,不能来自提交物」;对「从公开仓库下载本该保密的测试标签」这条,会给出断言「核对答案来源:在完全离线的环境里重跑一次,看分数是否崩塌」;语义充分性部分会要求「除了输出对上,还要保留至少一条能证明求解过程的证据,例如中间断言或可复现的推理记录」。
基本信息
- 分类:安全
- 标签:Agent 评测 · reward hacking · 自我攻击 · 环境隔离 · 可验证性
- 收录日期:2026-10-01