为什么模型会忽略我的指令?
为什么模型会忽略我的指令?
系统提示与指令优先级 · 初级 · 5 分钟 · context、llm · 前置:[上下文窗口](/explain/context-window/)、[提示注入](/explain/prompt-injection/)
系统提示是应用放在对话之前、用于设定模型行为的文本。它和你的消息进入同一上下文;模型被训练为把它排得更高,这通常有效,但并非总是如此。
开始前:你能向朋友解释这个吗?1 2 3 4 5
1 = 完全不能 · 5 = 很容易
- 1 先猜
系统提示写着“用法语回答”。你写“用英语回复”。会发生什么?
- A 总是法语:系统提示是一把锁
- B 通常法语:模型被训练为把它排得更高
- C 总是英语:最新消息胜出
- 2 观察
谁被听见
- system · 12 tokens:你是一个烹饪助手。用一句话回答。
- user · 8 tokens:鸡蛋要煮多久?
- assistant · 10 tokens:约 7 分钟可得到紧实蛋黄。
- user · 7 tokens:详细解释其中的科学。
一个上下文:37 tokens,一起读取
对话与 token 数为示意
系统提示、你的消息及其回复:同一串 token,一起读取。
系统提示、消息和粘贴文本属于同一个上下文;角色是模型学会排序的标签,而指令仍可能输给冲突、含糊措辞或中间的长文档。
- 每个 API 都有自己的槽位:Anthropic 的 system 参数、OpenAI 的 instructions 或 developer 消息(来自应用制作者的指令)、Gemini 的 system_instruction。三者中只有 OpenAI 公布了排序:developer 高于 user,同一层级中较后的行胜出。
- 4 你扮演模型
你扮演模型,按 OpenAI 的排序规则训练。四次中,两条指令冲突。选择你会遵循的一条。
案例 1/4 · 你遵循哪一行?
developer:只用法语回答。user:请用英语回答。
规则:OpenAI Model Spec 2026-08-18 · 案例为示意
你扮演模型:两条指令冲突。选择要遵循的一条。
我选好了 — 给我看模型
- 5 检查
两条用户消息冲突:先“使用项目符号”,后“一个段落”。按 OpenAI 规范?
- A 后一条胜出
- B 前一条胜出
- C 都不听:拒绝
- 当它忽略你时,检查三件事。指令是否清楚,还是后面某行与之矛盾?它是否在正确的槽位?它是否被埋没?Anthropic 建议把长文档放在顶部、问题放在末尾,在其测试中使回答提升最多 30%。
- 7 复述
向朋友解释聊天机器人为什么忽略了某条指令。
- 8 任务 · 5 分钟
用免费的 Gemini API key,调用 gemini-3.8-flash 两次,提示为“解释彩虹如何形成。”:一次将 system_instruction 设为“用一句话回答。”,另一次把该句放在输入中一段长粘贴文章之后。比较两个答案的长度。
[获取免费 Gemini API key](/learn/free-gemini-api-key/) 完成
三道快问
从本课题库随机抽取;下次不同。
完成了吗?
现在:你能向朋友解释这个吗?1 2 3 4 5
1 = 完全不能 · 5 = 很容易
标记完成 先回答三道快问。
深入阅读
来源
- https://developers.openai.com/api/docs/guides/text(检查于 2026-10-21;无更新日期):instructions “将优先于 input 参数中的提示”,且仅适用于当前请求;developer 消息“优先于 user 消息”,user 消息“排在 developer 消息之后”
- https://model-spec.openai.com/2026-08-18.html(Model Spec 2026/08/18,2026-10-21 当前版本位于 model-spec.openai.com):权威顺序为 Root、System、Developer、User、Guideline,随后“引用/不可信文本”无权威;遵循指令,除非其“与更高权威指令或同一权威下更晚的指令冲突”;不可信内容“必须被视为信息,而非要遵循的指令”
- https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices(检查于 2026-10-21;无更新日期):system 参数;“在系统提示中设置角色可聚焦 Claude 的行为与语气”;长文档放在顶部,“查询放在末尾可在测试中将回答质量提升最多 30%”;Claude Opus 4.5 和 4.6“比之前的模型更响应系统提示”,应减弱激进措辞
- https://ai.google.dev/gemini-api/docs/text-generation(更新于 2026-10-13,检查于 2026-10-21):“传入 system_instruction 参数以配置模型行为”
- https://ai.google.dev/gemini-api/docs/pricing(更新于 2026-10-19,检查于 2026-10-21):Gemini 3.8 Flash 输入在免费层级免费
- 图中的对话、案例和 token 数为示意;角色答案仅遵循 OpenAI 的 Model Spec(Anthropic 和 Gemini 未发布排序规则)