← 小课堂

为什么模型会忽略我的指令?

为什么模型会忽略我的指令?

系统提示与指令优先级 · 初级 · 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 未发布排序规则)

译自 aifree.dev 教程栏目 · 信息以原文为准