prompt、幻觉与验证
2026/7/2CTF SkillPrompt验证大约 3 分钟
prompt、幻觉与验证
Prompt、幻觉和验证,是使用 Agent 时必须理解的三件事。
Prompt 决定你如何给任务;幻觉提醒你模型会编造;验证决定结果能不能相信。
Prompt 是什么
Prompt 是给模型的输入指令。它不只是用户发的一句话,也包括系统规则、工具说明、已加载 Skill 和上下文中的其他信息。
System Prompt
系统提示词通常规定模型的角色、边界和工作方式。比如是否能调用工具、是否必须验证、哪些行为禁止。
User Prompt
用户提示词是当前任务。例如“分析这道 CTF 题”或“解释 ctf-web 这个 Skill”。
Skill
Skill 是一种特殊上下文。它不是用户随口写的 prompt,而是针对某类任务沉淀出的操作说明。
好的任务描述
给 Agent 的任务越清楚,它越容易调用正确 Skill。
较差描述:
看看这个题。更好描述:
这是一个 CTF 题目,附件里有 chall.py 和 output.txt。
请先判断题型,再说明应该使用 ctf-skills 里的哪个 Skill。
不要直接猜 flag,先列出证据。这类描述给了 Agent 三个关键信息:场景、材料、停止要求。
幻觉是什么
幻觉是模型生成了看似合理、但没有依据的内容。
在 CTF 中,幻觉很危险,因为它会让解题过程看起来“像真的”。
常见表现:
- 编造不存在的文件
- 假设题目使用某个漏洞
- 把普通字符串当 flag
- 声称脚本已经运行但其实没有
- 误读工具输出
- 把网上常见套路套到不匹配的题上
注意
模型语气自信,不代表结论可靠。CTF 中要看证据,不看语气。
验证是什么
验证就是把结论和可检查证据连起来。
有效证据包括:
- 文件内容
- 命令输出
- HTTP 响应
- 脚本运行结果
- 程序崩溃信息
- 题目描述原文
- 可复现的操作步骤
无效证据包括:
- “看起来像”
- “一般这种题都是”
- “我猜应该是”
- 没运行过的脚本输出
- 没保存的临时观察
Agent 为什么更需要验证
因为 Agent 会连续行动。如果第一步错了,后面可能越走越远。
例如它把一道 Reverse 题误判成 Pwn,可能会一直尝试构造 payload;把一道编码 Misc 误判成 Crypto,可能会浪费大量时间在复杂数学攻击上。
Skill 可以降低这种风险,因为 Skill 通常会写明:
- 用哪些信号判断方向
- 第一轮检查什么
- 什么结果说明路线成立
- 什么结果说明应该换方向
如何写验证要求
你可以直接要求 Agent:
每个结论都要说明依据。
如果只是猜测,请标注为猜测。
不要把未运行的命令输出当作事实。
如果当前路线没有新证据,请回到 solve-challenge 重新分类。这类要求能明显减少“编过程”的情况。
小结
Prompt 影响任务入口,幻觉影响结论可靠性,验证决定结果能否使用。读 ctf-skills 时要特别注意:它不是让 Agent 更会编答案,而是让 Agent 更会按证据推进。