第一章:认识 Claude
Claude 是由 Anthropic 开发的大型语言模型助手。本章从 Claude 的能力边界出发,介绍模型系列选型、核心对话技巧、上下文管理策略,以及扩展思考模式的使用方法,帮助你快速建立对 Claude 的完整认知。
1.1 Claude 是什么
Claude 是 Anthropic 推出的 AI 助手,核心设计理念是"有帮助、无害、诚实"(Helpful, Harmless, Honest)。与同类产品相比,Claude 在以下几个维度有显著特点:
- 超长上下文窗口:支持最长 200K token 的上下文,可处理整本书或大型代码库。
- 代码能力强:在代码生成、调试、重构方面表现突出,是工程师的高效工具。
- 指令遵从度高:能精确理解复杂的结构化指令,输出格式可控性强。
- 安全性设计:Anthropic 在安全对齐上投入大量研究,模型拒绝有害内容的边界清晰。
Claude 在长文档处理、指令精确遵从和代码质量上普遍领先;GPT-4 在插件生态和图像生成(DALL·E 集成)方面有优势。实际选型建议:以编码和文档处理为主选 Claude,以多模态工具链为主选 GPT-4。
适用场景
- 代码生成、调试与重构
- 技术文档撰写与翻译
- 数据分析与报告生成
- 产品需求(PRD)与方案设计
- 大型代码库的理解与问答
1.2 模型系列对比
Anthropic 目前维护三个级别的模型,覆盖不同的性能与成本需求:
| 模型 | 定位 | 上下文 | 适用场景 |
|---|---|---|---|
claude-opus-4-6 |
最强能力 | 200K | 复杂推理、长文档、高精度任务 |
claude-sonnet-4-6 |
性能均衡 ⭐ | 200K | 日常开发、API 集成、大多数生产场景 |
claude-haiku-4-5 |
速度优先 | 200K | 高吞吐、低延迟、简单分类与摘要 |
默认从 Sonnet 开始。遇到推理不足或复杂多步任务时升级到 Opus;有严格延迟或成本要求时降级到 Haiku。Claude Code CLI 默认使用 Sonnet。
1.3 核心对话技巧
Prompt 结构四要素
一个高质量的 Prompt 通常包含以下结构:
告诉 Claude 以什么身份回答,有助于校准输出风格和知识深度。
你是一名有 10 年经验的 Node.js 后端架构师。
提供任务所需的上下文,越具体越好。
我正在重构一个 Express 单体服务,需要迁移到微服务架构,
团队规模 5 人,部署在 Kubernetes 上。
用动词开头,直接说明要做什么。避免模糊词如"帮我看看"。
列出拆分服务的 3 个优先原则,并给出第一步的具体行动计划。
指定输出格式可大幅提升可用性。
以 Markdown 列表输出,每条原则后附一句话说明理由。
Few-shot 示例
在 Prompt 中提供 2-3 个输入/输出示例,可以显著提升模型对格式和风格的遵从度:
将以下 Git commit 信息翻译为中文,保持技术术语原文:
示例1:
输入:fix: resolve memory leak in event listener
输出:fix: 修复事件监听器中的内存泄漏
示例2:
输入:feat: add pagination support to user list API
输出:feat: 为用户列表 API 添加分页支持
现在翻译:
输入:refactor: extract auth middleware into separate module
Chain-of-Thought(思维链)
对复杂推理任务,在 Prompt 末尾加上"请一步一步思考"可激活 CoT 模式,显著提升准确率:
分析以下 SQL 查询的性能问题,并给出优化建议。
请一步一步思考,先分析执行计划,再定位瓶颈,最后给出改写方案。
SELECT u.*, COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at > '2024-01-01'
GROUP BY u.id
ORDER BY order_count DESC;
1.4 上下文管理
上下文窗口是什么
上下文窗口是模型在一次对话中能"看到"的全部文本量。Claude 支持最长 200K token(约 15 万汉字或 50 万英文字符)。整个对话历史、系统提示、上传文件都会消耗这个预算。
| 内容类型 | 大致 token 估算 |
|---|---|
| 1 个汉字 | 约 1.5 token |
| 1 个英文单词 | 约 1.3 token |
| 1000 行 Python 代码 | 约 3000–5000 token |
| 一篇 5000 字文章 | 约 7500 token |
高效利用上下文的原则
- 只放相关内容:不要把整个代码库粘贴进来,只提供当前任务所需的文件。
- 结构化分隔:用 XML 标签或 Markdown 标题区分不同类型的输入内容。
- 摘要替代原文:对长对话历史,可先让 Claude 生成摘要再开新对话。
- 系统提示复用:把稳定的角色设定和规则放进系统提示,不占对话 token。
当对话接近上下文限制时,Claude 会开始"遗忘"早期内容,表现为:忽略之前设定的规则、对早期文档内容回答不准确。此时应开启新对话并带入关键摘要,或在 Claude Code 中使用 /compact 命令压缩上下文。
1.5 扩展思考模式
扩展思考(Extended Thinking)是 Claude 在给出最终回答前,先进行深度推理的能力。启用后,模型会输出一段 <thinking> 内部推理过程,用户可以据此验证推理路径。
何时使用
- 复杂数学或逻辑推理题
- 多步骤代码架构设计
- 需要权衡多个方案的决策问题
- 竞争性编程题(算法题)
API 启用方式
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000 # 分配给思考过程的 token 上限
},
messages=[{
"role": "user",
"content": "设计一个支持 100 万并发用户的消息推送系统架构"
}]
)
# 遍历输出块
for block in response.content:
if block.type == "thinking":
print("思考过程:", block.thinking)
elif block.type == "text":
print("最终回答:", block.text)
budget_tokens 设置建议
| 任务复杂度 | 建议 budget_tokens |
|---|---|
| 简单推理 | 1,000 – 3,000 |
| 中等复杂(架构设计) | 5,000 – 10,000 |
| 高度复杂(竞赛题) | 10,000 – 20,000 |
扩展思考会额外消耗 token,请根据任务复杂度合理设置 budget_tokens。思考过程的 token 计入计费,但通常带来的质量提升物超所值。
1.6 多场景 Prompt 范例
场景一:代码生成
你是一名 TypeScript 专家。
请实现一个通用的分页 Hook,要求:
- 基于 React 18 + TypeScript
- 支持受控/非受控两种模式
- 参数:totalItems、pageSize、defaultPage
- 返回:currentPage、totalPages、goTo(page)、next()、prev()、hasNext、hasPrev
- 附带完整的 JSDoc 注释和使用示例
以代码块格式输出,不需要额外解释。
场景二:数据分析
以下是某电商平台过去 30 天的用户行为数据(CSV 格式):
[粘贴数据]
请完成以下分析:
1. 计算日活跃用户(DAU)的 7 日移动平均
2. 找出转化率最高的 3 个流量来源
3. 识别用户流失的关键节点(漏斗分析)
输出格式:
- 每项分析用 Markdown 二级标题区分
- 关键数据用加粗标注
- 最后给出 3 条可执行的优化建议
场景三:写作辅助
将以下技术博客草稿改写为适合在掘金发布的版本:
要求:
- 保留所有技术细节,不删减核心内容
- 标题改为"掘金风格"(吸引眼球 + 技术感)
- 开头 100 字内吸引读者继续阅读
- 代码示例前加上场景说明
- 结尾增加"踩坑总结"小节
原文:[粘贴草稿]
场景四:决策辅助
我需要为新项目选择前端框架,请帮我做决策分析。
项目背景:
- B 端管理后台,约 50 个页面
- 团队 3 人,均熟悉 Vue 2,无 React 经验
- 需要在 2 个月内上线 MVP
- 长期维护计划 3 年以上
候选方案:Vue 3 / React 18 / Next.js
请用决策矩阵对比三个方案,评估维度:
学习成本、生态成熟度、长期维护、招聘难度、性能
最后给出明确的推荐结论,不要模棱两可。