Skip to Content

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 tokens128K tokens1M+ tokens
Prompt 偏好风格结构化 XML 标签严格 schema + 步骤范围界定 + 来源要求
最佳用途长文档分析、代码审查、深度推理格式化输出、模板生成、代码片段研究综合、多模态、大代码库
常见失败模式不设限制时输出过长格式正确但内容可能浅薄来源不够具体除非明确要求
System Prompt 支持原生支持,效果好原生支持,效果好支持,但早期版本较弱
结构化输出Tool Use / JSON ModeStructured 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添加范围界定和时间限制;要求标注来源和不确定性

避坑指南

❌ 常见错误

  1. 一个 prompt 打天下

    • 问题:同一个 prompt 不加修改地用于所有模型,导致效果参差不齐
    • 正确做法:建立”基础 prompt + 模型适配层”的两层结构
  2. 忽略模型的上下文窗口差异

    • 问题:给 GPT(128K)发送超长上下文,导致信息丢失
    • 正确做法:根据模型窗口大小调整输入量。超长内容优先用 Gemini
  3. 不利用模型的独特优势

    • 问题:用 Gemini 做简单的格式化输出(GPT 更擅长),或用 GPT 做超长文档分析(Claude/Gemini 更擅长)
    • 正确做法:根据任务类型选择最合适的模型
  4. Claude prompt 中不设长度限制

    • 问题:Claude 默认倾向于详尽输出,不设限制可能得到过长的回复
    • 正确做法:始终在 Claude prompt 中添加明确的字数或段落限制
  5. Gemini prompt 不要求来源

    • 问题:Gemini 可能生成看似可信但无法验证的信息
    • 正确做法:明确要求”提供来源链接”和”标注不确定信息”

✅ 最佳实践

  1. 为每个常用任务维护三个版本的 prompt(Claude/GPT/Gemini)
  2. 使用 A/B 测试比较不同模型在同一任务上的表现
  3. 关注模型更新日志——每次模型升级可能改变最佳 prompt 策略
  4. 在团队中建立 prompt 模板库,按模型和任务类型分类
  5. 对于关键任务,用多个模型交叉验证结果

相关资源与延伸阅读

模型官方文档

对比与评测

实验工具

  • PromptLayer  — Prompt 版本管理和日志追踪平台,支持多模型对比
  • Braintrust  — Prompt 评估和管理平台,支持 A/B 测试和自动化评分

社区讨论

  • r/ClaudeAI  — Claude 用户社区,分享模型使用技巧和 Prompt 策略
  • r/ChatGPT  — ChatGPT 社区,讨论 GPT 系列模型的最佳实践

参考来源


📖 返回 总览与导航 | 上一节:12 种 Prompt 模式扫盲 | 下一节:Prompt 反模式与调试

Last updated on