02 核心篇:高效对话与提示技巧
掌握提示词艺术,让 Claude Code 成为你的 10x 搭档。
2.1 提示词最佳实践
核心原则:描述意图,而非步骤
反面示例(逐步指令):
> 读取 src/auth.py,找到 validate_token 函数,在第 15 行添加一个
> try-except,捕获 TokenExpiredError,返回 401 状态码
正面示例(描述意图):
> validate_token 函数需要处理 TokenExpiredError,过期时返回 401
最佳实践:告诉 Claude 做什么和为什么,而不是怎么做。Claude 自己会读代码、找位置、选择最佳实现方式。
提示词结构模板
[上下文] + [目标] + [约束]
示例:
> 我们的 API 使用 FastAPI 框架,需要给 /api/users 端点添加分页功能。
> 默认每页 20 条,最大 100 条。返回格式要兼容现有的 ResponseModel。
提示词层级
| 层级 | 示例 | 适用场景 |
|---|---|---|
| 一句话指令 | 修复这个 lint 错误 | 简单、明确的任务 |
| 带上下文 | 这个函数在并发时会竞态,加个锁 | 需要理解背景 |
| 完整规格 | 实现用户注册 API,要求:邮箱验证、密码强度校验、防重复注册 | 复杂功能 |
2.2 @ 提及:精确引用上下文
@ 是 Claude Code 最强大的上下文控制工具。
基本用法
> @src/auth.py 这个文件有安全问题吗?
> @src/components/ 这个目录下的组件需要重构
> @package.json 我们的依赖有安全漏洞吗?
@ 提及类型
| 语法 | 含义 | 示例 |
|---|---|---|
@filepath | 引用单个文件 | @src/auth.py |
@dirpath/ | 引用整个目录 | @src/components/ |
@mcp:name | 引用 MCP 服务器 | @mcp:github |
@keyword | 模糊匹配 | @auth → 匹配 auth.py, auth.controller.ts 等 |
@ 提及最佳实践
# 好:精确指定文件
> @src/api/users.py 给这个端点添加缓存
# 差:让 Claude 自己找
> 给用户 API 端点添加缓存
最佳实践:
- 涉及特定文件时,始终用
@明确指定- 大范围重构时,用
@dir/引用整个目录- 模糊匹配
@keyword适合快速定位,但结果可能不精确
2.3 子代理:并行执行任务
Claude Code 可以生成子代理(Subagent)来并行处理独立任务,每个子代理在隔离上下文中运行。
什么时候用子代理
| 场景 | 是否适合子代理 |
|---|---|
| 同时搜索多个关键词 | 适合 |
| 并行分析多个模块 | 适合 |
| 修改同一文件的多个位置 | 不适合(会冲突) |
| 有依赖关系的步骤 | 不适合(需串行) |
如何触发子代理
Claude 会自动判断是否需要子代理。你也可以在提示词中暗示:
> 同时检查以下三个模块的测试覆盖率:@src/auth/ @src/api/ @src/utils/
> 并行搜索项目中所有 TODO 和 FIXME 注释
子代理类型
| 类型 | 用途 | 特点 |
|---|---|---|
Explore | 搜索和探索代码库 | 快速,只读 |
Plan | 设计实现方案 | 不执行修改 |
general-purpose | 通用多步骤任务 | 功能最全 |
2.4 上下文管理
Claude Code 的上下文窗口有限(约 200k tokens),长时间对话会逐渐占满。
上下文生命周期
正常运行 (0-87%) → AutoCompact 警告 (~87%) → 强制压缩 (90-95%) → 硬限制 (100%)
关键命令
| 命令 | 作用 | 使用时机 |
|---|---|---|
/compact | 压缩对话,保留要点 | 对话变长时 |
/compact 保留API设计讨论 | 压缩但保留指定内容 | 需要保留特定上下文 |
/clear | 清空对话,重新开始 | 切换到全新任务 |
/context | 查看上下文使用情况 | 感觉 Claude "遗忘"时 |
上下文管理策略
# 策略一:定期压缩
> /compact 保留数据库 schema 和 API 接口定义
# 策略二:任务切换时清空
> /clear
# 然后开始新任务
# 策略三:检查上下文状态
> /context
最佳实践:
- 一个对话专注一个任务,完成后再
/clear开始下一个- 长对话每 30 分钟执行一次
/compact- 用
/compact 重点内容保留关键上下文,而非全部压缩- 感觉 Claude 开始"遗忘"或"重复"时,立即
/compact或/clear
2.5 模型选择策略
Claude Code 支持多种模型,按需选择可以平衡质量和成本。
| 模型 | 特点 | 适用场景 | 成本 |
|---|---|---|---|
| Opus | 最强推理能力 | 复杂架构设计、困难 Bug、安全审查 | 最高 |
| Sonnet | 速度与质量平衡 | 日常开发、代码生成、重构 | 中等 |
| Haiku | 最快最便宜 | 简单查询、格式化、小修改 | 最低 |
切换模型
# 启动时指定模型
claude --model claude-opus-4-6
# 在对话中切换
> /model claude-opus-4-6
模型选择决策树
任务是否涉及复杂推理或架构决策?
├── 是 → Opus
└── 否 → 是否是简单/重复性任务?
├── 是 → Haiku
└── 否 → Sonnet(默认,覆盖 80% 场景)
最佳实践:默认用 Sonnet,遇到难题临时切 Opus,简单批量任务用 Haiku。
2.6 常见对话模式
模式一:探索式
> 这个项目的认证流程是怎样的?
> 那 token 刷新逻辑呢?
> 有没有处理并发刷新的情况?
逐步深入,像和同事聊天一样。
模式二:指令式
> 在 src/api/users.py 添加 DELETE /api/users/:id 端点,
> 需要管理员权限,返回 204 No Content
明确、具体,一次说清。
模式三:迭代式
> 写一个排序函数
> (看结果后)加上降序选项
> (看结果后)支持自定义比较函数
> (看结果后)添加类型注解和文档
逐步完善,每次加一个需求。
模式四:审查式
> @src/auth.py 审查这个文件的安全问题
> 第 42 行的 SQL 查询有注入风险,帮我修复
> 再检查一遍还有没有类似问题
先审查,再修复,再验证。
2.7 高级提示技巧
技巧一:角色设定
> 你是一个安全专家,审查这个认证模块的漏洞
技巧二:示例驱动
> 按照这个格式生成 API 文档:
> ## POST /api/users
> - 描述:创建新用户
> - 请求体:{ "name": "string", "email": "string" }
> - 响应:201 { "id": 1, "name": "string" }
>
> 现在为 @src/api/ 下所有端点生成文档
技巧三:约束条件
> 重构这个函数,要求:
> - 不改变外部行为
> - 每个函数不超过 20 行
> - 保持现有测试通过
技巧四:分步执行
> 分三步完成:
> 1. 先分析现有代码结构
> 2. 然后设计新架构
> 3. 最后逐步迁移,每步确保测试通过
技巧五:错误恢复
> 上次你修改后测试失败了,回退到修改前的状态,
> 然后用另一种方式实现
2.8 小结
| 技巧 | 关键要点 |
|---|---|
| 描述意图 | 告诉 Claude 做什么、为什么,而非怎么做 |
| @ 提及 | 精确指定文件/目录,减少搜索开销 |
| 上下文管理 | 定期 /compact,任务切换时 /clear |
| 模型选择 | Sonnet 日常,Opus 难题,Haiku 简单任务 |
| 对话模式 | 探索式/指令式/迭代式/审查式,按场景选择 |
上一篇:01 入门篇:安装与基础使用
下一篇:03 项目篇:CLAUDE.md 与项目配置

2万+

被折叠的 条评论
为什么被折叠?



