一个Prompt的"排异反应"
我们写了一个精心设计的Prompt用于代码生成,在GPT-5上稳定运行了三个月,效果完美。出于成本考虑,我们把它移植到DeepSeek V3上——同样的Prompt,同样的任务,效果下降了约30%。
不是模型不够好,是Prompt与模型"不对付"。 每个模型都有自己的"Prompt方言"——同一个意思,需要用不同的方式表达,才能在不同的模型上发挥最佳效果。
为什么同一个Prompt在不同模型上表现不同
原因一:训练数据分布不同。 GPT-5的训练数据中,英文技术文档占比高,所以它对结构化、技术化的Prompt风格响应更好。Claude 4 Opus的训练数据中包含了更多对话和创意写作,所以它对自然语言风格、角色扮演式的Prompt更敏感。
原因二:对齐方式不同。 GPT-5的对齐倾向于"准确执行指令",即使指令本身不太合理。Claude 4 Opus的对齐倾向于"理解用户意图后给出最佳回答",有时会"修正"你不够好的指令。这在某些场景中是优势,在某些场景中是干扰。
原因三:上下文处理机制不同。 GPT-5对长Prompt中的信息"均匀关注",但可能在非常长的Prompt中"遗忘"中间部分。Claude 4 Opus对Prompt开头和结尾的信息"加权关注",中间部分可能被忽略。Gemini 3 Ultra对格式约束的敏感度低于其他模型。
四大模型的Prompt适配指南
GPT-5适配:
- 偏好:结构化、层次清晰、详细的指令
- 避免:过于口语化、模糊的表达
- 技巧:将指令按重要性降序排列,最关键的约束放在最前面
- 示例:“请执行以下任务:[任务描述]。约束条件:1)[约束A];2)[约束B];3)[约束C]。输出格式:[格式要求]。”
Claude 4 Opus适配:
- 偏好:自然语言、角色扮演、上下文丰富的指令
- 避免:过于生硬的命令式语气
- 技巧:用"你是一个…“开头,用"请帮我…“代替"请执行…”
- 示例:“你是一名资深软件工程师。请帮我完成以下任务:[任务描述]。我的场景是:[上下文]。我特别关注:[重点]。”
Gemini 3 Ultra适配:
- 偏好:直接的指令,不需要太多"闲聊”
- 避免:过于复杂的格式约束
- 技巧:在Prompt开头和结尾各重申一次关键约束
- 示例:“任务:[任务描述]。格式:[格式要求]。请严格按格式输出。再次强调:格式要求为[格式要求]。”
DeepSeek V3适配:
- 偏好:中文Prompt用中文写,英文Prompt用英文写——不要混用
- 避免:中英文混杂的Prompt(会显著降低效果)
- 技巧:用中文思维组织Prompt,不要从英文直译
- 示例:“请帮我完成以下任务:[任务描述]。要求:[中文要求]。注意事项:[中文注意事项]。”
跨模型兼容的Prompt设计原则
如果你的Prompt需要在多个模型上运行(比如搭建了一个模型路由系统),遵循以下原则:
原则一:用最通用的语言。 避免依赖某个模型特有的"理解方式"。写出一个人类也能理解的指令,而不是一个针对特定模型优化的指令。
原则二:显式比隐式好。 不要依赖模型"理解你的意图"——显式地说出来。不要写"专业一点",写"使用正式的语言,引用权威来源,避免口语化表达"。
原则三:测试,测试,再测试。 在目标模型上各测试20个案例,观察失败模式。不同模型的失败模式往往不同,了解这些差异是优化跨模型Prompt的关键。
原则四:考虑使用模型路由 + 模型专属Prompt。 与其写一个"通用Prompt",不如为每个模型写一个"专属Prompt",然后根据调用的模型动态选择Prompt。这增加了维护成本,但效果显著提升。
一个深刻的经验: Prompt不是"写"出来的,是"适配"出来的。在2026年的多模型生态中,“一个Prompt走天下"的时代已经过去了。 学会为不同的模型写不同的Prompt,是Prompt工程师的核心竞争力。