跳到主要内容

跨模型迁移提示词

进阶

你有一段在某个模型上运行得非常出色的提示词。现在你需要把它用到另一个模型上——某个客户端跑在 GPT 上,某个成本目标把你推向开源模型,或者你正在拿 Claude 对比 Gemini 做 A/B 测试。好消息是,每家供应商自己的文档都反复印证:一段好提示词的骨架是通用的。 变化的只是薄薄一层表面约定。本页把两者区分开来,让你无需重写就能迁移一段提示词,并给出一套可重复的迁移工作流以及一个可移植的模板。

What you'll learn
  • 了解提示词中哪些部分能在 Claude、GPT、Gemini 与开源模型之间干净地转移
  • 了解哪些部分需要按模型调整——以及为什么
  • 运行一套可重复的迁移工作流,而不是靠反复试错来重写
  • 保留一个可移植、模型中立的提示词模板,可针对每个目标做专门化处理

心智模型:结构可转移,约定不可

把任何一段提示词看作两层:

  • 推理层——你在问什么、你提供的上下文、示例、你想要的输出。这关乎沟通,几乎原封不动地在各模型间转移。
  • 约定层——这个特定模型希望这份沟通如何被打包:系统提示放在哪里、被遵循的力度有多大,它偏好 XML 还是 Markdown,确切的工具调用模式,它默认的话痨程度和拒答姿态,存在哪些生成参数。

迁移一段提示词几乎从来不是重写推理层,而是重新适配约定层。把这个区分搞对,迁移就从神秘变成机械了。(关于如何以供应商中立的方式首先挑选一个目标,见 选择模型。)

哪些能干净地转移

以下这些在 Claude、GPT、Gemini 以及主要开源模型上都成立——每家供应商自己的最佳实践文档都独立地推荐它们:

  • 清晰的角色 + 任务 + 明确的指令。 “你是 X。你的工作是 Y。遵守这些规则。” 每家供应商都记录了某种人设/角色构造,并且相比含糊的指令,都更奖励具体、无歧义的指令。
  • 具体的示例(few-shot)。 展示 2–5 个输入→输出对,比描述某个模式更可靠地把它教给模型。三大供应商都明确推荐 few-shot 示例;Gemini 的文档甚至建议你几乎总是应该包含它们。
  • 指定的输出格式。 “返回一个带 X、Y、Z 列的 Markdown 表格” 或 “只要 JSON,不要散文”,在哪里都管用。即使严格模式的机制不同(下文会讲),这条指令本身也能转移。
  • 思维链 / “先推理再作答”。 在难任务上要求逐步推理能在各模型上改善结果。有一个确实因模型而异的注意点:专用的推理/思考模型往往在内部就这么做了,所以明确的 “一步步思考” 可能是多余的甚至适得其反——见需调整清单。
  • 接地 / RAG。 “只使用下面的上下文;如果答案不在其中,就说你不知道。” 提供检索到的上下文并把模型约束在其上的这种纪律是通用的——每家供应商都把 RAG 式接地记录为减少幻觉的方式。
  • 把长上下文放在前面,问题放在最后。 用文档/数据开头,用指令结尾。这种顺序在各模型上都有帮助,并且在 Gemini 的指南里被明确点出。

如果你已经内化了 提示词基础,你就已经拥有了可移植的那 80%。

哪些需要按模型调整

这就是约定层——真正有差异的部分。迁移时重新适配这些:

方面各模型间会变的是什么该怎么做
系统提示的处理与权重每个模型都有系统/开发者消息,但它对用户轮的覆盖力度各不相同。有些把专用的开发者/系统角色的权重置于用户指令之上;有些则模糊了这条界线。别假设你的系统提示会被以同样的力度遵循。重新测试约束是否真的成立;如果关键规则被忽略,就把它们提到更靠前。
XML vs Markdown vs 分隔符Claude 尤其擅长解析 XML 标签 来分隔指令/上下文/示例;GPT 和 Gemini 接受 XML,但也倚重 Markdown 标题和分隔符。保留某种明确结构;把风味换成目标偏好的那种。让你的提示词格式匹配想要的输出,也会助推输出风格。
工具 / 函数调用的 JSON 形状这个循环(声明工具 → 模型请求一次调用 → 你执行 → 返回结果)在哪里都相同;但线上格式并不相同——字段名、调用/结果如何摆放在消息列表里,以及严格模式选项都不同。绝不要在供应商之间照搬原始工具 JSON。重新映射到目标模式。见 工具使用
默认冗长度较新的模型默认趋向简洁,并期望你主动要求细节;较老的模型更话痨。如果你迁移了一段提示词后答案变短/变长了,请明确设置冗长度,而不是怪罪提示词。
拒答 / 安全姿态每个模型对拒绝或回避临界请求都有自己的阈值,而且这些每次发布都会重新调校。迁移后重新测试边缘情况。在一个模型上从不触发拒答的提示词,在另一个模型上可能需要重新措辞。
预填充答案把话塞进助手嘴里以强制某种格式,是经典的 Claude 时代杠杆——但较新的 Claude 模型(4.6+)会拒绝一个被预填充的最终助手轮,而在别处支持情况完全不一。用一条直接指令(“不带前言地回答”)、一个输出模式,或工具调用来替代预填充。
停止序列与最大 token所有模型都暴露长度上限,大多数也暴露停止序列,但参数名、默认值和上限各不相同——而且一些思考预算旋钮正被弃用,转而用 effort/max_tokens在目标上重新核对参数名和上限;别假设你旧的值能照搬过去。

一套迁移工作流

把迁移当作一个短促、有纪律的循环,而不是一次靠猜的重写。

Guided walkthrough1 of 6
  1. 阅读你现有的提示词,在脑中把它拆开:推理层(角色、任务、上下文、示例、输出规格)vs 约定层(XML/Markdown 的选择、预填充、工具 JSON、参数)。你将保留前者,重新适配后者。

:::tip 不要从头重写 如果你发现自己在重建角色、任务或示例,停下——那是可移植的那一层。一次干净的迁移改变的是打包,而不是含义。 :::

一个可移植的提示词模板

用一种模型中立的形状来写你的提示词,然后仅针对每个目标专门化约定层。这个内核使用轻量、被普遍理解的结构(它作为 Markdown 读起来很清爽,而且这些标记很容易为 Claude 转换成 XML):

模型中立的提示词内核——针对每个目标专门化约定层

# ROLE
You are {role}.

# TASK
{One clear sentence describing the single goal.}

# RULES
- Use ONLY the information in CONTEXT below. If the answer is not there, say "I don't know" — do not guess.
- Be concise. Respond directly, with no preamble like "Here is..." or "Based on...".
- {Any other hard constraints.}

# OUTPUT FORMAT
{Exact format — e.g. "A Markdown table with columns Name, Value, Source." or "JSON only matching this schema: {...}".}

# EXAMPLES
Input: {example input 1}
Output: {ideal output 1}

Input: {example input 2}
Output: {ideal output 2}

# CONTEXT
{Retrieved documents / data go here — long content first.}

# REQUEST
{The actual user question, last.}

在其上叠加的按目标微调:

  • Claude —— 把段落标记移进 XML 标签(<role><rules><context><request>);它解析这些尤其干净。在当前模型上不要使用被预填充的助手轮;改为依赖 “不带前言” 规则,或一个工具/模式。
  • GPT —— 把 RULES 放进系统/开发者消息,让它们承载更多权重;Markdown 标题没问题;使用结构化输出/严格 JSON 模式,而不是只在散文里描述模式。
  • Gemini —— 通过系统指令字段传入 ROLE + RULES + OUTPUT FORMAT,保持提示词直接(较新的 Gemini 可能会过度解读冗长的提示词),并保持 CONTEXT 在前、REQUEST 在最后。
  • 开源模型(Llama/Mistral/Qwen 等) —— 严格遵循该模型发布的聊天模板,并更用力地倚重明确的 few-shot 示例和格式约束,因为其指令遵循通常不如前沿的闭源模型稳健。

快速自查

自我检查

0/3
  1. 你正把一段可用的 Claude 提示词迁到 GPT。你应该预期哪一部分基本保持不变?
  2. 你迁移后的提示词在新模型上突然产生短得多的答案。最可能的原因?
  3. 关于在供应商之间迁移工具/函数调用,下列哪项为真?
迁移速查表
按 Enter 或空格键翻转卡片。使用左右方向键在卡片之间切换。已显示术语。
1 / 6
Key takeaways
  • 一段提示词是推理层(会转移)加约定层(按模型重新适配)——迁移后者,保留前者。
  • 清晰的角色/任务/指令、few-shot 示例、输出格式规格、思维链和 RAG 接地,在 Claude、GPT、Gemini 与开源模型之间转移。
  • 按目标调整系统提示权重、XML vs Markdown 结构、工具调用 JSON、默认冗长度、拒答姿态、预填充,以及长度参数。
  • 在真实输入上前后各跑一个微型评测集;在动推理之前先修约定。
  • 把一个模型中立的模板加上按目标的微调保留在版本控制里,让切换变得廉价。
  • 具体行为每次发布都会漂移——在每家供应商的当前文档处核实参数和限制,绝不凭记忆。

来源与延伸阅读

下一步