Appearance
大模型使用最佳实践
主题:Claude、Gemini、ChatGPT 的提示词工程、上下文工程与编程工具
类别:软件项目(software)
版本:v1
日期:2026-01-25
深度:深度分析
概述
本文档系统整理了当前三大主流大语言模型的最佳使用实践,涵盖提示词工程(Prompt Engineering)核心方法论、上下文工程(Context Engineering)进阶策略,以及各家编程工具生态。
一、提示词工程:三大模型通用原则
1.1 核心方法论
无论使用哪家大模型,以下原则都是提升输出质量的基础:
| 原则 | 说明 | 示例 |
|---|---|---|
| 清晰明确 | 使用具体、无歧义的指令,避免模糊表达 | ❌"写个总结" → ✅"用3个要点概括这篇文章的核心论点" |
| 结构化输入 | 使用分隔符(XML标签/Markdown)区分不同部分 | <context>背景</context><task>任务</task> |
| 角色定义 | 在系统提示中定义AI的专业身份 | "你是一位资深的Python架构师..." |
| 示例引导 | 提供1-3个期望的输入输出示例(Few-shot) | 输入格式:... 输出格式:... |
| 思维链 | 要求模型逐步推理(Chain-of-Thought) | "请一步一步分析这个问题..." |
| 输出格式 | 明确指定期望的输出格式 | "请用JSON格式输出,包含以下字段..." |
1.2 结构化提示模板 (Claude/GPT-4o)
xml
<system>
你是一位资深的分布式系统架构师,擅长使用Python和Go构建高并发微服务。
你的回答应该由浅入深,先给出高层架构设计,再深入代码实现细节。
对于关键决策,请提供 Pros/Cons 对比分析。
</system>
<context>
[项目背景]
目前我们有一个基于Flask的单体应用,随着用户量增长,数据库连接池经常耗尽。
日活用户:10万
峰值QPS:5000
技术栈:Python 3.10, Flask, PostgreSQL, Redis
</context>
<task>
1. 分析当前性能瓶颈的根本原因
2. 提出从单体向微服务迁移的阶段性方案
3. 针对数据库连接问题给出立即生效的优化建议
</task>
<output_format>
请使用Markdown格式输出,包含以下章节:
## 1. 瓶颈分析
## 2. 短期优化 (立即行动)
## 3. 长期架构演进 (微服务路线图)
## 4. 关键风险
</output_format>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1.3 进阶技巧:Chain of Thought (CoT) 与 Few-Shot
Chain of Thought (CoT) 示例:
❌ 普通提示: "这块地长10米宽20米,种玉米每平方米产3斤,能卖多少钱?单价1.5元。"
✅ CoT 提示: "这块地长10米宽20米,种玉米每平方米产3斤,单价1.5元。请一步一步计算能卖多少钱。"
模型推理过程:
- 先计算面积:10 * 20 = 200 平方米
- 计算总产量:200 * 3 = 600 斤
- 计算总价值:600 * 1.5 = 900 元 答案是 900 元。
Few-Shot (少样本学习) 示例:
markdown
任务:将自然语言指令转换为SQL查询。
示例1:
Input: "查询所有年龄大于25岁的用户"
Output: SELECT * FROM users WHERE age > 25;
示例2:
Input: "统计每个城市的订单总数"
Output: SELECT city, COUNT(*) FROM orders GROUP BY city;
Input: "查询过去30天销售额最高的前5个产品"
Output:1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
二、Claude:上下文工程与深度推理
2.1 核心特点与 Claude 3.7/4.5
| 特性 | 说明 | 最佳实践 |
|---|---|---|
| 超长上下文 | 200K token (API支持1M) | 将整个代码库或技术文档作为知识库输入,利用Prompt Caching降低成本 |
| Extended Thinking | 模型在输出前进行深度思考(由隐藏思维链驱动) | 对复杂数学、逻辑推理、代码架构问题启用 thinking: { type: "enabled", budget_tokens: 16000 } |
| Artifacts | 独立窗口预览代码执行结果 | 要求Claude生成React组件、SVG图表或HTML原型以直观验证 |
2.2 上下文工程:三层存储模型详解
1. 项目级上下文 (CLAUDE.md)
在项目根目录创建 .claude/CLAUDE.md 或 CLAUDE.md,这不仅是文档,更是模型指令集。
markdown
# Project: SmartCrawler
## Architecture
- **Language**: Python 3.11+
- **Framework**: Scrapy + FastAPI
- **Database**: MongoDB (Data), Redis (Queue)
## Coding Standards
- 使用 `Type Hints` 进行完全类型标注
- 遵循 `Google Python Style Guide`
- 异常处理必须捕获具体异常,禁止 `except Exception`
- 每个公共函数必须包含 Numpy 风格的 Docstring
## Critical Knowledge
- Redis键名必须使用 `sc:v1:` 前缀
- 数据库连接字符串从环境变量 `DB_URI` 读取1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2. 动态上下文管理 (Context Caching)
对于超长Prompt(如书籍、庞大代码库),使用 Prompt Caching 可以显著降低延迟和成本。
API使用示例 (Python):
python
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
system=[
{
"type": "text",
"text": "你是极客时间专栏作者...",
"cache_control": {"type": "ephemeral"} # 标记缓存点
}
],
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": big_book_content, # 长文本内容
"cache_control": {"type": "ephemeral"} # 标记缓存点
},
{
"type": "text",
"text": "请总结这本书的核心观点"
}
]
}
]
)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
3. Memory 与 Subagents
- Memory: 使用
mcp-server-filesystem将关键决策记录到docs/decisions/目录,并在后续对话中检索。 - Subagents: 在
Claude Code中,通过Explore Agent先建立代码索引,再让Plan Agent制定方案,最后由Build Agent执行,避免单次上下文溢出。
三、Gemini:多模态与超长上下文
3.1 Gemini 1.5 Pro / Flash 最佳实践
2M+ Token 上下文策略
Gemini 的超大窗口允许"全量知识"策略,而非传统的RAG切片。
- 视频处理:直接上传1小时的技术讲座视频,让Gemini提取摘要或检索具体片段。
- 全代码库理解:上传整个仓库的zip包,进行跨文件依赖分析和Bug追踪。
Context Caching (Gemini):
当上下文超过32k token时,Gemini API支持缓存。这对于聊天机器人或频繁查询同一文档的场景至关重要。
python
import google.generativeai as genai
from google.generativeai import caching
# 创建缓存
cache = caching.CachedContent.create(
model='models/gemini-1.5-pro-002',
display_name='api_docs_cache',
system_instruction='你是API专家,请基于提供的文档回答问题。',
contents=[document_file],
ttl=datetime.timedelta(minutes=60),
)
# 使用缓存
model = genai.GenerativeModel.from_cached_content(cached_content=cache)
response = model.generate_content('如何调用认证接口?')1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
3.2 Gemini提示词最佳实践
结构化提示
markdown
<instructions>
使用一致的结构和明确的分隔符
定义所有模糊参数
</instructions>
<context>
提供充分的背景信息
定义关键术语
</context>
<task>
清晰的任务目标
使用动词开头的指令
</task>
<format>
指定输出格式和详细程度
默认Gemini 3会给出简洁直接的答案
</format>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
特有技巧
| 技巧 | 说明 |
|---|---|
| 自然语言交流 | 像与人对话一样表达,使用完整句子 |
| 控制详细程度 | Gemini 3默认简洁,需要详细时明确要求 |
| 迭代对话 | 通过追问细化结果 |
| 文档整合 | 在Workspace中利用个人文档个性化输出 |
3.3 Gemini编程工具
Google AI Studio
- 免费的提示词实验环境
- 支持多模态输入
- 提供API密钥管理
Vertex AI
- 企业级AI平台
- 支持Fine-tuning
- 与GCP深度集成
Gemini in Android Studio
- 代码补全和生成
- 文档查询
- 错误诊断
四、ChatGPT:生态丰富与广泛适用
4.1 核心特点
| 特性 | 说明 |
|---|---|
| 模型家族 | GPT-4o、o3/o4系列(推理)、GPT-4.1(编程) |
| 生态丰富 | GPTs Store、Plugins、API广泛支持 |
| 指令精确 | GPT-4.1更严格地遵循字面指令 |
| 快照机制 | 可锁定特定版本(如gpt-4.1-2025-04-14) |
4.2 ChatGPT提示词最佳实践
结构化公式
角色(Role) + 任务(Task) + 语气(Tone) + 格式(Format) + 上下文(Context)1
GPT-4.1特有考虑
| 要点 | 说明 |
|---|---|
| 指令前置 | 将主要任务放在提示开头 |
| 精确措辞 | 模型会字面理解指令,避免隐含假设 |
| 提供退路 | 指示信息不足时如何响应 |
| 版本锁定 | 生产环境锁定特定快照版本 |
高级技巧
markdown
# 结构化输出提示
请以JSON格式回答,遵循以下schema:
{
"summary": "string",
"key_points": ["string"],
"confidence": "high|medium|low"
}
# 自我修正提示
在回答后,请:
1. 检查是否有逻辑错误
2. 验证引用的准确性
3. 如发现问题,提供修正版本1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
4.3 ChatGPT编程工具
ChatGPT Code Interpreter
- 内置Python执行环境
- 数据分析与可视化
- 文件处理
OpenAI API
| 端点 | 用途 |
|---|---|
| Chat Completions | 标准对话 |
| Assistants | 有状态的助手 |
| Batch | 大批量异步处理 |
| Fine-tuning | 模型微调 |
GitHub Copilot (GPT-4驱动)
- VS Code、JetBrains等IDE集成
- 代码补全与生成
- Chat模式问答
五、三大模型对比与选择策略
5.1 能力对比矩阵
| 维度 | Claude | Gemini | ChatGPT |
|---|---|---|---|
| 上下文长度 | 200K-1M | 1M+ | 128K |
| 推理深度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 编程能力 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 多模态 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 生态丰富度 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 价格 | 中等 | 低-中 | 中等 |
5.2 场景选择建议
5.3 混合使用策略
| 任务类型 | 推荐模型 | 理由 |
|---|---|---|
| 代码重构/调试 | Claude Code | 最强代码理解,终端原生 |
| 文档撰写 | Claude/ChatGPT | 长上下文,写作质量高 |
| 图像分析 | Gemini | 多模态原生支持 |
| 快速问答 | Gemini Flash | 速度快、成本低 |
| API集成 | ChatGPT | 生态成熟、文档丰富 |
| 复杂推理 | Claude Extended/o3 | 深度思考能力 |
六、执行检查清单
6.1 提示词编写检查
- [ ] 任务目标是否清晰明确?
- [ ] 是否提供了足够的上下文?
- [ ] 输出格式是否明确指定?
- [ ] 是否考虑使用示例(Few-shot)?
- [ ] 复杂任务是否考虑了任务分解?
6.2 上下文管理检查
- [ ] 是否配置了CLAUDE.md/项目规则?
- [ ] 是否建立了可复用的Skills/Prompts库?
- [ ] 是否定期清理无关上下文?
- [ ] 长任务是否使用了Memory机制?
6.3 工具选择检查
- [ ] 是否根据任务特点选择了合适的模型?
- [ ] 是否配置了适当的权限控制?
- [ ] 是否建立了版本锁定/质量监控?
版本记录
| 版本 | 日期 | 变更内容 |
|---|---|---|
| v1 | 2026-01-25 | 初始版本:整合三大模型提示词工程、上下文工程与编程工具最佳实践 |
本方案将随着大模型能力演进持续更新。