02b - 模型差异化 Prompt 技巧
本文是《AI Agent 实战手册》第 2 章第 2 节。 上一节:12 种 Prompt 模式扫盲 | 下一节:Prompt 反模式与调试
概述
同一个 prompt 在不同模型上的表现可能天差地别。Claude 偏好 XML 标签和长上下文,GPT 擅长严格格式化输出,Gemini 在多模态和超长上下文上有独特优势。本节深入分析 2026 年三大主流模型(Claude、GPT、Gemini)的 prompt 差异,提供跨模型对比表和并排示例,帮助你为每个模型写出最优 prompt。
1. 三大模型 Prompt 特性对比
核心差异速查表
| 维度 | Claude (Opus 4.5 / Sonnet 4) | GPT (GPT-5.2 / 4o) | Gemini (3 Pro / 2.5 Pro) |
|---|---|---|---|
| 上下文窗口 | 200K tokens | 128K tokens | 1M+ tokens |
| Prompt 偏好风格 | 结构化 XML 标签 | 严格 schema + 步骤 | 范围界定 + 来源要求 |
| 最佳用途 | 长文档分析、代码审查、深度推理 | 格式化输出、模板生成、代码片段 | 研究综合、多模态、大代码库 |
| 常见失败模式 | 不设限制时输出过长 | 格式正确但内容可能浅薄 | 来源不够具体除非明确要求 |
| System Prompt 支持 | 原生支持,效果好 | 原生支持,效果好 | 支持,但早期版本较弱 |
| 结构化输出 | Tool Use / JSON Mode | Structured Outputs (JSON Schema) | Controlled Generation |
| 编码能力 | SWE-bench 80.9%(Opus 4.5) | 强通用编码 | 强多文件推理 |
| 推理能力 | 深度推理,善于权衡分析 | ARC-AGI-2 52.9%(GPT-5.2) | 强多模态推理 |
2. Claude Prompt 最佳实践
核心原则
Claude 的设计哲学是”精确指令优于友好猜测”。Claude 4.x 系列模型更倾向于严格遵循指令,而非自行推测用户意图。
关键技巧
技巧 1:使用 XML 标签组织 prompt 结构
Claude 对 XML 标签有特殊的理解能力,这是 Anthropic 官方推荐的 prompt 组织方式。
<context>
你正在审查一个 React + TypeScript 电商项目的购物车模块。
项目使用 Zustand 做状态管理,TanStack Query 做数据获取。
</context>
<instructions>
请审查以下代码,关注:
1. 类型安全性
2. 状态管理模式
3. 错误处理完整性
4. 性能优化机会
</instructions>
<code>
[代码内容]
</code>
<output_format>
按严重程度分级输出:
🔴 必须修复 | 🟡 建议改进 | 🔵 可选优化
每个问题包含:位置、描述、修复建议、修复代码
</output_format>技巧 2:先给上下文,再给指令
Claude 在处理长上下文时表现优异,但需要先理解背景再执行任务。将上下文放在指令之前,效果显著优于反过来。
❌ 不推荐:
请分析这段代码的性能问题。[代码] 这是一个高并发的支付系统。
✅ 推荐:
这是一个高并发支付系统的核心处理模块,日均处理 100 万笔交易。
当前 P99 延迟为 500ms,目标是降到 200ms 以下。
请分析以下代码的性能瓶颈,并给出优化方案:
[代码]技巧 3:要求列出假设和不确定性
Claude 擅长深度思考和权衡分析。明确要求它列出假设条件,可以获得更可靠的输出。
请为这个微服务架构设计缓存策略。
要求:
1. 列出你做出的所有假设
2. 对每个方案说明适用条件和风险
3. 如果信息不足以做出判断,明确指出需要哪些额外信息
4. 最终推荐一个方案,并解释权衡技巧 4:设置输出长度限制
Claude 不设限时容易输出过长。始终明确长度约束。
请用不超过 300 字总结这篇文章的核心观点。
用 bullet point 格式,每点不超过 30 字。技巧 5:使用 prefill 技术引导输出格式
在 API 调用中,可以预填充 assistant 消息的开头,强制 Claude 按特定格式输出。
{
"messages": [
{"role": "user", "content": "分析这段代码的问题"},
{"role": "assistant", "content": "```json\n{\"issues\": ["}
]
}Claude Prompt 模板
<role>你是 [具体角色描述,包含经验和专长]</role>
<context>
[项目背景、技术栈、当前状况]
</context>
<task>
[明确的任务描述]
</task>
<constraints>
- [约束 1]
- [约束 2]
- 输出不超过 [N] 字
</constraints>
<output_format>
[期望的输出格式描述]
</output_format>3. GPT Prompt 最佳实践
核心原则
GPT 系列(GPT-4o、GPT-5.2)在格式化输出和模板遵循方面表现最强。2026 年的 GPT-5.2 推荐使用 CTCO 框架(Context → Task → Constraints → Output)进行结构化 prompt。
关键技巧
技巧 1:格式优先,先声明输出格式
GPT 对格式指令的遵循度极高。在 prompt 开头就声明期望格式,效果最佳。
输出格式:Markdown 表格,包含以下列:
| 工具名 | 用途 | 价格 | 推荐指数 |
任务:对比 5 个主流的 CI/CD 工具。
每个工具的推荐指数用 1-5 星表示。技巧 2:分步骤编号,明确执行顺序
GPT 对编号步骤的遵循非常精确。
请按以下步骤完成任务:
步骤 1:读取输入数据,识别数据类型
步骤 2:对每个字段进行验证,列出不合规项
步骤 3:生成验证报告,格式为 JSON
步骤 4:在报告末尾添加修复建议
每个步骤完成后,用 "--- Step N Complete ---" 标记。技巧 3:提供一个示例锚定输出质量
GPT 对示例的模仿能力很强。提供一个高质量示例,可以显著提升输出一致性。
请为以下 API 端点编写文档。参考示例:
### GET /api/users
**描述:** 获取用户列表
**参数:**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| page | int | 否 | 页码,默认 1 |
**响应:** 200 OK
```json
{"users": [...], "total": 100}现在请为以下端点编写相同格式的文档: POST /api/orders
#### 技巧 4:使用 Structured Outputs API
GPT-4o 和 GPT-5.2 支持原生 JSON Schema 约束,保证 100% 输出合规。
```python
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "分析这段代码"}],
response_format={
"type": "json_schema",
"json_schema": {
"name": "code_analysis",
"schema": {
"type": "object",
"properties": {
"language": {"type": "string"},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"severity": {"enum": ["error", "warning", "info"]},
"message": {"type": "string"}
}
}
}
},
"required": ["language", "issues"]
}
}
}
)技巧 5:添加自检指令
让 GPT 在输出前检查自己是否遵循了所有规则。
在输出最终结果之前,请先检查:
1. 表格是否包含所有要求的列?
2. JSON 是否可以直接解析?
3. 字数是否在限制范围内?
如果任何检查不通过,先修正再输出。GPT Prompt 模板(CTCO 框架)
Context: [背景信息]
Task: [具体任务]
Constraints:
- 格式:[输出格式要求]
- 长度:[字数/行数限制]
- 规则:[必须遵守的规则]
Output: [输出示例或 schema]4. Gemini Prompt 最佳实践
核心原则
Gemini 的核心优势是超大上下文窗口(1M+ tokens)和原生多模态能力。Prompt 策略应围绕”范围界定”和”来源要求”展开。
关键技巧
技巧 1:明确界定研究范围
Gemini 擅长综合大量信息,但需要明确的范围约束。
研究问题:2026 年 Rust Web 框架的生态现状
范围:
- 时间范围:2025 年 1 月至今
- 关注框架:Actix-web, Axum, Rocket, Poem, Salvo
- 评估维度:性能、生态、学习曲线、社区活跃度
输出要求:
1. 8 条 bullet point 总结
2. 对比表格:框架 | 优势 | 劣势 | GitHub Stars | 推荐场景
3. 标注不确定的信息
4. 提供关键声明的来源链接技巧 2:充分利用超长上下文
Gemini 可以处理 1M+ tokens,适合整个代码库级别的分析。
以下是一个完整的 Node.js 项目代码(包含 50 个文件)。
请完成以下分析:
1. 绘制模块依赖关系图(Mermaid 格式)
2. 识别循环依赖
3. 找出未使用的导出
4. 评估整体架构质量(1-10 分)
5. 给出重构优先级建议
[粘贴完整项目代码]技巧 3:多模态 prompt 要明确指示
上传图片时,明确告诉 Gemini 要关注什么。
[上传截图]
这是我们应用的登录页面截图。请分析:
1. UI/UX 问题(对齐、间距、颜色对比度)
2. 无障碍性问题(WCAG 2.1 AA 标准)
3. 与 Material Design 3 规范的偏差
4. 移动端适配建议
输出格式:按严重程度排序的问题列表,每个问题附带修复建议。技巧 4:要求标注不确定信息
Gemini 有时会生成看似可信但不准确的内容。明确要求标注不确定性。
对于你不确定的信息,请用 [⚠️ 待验证] 标记。
对于有明确来源的信息,请附上来源链接。
如果某个问题你无法给出可靠答案,请直接说明而非猜测。Gemini Prompt 模板
研究问题:[主题]
范围:
- 时间范围:[起止时间]
- 地域/领域:[限定范围]
- 输出格式:[bullet + 表格 / 报告 / 代码]
要求:
1. [具体要求 1]
2. [具体要求 2]
3. 标注不确定信息
4. 提供关键声明的来源
[如有附件:说明附件内容和分析重点]5. 并排对比示例
示例 1:代码审查任务
同一任务,三种模型的最优 prompt 写法:
Claude 版本
<context>
这是一个 Python FastAPI 项目的用户认证模块。
项目使用 SQLAlchemy ORM,JWT 认证,部署在 AWS Lambda 上。
日活用户约 5 万。
</context>
<task>
审查以下代码的安全性和性能问题。
</task>
<requirements>
- 列出你的假设
- 按严重程度分级:🔴 严重 / 🟡 警告 / 🔵 建议
- 每个问题包含修复代码
- 总结不超过 500 字
</requirements>
<code>
[代码]
</code>GPT 版本
你是一个安全审计专家。
任务:审查以下 Python FastAPI 认证代码。
输出格式:
| # | 严重程度 | 位置 | 问题 | 修复建议 |
|---|---------|------|------|---------|
规则:
1. 严重程度用 Critical/Warning/Info
2. 位置精确到行号
3. 修复建议包含代码片段
4. 最后输出 JSON 摘要:{"critical": N, "warning": N, "info": N}
代码:
[代码]Gemini 版本
审查以下 Python FastAPI 认证代码的安全性。
范围:
- 关注 OWASP Top 10 相关问题
- 检查 JWT 实现是否符合 RFC 7519
- 评估 SQL 注入风险
输出:
1. 问题列表(按风险排序)
2. 每个问题的 CWE 编号(如适用)
3. 修复代码
4. 标注不确定的判断
[代码]示例 2:技术方案设计
Claude 版本
<context>
我们是一个 10 人的创业团队,正在构建一个实时协作文档编辑器。
当前技术栈:React + Node.js + PostgreSQL。
预期用户量:初期 1000 人,一年内增长到 10 万。
</context>
<task>
设计实时协作的技术方案,对比 CRDT 和 OT 两种方案。
</task>
<output_format>
1. 两种方案的对比表
2. 基于我们的场景给出推荐
3. 列出你的假设和不确定因素
4. 推荐方案的实施路线图(分 3 个阶段)
不超过 800 字。
</output_format>GPT 版本
Context: 10 人创业团队,构建实时协作文档编辑器。
技术栈:React + Node.js + PostgreSQL。用户量:1K → 100K。
Task:
步骤 1:对比 CRDT 和 OT,输出表格
步骤 2:推荐一个方案,说明理由
步骤 3:输出实施路线图(3 阶段)
Output format:
- 对比表:| 维度 | CRDT | OT |
- 推荐:不超过 200 字
- 路线图:Mermaid gantt 图Gemini 版本
研究问题:实时协作文档编辑器应该选择 CRDT 还是 OT?
背景:10 人团队,React + Node.js + PostgreSQL,用户 1K → 100K
请分析:
1. 两种方案的技术对比(性能、复杂度、生态)
2. 2025-2026 年的最新实践和开源方案
3. 基于我们的规模给出推荐
4. 提供关键声明的来源链接
5. 标注不确定的判断
输出:bullet 总结 + 对比表 + 推荐方案示例 3:数据分析任务
Claude 版本
<data>
[CSV 数据或数据描述]
</data>
<task>
分析用户流失数据,找出关键流失因素。
</task>
<analysis_requirements>
- 先列出你对数据的理解和假设
- 使用至少 3 种分析角度
- 对每个发现说明置信度(高/中/低)
- 给出可执行的改进建议
- 总结不超过 600 字
</analysis_requirements>GPT 版本
任务:分析用户流失数据。
步骤 1:数据概览(输出表格:字段 | 类型 | 缺失率 | 分布)
步骤 2:流失因素分析(输出 Top 5 因素,每个包含相关性系数)
步骤 3:可视化建议(输出 Python matplotlib 代码)
步骤 4:改进建议(输出 JSON:{"factor": "", "action": "", "priority": ""})
数据:
[数据]Gemini 版本
[上传 CSV 文件]
这是我们产品过去 6 个月的用户行为数据。
分析目标:找出用户流失的关键因素
要求:
1. 数据质量评估
2. 多维度流失分析(时间、功能使用、用户画像)
3. 与行业基准对比(SaaS 平均流失率)
4. 可执行的改进建议,按 ROI 排序
5. 标注数据不足以支撑的结论6. 跨模型通用 Prompt 编写策略
如果你需要一个 prompt 在多个模型上都能工作良好,遵循以下原则:
通用模板
角色:[具体角色]
背景:[项目/任务背景]
任务:[明确的任务描述]
要求:
1. [具体要求,编号列出]
2. [格式要求]
3. [长度限制]
输出格式:[明确的格式描述]
注意:
- 如果信息不足,请说明而非猜测
- 列出你的假设模型适配层
在通用 prompt 基础上,添加模型特定的”适配层”:
| 模型 | 适配层内容 |
|---|---|
| Claude | 添加 XML 标签包裹各部分;要求列出假设和权衡 |
| GPT | 添加输出 schema 或示例;添加自检步骤 |
| Gemini | 添加范围界定和时间限制;要求标注来源和不确定性 |
避坑指南
❌ 常见错误
-
一个 prompt 打天下
- 问题:同一个 prompt 不加修改地用于所有模型,导致效果参差不齐
- 正确做法:建立”基础 prompt + 模型适配层”的两层结构
-
忽略模型的上下文窗口差异
- 问题:给 GPT(128K)发送超长上下文,导致信息丢失
- 正确做法:根据模型窗口大小调整输入量。超长内容优先用 Gemini
-
不利用模型的独特优势
- 问题:用 Gemini 做简单的格式化输出(GPT 更擅长),或用 GPT 做超长文档分析(Claude/Gemini 更擅长)
- 正确做法:根据任务类型选择最合适的模型
-
Claude prompt 中不设长度限制
- 问题:Claude 默认倾向于详尽输出,不设限制可能得到过长的回复
- 正确做法:始终在 Claude prompt 中添加明确的字数或段落限制
-
Gemini prompt 不要求来源
- 问题:Gemini 可能生成看似可信但无法验证的信息
- 正确做法:明确要求”提供来源链接”和”标注不确定信息”
✅ 最佳实践
- 为每个常用任务维护三个版本的 prompt(Claude/GPT/Gemini)
- 使用 A/B 测试比较不同模型在同一任务上的表现
- 关注模型更新日志——每次模型升级可能改变最佳 prompt 策略
- 在团队中建立 prompt 模板库,按模型和任务类型分类
- 对于关键任务,用多个模型交叉验证结果
相关资源与延伸阅读
模型官方文档
- Anthropic Claude 文档 — Claude 模型的完整文档,包含 Prompt 最佳实践和 XML 标签用法
- OpenAI API 文档 — GPT 系列模型的官方指南,包含 System Message 和 Function Calling 规范
- Google Gemini API 文档 — Gemini 模型文档,涵盖多模态 Prompt 和 Grounding 功能
对比与评测
- Chatbot Arena (LMSYS) — 匿名模型对战平台,通过真实用户投票评估模型能力
- Artificial Analysis — 独立的 LLM 性能和价格对比平台,实时更新
- OpenRouter — 统一 API 访问多个模型,方便对比不同模型的 Prompt 响应差异
实验工具
- PromptLayer — Prompt 版本管理和日志追踪平台,支持多模型对比
- Braintrust — Prompt 评估和管理平台,支持 A/B 测试和自动化评分
社区讨论
- r/ClaudeAI — Claude 用户社区,分享模型使用技巧和 Prompt 策略
- r/ChatGPT — ChatGPT 社区,讨论 GPT 系列模型的最佳实践
参考来源
- Claude vs ChatGPT vs Gemini Prompting: Best Practices (2025) (2025 年 8 月)
- Best AI for Developers: Claude vs GPT vs Gemini Technical Comparison 2026 (2026 年 1 月)
- Use XML tags to structure your prompts - Anthropic Docs (2025 年)
- Claude Prompt Engineering Best Practices (2026) (2025 年 12 月)
- Complete AI Model Comparison for 2026 (2026 年 1 月)
- GPT-5.2 Prompting Guide: The 2026 Playbook (2026 年 2 月)
📖 返回 总览与导航 | 上一节:12 种 Prompt 模式扫盲 | 下一节:Prompt 反模式与调试