Claude Code + DeepSeek:AI 编程助手配置

📅 2026/7/23 3:13:20 👁️ 阅读次数 📝 编程学习
Claude Code + DeepSeek:AI 编程助手配置

本文摘要:本文是《Windows 下 AI 开发工具实战指南》系列第 3 篇,手把手教你从零安装 Claude Code,并配置 DeepSeek 作为模型后端,以极低成本在终端中获得强大的 AI 编程助手。文章覆盖了从安装配置、项目初始化(/init)、常用指令速查,到高级功能(自动循环、Skills、MCP、Subagents、Hooks)的完整使用指南,并整理了新手常见踩坑与省钱实战技巧,助你快速上手并高效使用 Claude Code。


title: “Claude Code + DeepSeek:AI 编程助手配置”
description: “在终端中拥有 AI 编程助手:从零安装 Claude Code,配置 DeepSeek 作为模型后端。覆盖新手痛点、常见踩坑、省钱技巧、常用指令详解(init/loop/resume/模型配置/skill/mcp),以及真实场景最佳实践。”
keywords:

  • Claude Code
  • DeepSeek
  • AI 编程助手
  • 终端 AI
  • Anthropic API
  • DeepSeek API
  • Claude Code 安装
  • Claude Code 避坑
  • CLAUDE.md
  • MCP
    series: “Windows 下 AI 开发工具实战指南”
    series_order: 3
    date: “2026-07-21”
    prev: “02-wsl2-setup-advanced.md”
    next: “04-hermes-agent.md”

系列第 3 篇 · 共 6 篇| ← 上一篇 | 下一篇 →

前两篇文章 我们已经把 WSL2 环境打磨得面面俱到。现在,是时候让它发挥真正的威力了——安装 Claude Code,接入 DeepSeek 模型后端,在终端中拥有一个全天候的 AI 编程助手。

3.1 为什么你需要 Claude Code

如果你遇到过以下场景,这篇文章就是为你写的:

  • 接手陌生项目,半天看不懂架构:几万行代码,不知道从哪里开始读,问同事又不好意思总打扰
  • 反复写样板代码:CRUD 接口、测试用例、配置文件……机械重复,浪费时间
  • Debug 到崩溃:一个报错翻了 10 个 Stack Overflow 页面,试了 5 种方案都不对
  • 想用 AI 编程工具但被价格劝退:官方 Claude Code 按 token 计费,复杂任务一个月轻松上百美元
  • 用了 AI 工具但总觉得不好用:生成的代码不符合项目规范,上下文经常丢失,改了东墙塌西墙

Claude Code 是 Anthropic 推出的终端 AI 编程助手。与网页版聊天机器人不同,它能直接读取你的项目文件、运行命令、修改代码、执行测试——你描述想要什么,它自己探索、规划并实现。

借助 DeepSeek 提供的兼容 API,你可以用经济得多的成本获得同样的体验。这也是本系列选择 DeepSeek 后端的核心原因——避开高昂的官方定价,同时享受 Claude Code 的全部功能

参考文档:Claude Code 快速入门 · 接入 DeepSeek | DeepSeek API 文档

3.2 从零安装 Claude Code

安装步骤

在 WSL 终端中执行以下命令,一键安装:

curl-fsSLhttps://claude.ai/install.sh|bash

安装过程会自动完成依赖检查、下载和配置,无需手动干预。

安装常见问题

问题原因解决方案
curl: command not found系统缺少 curlsudo apt update && sudo apt install curl -y
安装卡住不动网络连接不稳定检查 WSL2 网络配置,或配置代理后重试
permission denied权限不足sudo curl -fsSL https://claude.ai/install.sh | bash
安装后claude命令找不到PATH 未更新运行source ~/.bashrc或重启终端
Node.js 版本过低Claude Code 需要 Node.js 18+运行nvm install 18 && nvm use 18升级

小白提示:如果安装后运行claude报错,先运行claude doctor(安装诊断命令),它会告诉你具体哪里出了问题以及如何修复。

3.3 迁移至 DeepSeek 后端

为什么要用 DeepSeek 而不是官方 API

官方 Claude API 按 token 计费,一个复杂重构任务跑下来,账单可能让你怀疑人生。很多用户反馈第一个月就花了 50-200 美元。而 DeepSeek 提供兼容 API,价格大幅降低,同时完全兼容 Claude Code 的所有功能。

获取 API Key

前往 DeepSeek Platform 创建你的 API Key。注册后会赠送一定额度的免费体验金,足够你完成本文的所有练习。

配置环境变量

Linux / Mac 用户(在 WSL 中操作):

exportANTHROPIC_BASE_URL=https://api.deepseek.com/anthropicexportANTHROPIC_AUTH_TOKEN=<你的 DeepSeek API Key>exportANTHROPIC_MODEL=deepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-v4-flashexportCLAUDE_CODE_SUBAGENT_MODEL=deepseek-v4-flashexportCLAUDE_CODE_EFFORT_LEVEL=max

Windows PowerShell 用户

$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"$env:ANTHROPIC_AUTH_TOKEN="<你的 DeepSeek API Key>"$env:ANTHROPIC_MODEL="deepseek-v4-pro[1m]"$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro[1m]"$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-v4-pro[1m]"$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4-flash"$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-v4-flash"$env:CLAUDE_CODE_EFFORT_LEVEL="max"

持久化配置(重要):上面的export命令只在当前终端有效,关掉就没了。把它加到~/.bashrc里才能一劳永逸:

echo'export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic'>>~/.bashrc# 其他变量同理,逐条追加source~/.bashrc

环境变量说明

变量名作用小白理解
ANTHROPIC_BASE_URLAPI 地址告诉 Claude Code "去 DeepSeek 问问题"而不是去官方
ANTHROPIC_AUTH_TOKENAPI 密钥你的 DeepSeek 门禁卡
ANTHROPIC_MODEL默认模型平时用什么模型回答
ANTHROPIC_DEFAULT_OPUS_MODELOpus 级模型最难的任务用什么模型
ANTHROPIC_DEFAULT_SONNET_MODELSonnet 级模型日常任务用什么模型
ANTHROPIC_DEFAULT_HAIKU_MODELHaiku 级模型简单快速任务用什么模型
CLAUDE_CODE_SUBAGENT_MODEL子代理模型后台帮忙干活的"助手"用什么模型
CLAUDE_CODE_EFFORT_LEVEL推理努力等级max = 让 Claude 多想想再动手

配置常见问题

问题原因解决方案
启动后报401 UnauthorizedAPI Key 错误或过期检查 Key 是否完整复制,有无多余空格
启动后报403 Forbidden账户余额不足去 DeepSeek Platform 充值或确认免费额度是否用完
回答内容看起来像官方 Claude环境变量未生效运行echo $ANTHROPIC_BASE_URL确认是否指向 DeepSeek
中文回复质量差模型语言偏好问题在 CLAUDE.md 中写明 “使用中文回复”
连接超时网络问题检查 WSL2 能否正常访问外网

3.4 启动与验证

配置完成后,进入你的项目目录并启动:

cd/path/to/my-project claude

首次启动时,Claude Code 会进行一些初始化操作。如果一切正常,你会进入交互式终端界面。试着输入:

你好,请用中文介绍一下你自己,以及你能帮我做什么

如果返回了来自 DeepSeek 模型的回答,说明配置成功!

小白提示:第一次进入项目时,Claude Code 可能会询问是否信任当前目录。选择 Yes 即可——这只是一个安全确认,表示你允许 Claude Code 读取这个项目的文件。

3.5 新手第一步:/init 让 Claude 认识你的项目

痛点场景

“我装好了 Claude Code,兴冲冲地让它帮我改代码,结果它完全不了解我的项目——用了什么框架、怎么跑测试、有哪些特殊约定。每次都要从头解释,太累了。”

解决方案

进入项目后,第一件事就是运行/init

/init

它会自动扫描你的项目结构,检测构建系统、测试框架和代码模式,然后生成一份CLAUDE.md文件。这个文件相当于 Claude 的"项目说明书",每次对话开始时都会自动读取。

CLAUDE.md 怎么写才对

很多新手会犯一个错误:把 CLAUDE.md 当成什么都往里塞的"百科全书",写了 500 甚至 800 行。结果每次对话都把这 800 行塞进上下文,白白浪费大量 token,Claude 反而开始忽略后半段的重要内容。

核心原则:只写 Claude 读代码读不出来的信息,控制在 100-200 行以内。

应该写不应该写
构建命令:npm run buildmvn clean test标准语言语法(Claude 本来就知道)
项目特殊规范:“用 MyBatis 不用 JPA”通用编码规范(如"写干净的代码")
不能动的文件:src/legacy/DataMigration.java详细的 API 文档(改为链接到文档)
分支命名规范:feature/xxxfix/xxxClaude 读代码就能推断出的架构
开发环境怪癖:“需要先启动 Redis”经常变化的信息

一份好的 CLAUDE.md 示例:

# 代码风格 - 使用 ES modules (import/export),不用 CommonJS (require) - 优先解构导入:import { foo } from 'bar' # 工作流 - 改完代码后运行 typecheck - 优先跑单个测试,不要跑整个测试套件 # 项目约定 - 数据库操作只用 Prisma,不要直接写 SQL - 所有金额用整数(分为单位),不要用浮点数 - 错误返回格式:{ success: false, error: string }

小白避坑:判断一条规则该不该写进 CLAUDE.md,问自己一个问题——"删掉这条,Claude 会做出不同的决定吗?“如果答案是"不会”,就删掉。

参考文档:Claude Code 最佳实践

3.6 常用指令速查

Claude Code 的指令以/开头,在会话中输入即可执行。以下按你遇到的问题来分类整理。

场景一:会话太长,Claude 开始"忘事"

“对话进行到第 30 轮,Claude 突然把我们二十条消息前说好的’所有金额用整数’给忘了,又生成了用浮点数处理价格的代码。”

这是 Claude Code 最常见的痛点。Claude 没有真正的"记忆",它只能看到上下文窗口里的内容。对话越长,早期的内容越容易被"挤出"注意力范围。

指令解决什么问题使用时机
/compact [说明]总结历史对话,释放上下文空间对话超过 20 轮,或 Claude 开始犯低级错误
/clear [名称]清空上下文开始新对话(旧的还能找回)当前任务做完,要开始完全不相关的新任务
/context查看上下文用了多少、被什么占了感觉 Claude 响应变慢或变笨
/resume [名称]恢复之前的会话想回到之前中断的任务继续

省钱技巧:每完成一个子任务就/compact一次,能清掉 50-70% 的冗余上下文。一个 session 跑 3 小时不清理,后半段的 token 基本都在烧钱。

关键约束重申:如果发现 Claude 开始忘事,最有效的操作是在当前位置重新声明关键约束——因为最新的消息注意力权重最高:

提醒一下关键约定: - 金额用整数(分为单位) - 错误返回格式:{ success: false, error: string } 继续之前的任务。

场景二:任务太大,不知道从哪下手

“我想给项目加一个 OAuth 登录功能,但不确定要改哪些文件,怕 Claude 一通乱改。”

指令解决什么问题使用方式
/plan [描述]进入规划模式,只分析不改动/plan 在 user-service 里添加手机号登录功能
/branch [名称]从当前对话分叉,保留原始进度想尝试不同方案但不丢失当前路径

推荐的四步工作流

# 第 1 步:探索(Plan 模式下,只读不改) > 读一下 src/auth 目录,理解现有的登录和 session 管理方式 # 第 2 步:规划 > 我想加 Google OAuth,需要改哪些文件?session 流程是什么?做个计划 # 第 3 步:实现(退出 Plan 模式) > 按你的计划实现 OAuth 流程,写测试,跑一遍 # 第 4 步:提交 > 用描述性的 commit message 提交,并创建 PR

小白提示:按Shift+Tab可以快速切换 Plan 模式。在 Plan 模式下,Claude 只读代码不做任何修改,你可以安全地让它分析。看完计划后按Ctrl+G可以在编辑器中直接修改计划,再让它执行。

场景三:需要切换模型或调整推理强度

“简单任务用强模型太浪费钱,复杂任务用弱模型又搞不定。”

指令作用适用场景
/model [别名]切换模型简单任务切 haiku 省钱,复杂任务切 opus
/effort [等级]调整推理努力简单改动用 low,架构设计用 max

模型选择速查:

模型别名适合什么成本
haiku简单快速任务、格式化、重命名最低
sonnet日常编码、写功能、改 Bug(默认推荐)中等
opus复杂推理、架构设计、疑难 Bug较高
opusplan规划用 Opus,执行用 Sonnet(省钱兼顾质量)中等

推理努力等级:lowmediumhighxhighmax

省钱技巧:日常编码用sonnet+medium,只有遇到疑难 Bug 或架构设计时才临时切到opus+max。任务做完后切回来,别一直开着最高档烧钱。

参考文档:模型配置

场景四:提交前检查代码质量

指令作用使用场景
/diff查看未提交的代码变更提交前检查改了什么
/code-review审查差异中的错误和优化点PR 前的质量检查
/code-review --fix审查并自动修复问题快速清理代码
/batch <指令>大规模并行代码变更跨多文件的重构、框架迁移

场景五:遇到问题需要排障

指令作用使用场景
/doctor诊断安装和配置问题安装后验证、遇到异常行为
/debug [描述]启用调试日志并排查运行时报错需要定位原因
/feedback提交反馈或报告 Bug发现 Claude Code 自身的问题

其他常用指令

指令作用
/memory编辑 CLAUDE.md,管理自动记忆
/mcp管理 MCP 服务器连接
/permissions管理工具权限的允许/拒绝规则
/export [文件名]导出当前对话为纯文本
/rewind回退到之前的对话和代码状态
/help显示帮助和所有可用命令

3.7 自动循环:让 Claude 无人值守工作

痛点场景

“部署后要反复检查 CI 是否通过、测试有没有挂,一直盯着屏幕等,太浪费时间了。”

/loop:按时间间隔重复执行

# 每隔 5 分钟检查部署是否完成/loop 5m checkifthe deploy finished# 让 Claude 自动调整节奏,反复跑测试直到全部通过/loop run tests and fix any failures

典型使用场景

  • CI 监控/loop 10m check CI status and fix failing tests— 每 10 分钟检查一次 CI,失败了自动修复
  • 反复调试/loop run the test suite and fix failures until all pass— 跑测试、修 Bug、再跑,循环直到全过
  • 文档同步/loop 30m check if API docs need updating based on code changes— 定期检查文档是否需要更新

/goal:按条件判断是否完成

# 设置目标:所有测试通过/goal all tests pass# Claude 会持续工作直到目标达成implement the new feature,writetests, and iterateuntileverything passes

区别/loop按时间间隔重复执行,/goal按条件判断是否完成。两者可组合使用——/goal在每次迭代后检查条件,Claude 继续工作直到条件成立。这样你就可以去喝杯咖啡,回来发现任务已经完成了。

3.8 Skills:教 Claude 你的项目规范

痛点场景

“每次让 Claude 写 API,它都不按我们的规范来——URL 路径用驼峰、JSON 用下划线、不分页……每次都要纠正一遍。”

解决方案:创建 Skill

Skills 是 Claude Code 的知识扩展机制。你创建一个SKILL.md文件,写上项目规范,Claude 会在相关时自动加载并遵守。

# 创建 skill 目录mkdir-p.claude/skills/api-conventions# 编写 SKILL.mdcat>.claude/skills/api-conventions/SKILL.md<<'EOF' --- name: api-conventions description: REST API 设计规范,编写 API 时自动应用 --- # API 设计规范 - URL 路径使用 kebab-case(如 /user-profiles) - JSON 属性使用 camelCase(如 userId) - 列表接口必须支持分页 - API 版本放在 URL 路径中(/v1/、/v2/) EOF

创建后,Claude 在编写 API 代码时会自动参考这些规范,不需要你每次提醒。

两种 Skill 类型

参考型(自动触发)——提供知识供 Claude 参考:

---name:api-conventionsdescription:API 设计规范---# Claude 在相关场景自动加载

任务型(手动调用)——定义可重复执行的工作流,加disable-model-invocation: true防止自动触发:

---name:fix-issuedescription:修复 GitHub Issuedisable-model-invocation:trueargument-hint:"[issue-number]"---1. 运行 `gh issue view $ARGUMENTS` 获取详情 2. 搜索相关代码 3. 实现修复 4. 运行测试验证 5. 提交并创建 PR

使用方式:/fix-issue 1234— 一个命令完成从看 Issue 到提 PR 的全流程。

动态上下文注入

Skill 支持!`命令`语法在加载时执行命令并注入结果,让 Skill 内容随实际情况变化:

---description:总结未提交的变更---## 当前变更!`git diff HEAD`## 指示总结上述变更,标记任何风险内容。

参考文档:Skills

3.9 MCP:让 Claude 直接连你的数据库和工具

痛点场景

“让 Claude 查一下数据库里的数据,它说它连不了。我只能自己跑 SQL,把结果复制粘贴给它。太麻烦了。”

“我想让 Claude 从 Jira 里看需求、从 GitHub 上看 PR 评论、从 Sentry 里看错误日志……每次都要手动搬运数据。”

解决方案:MCP 服务器

MCP(Model Context Protocol)让 Claude Code 直接连接外部工具和数据源,无需手动复制粘贴。

# 连接 Notionclaude mcpadd--transporthttp notion https://mcp.notion.com/mcp# 连接 GitHub(带认证)claude mcpadd--transporthttp github https://api.github.com/mcp\--header"Authorization: Bearer your-token"# 连接本地 PostgreSQL 数据库claude mcpadd--envDB_URL=postgres://localhost/mydb\--transportstdio postgres -- npx-ypostgres-mcp-server

管理 MCP 服务器

claude mcp list# 列出所有服务器claude mcp get github# 查看详情claude mcp remove github# 删除/mcp# 会话中查看连接状态

三种安装范围

范围命令谁能用
本地(默认)claude mcp add -s local ...仅你在当前项目
项目claude mcp add -s project ...团队所有人(通过 .mcp.json 共享)
用户claude mcp add -s user ...你的所有项目

连接后能做什么

  • “从 Jira Issue ENG-4521 获取需求并实现,然后在 GitHub 上创建 PR”
  • “查询 PostgreSQL 数据库,找出使用该功能的 10 个用户”
  • “检查 Sentry 中的错误,修复最严重的那个”

参考文档:MCP

3.10 Subagents:让助手有"助手"

痛点场景

“让 Claude 探索一个陌生模块,它读了 50 个文件,把我的上下文窗口全占满了。之后做什么都受影响。”

解决方案

Subagents 在独立的上下文中运行,读取的文件不会污染你的主对话。主会话只收到最终结论。

mkdir-p.claude/agentscat>.claude/agents/security-reviewer.md<<'EOF' --- name: security-reviewer description: 审查代码安全漏洞 tools: Read, Grep, Glob, Bash model: opus --- 你是一名资深安全工程师。审查代码中的: - 注入漏洞(SQL、XSS、命令注入) - 认证和授权缺陷 - 代码中的密钥或凭证 - 不安全的数据处理 提供具体行号引用和修复建议。 EOF

使用方式:直接告诉 Claude “用 subagent 审查这段代码的安全问题”。

Writer/Reviewer 模式:一个 Session 写代码,写完用另一个 Subagent 来 Review。因为 Reviewer 没有参与写代码,不会带入"我觉得这样写是对的"的偏见,Review 质量更高。

省 token 技巧:凡是"先搞清楚某件事,再告诉我结果"的任务都适合用 Subagent。子 Agent 读了 100 个文件也不影响你的主 Session,总 token 消耗可能只有硬跑完整任务的 1/3。

3.11 Hooks:让自动化 100% 可靠

痛点场景

“我在 CLAUDE.md 里写了’每次改完代码要运行 lint’,但 Claude 经常忘记执行,尤其是上下文快满的时候。”

解决方案

CLAUDE.md 里的规则是"建议"——Claude 会尽量遵守,但不保证。而 Hooks 是程序级触发,无论 Claude 愿不愿意,脚本都会执行

// .claude/settings.json{"hooks":{"PostToolUse":[{"matcher":"Write|Edit","command":"eslint --fix $FILE"}]}}

什么时候用 Hooks vs CLAUDE.md

用 Hooks用 CLAUDE.md
每次改完代码必须跑 lint代码风格偏好(用 ES modules)
禁止写入 migrations 目录分支命名规范
Session 结束时自动记录摘要项目架构约定

也可以直接让 Claude 编写 hooks:“编写一个在每次文件编辑后运行 eslint 的 hook”

3.12 新手避坑指南

基于大量用户的真实踩坑经历,整理出以下最常见的坑和解决方案。

坑一:一个 Session 做太多事

症状:修完 Bug 顺手加功能,加完功能顺手写测试,几个小时后 Claude 开始犯奇怪的错误——说好的变量名换成了另一个,已经修好的问题又冒出来了。

原因:所有对话都累积在上下文里。读了 10 个文件、尝试了 3 种方案、来回改了 2 次——这些全在消耗上下文空间。上下文快满时,Claude 会触发自动压缩,但压缩是有损的,临时决定和特定约束可能就丢了。

解决:养成按任务切换 Session 的习惯:

# 任务 A:修复登录 Bugclaude# 完成后/clear# 任务 B:新增支付功能claude

涉及大量文件阅读的任务(比如理解陌生模块),用 Subagent 去读,只把结论带回来。

坑二:CLAUDE.md 写得太长

症状:写了 500 行 CLAUDE.md,Claude 开始忽略后半段的内容,说好不要改的文件照样改。

原因:CLAUDE.md 每次会话都注入上下文,500 行大约消耗 5000-8000 tokens。文件越长,重要规则被稀释的概率越高。

解决:控制在 100-200 行。如果规则确实多,用.claude/rules/目录做路径隔离——只在修改特定文件时才加载对应规则。

坑三:让 Claude 自己"找"文件

症状:说"帮我修一下登录的 Bug",Claude 开始 grep 整个项目,读了十几个文件,花了大量 token 才找到问题。

解决:用@直接引用你知道相关的文件:

@src/api/UserController.java @src/service/UserService.java 登录接口在高并发下出现了 token 不一致的问题,帮我看一下

这样 Claude 直接拿到你指定的上下文,不用到处搜索。

坑四:不给 Claude 验证手段

症状:让 Claude 改完代码,自己跑测试看结果,再回来告诉它"有个测试失败了"。这个来回就是效率损耗。

解决:在 prompt 里明确告诉 Claude 验证方法,让它自己跑测试、看错误、继续修:

修改 UserService 的 findByPhone 方法,让它在手机号格式不对时 抛出 InvalidPhoneException。改完运行 mvn test -pl user-service -Dtest=UserServiceTest,确保测试通过。如果失败,看错误信息继续修。

坑五:权限全开或全关

症状:嫌权限确认烦,直接全开权限,结果 Claude 误删了重要文件。或者全关,每一步都要确认,烦到放弃。

解决:只放行你真正信任的操作:

// .claude/settings.json{"permissions":{"allow":["Bash(npm test *)","Bash(npm run lint)","Bash(git commit *)","Bash(git push *)"]}}

坑六:忘记 CLAUDE.md 里的临时决策会过期

症状:项目刚开始时在 CLAUDE.md 写了"暂时不做 OAuth 登录",两个月后已经决定加 OAuth 了,但忘了更新 CLAUDE.md。Claude 看到这条约束,把 OAuth 入口全注释掉了。

解决:CLAUDE.md 只写"永久规范"(如"金额用整数"),不写"临时决策"(如"暂时不做 OAuth")。临时决策放在.claude/decisions/目录里,定期 review。

坑七:管道输入数据被忽略

症状:有一个很长的错误日志想分析,复制粘贴到对话框里格式全乱了。

解决:直接管道输入:

caterror.log|claude"分析这个错误日志,找出根本原因"

坑八:多开 Claude Code 互相踩脚

症状:同时开两个 Claude Code 改同一个项目,文件修改互相覆盖。

解决:并行任务用 Worktree 隔离,每个 Worktree 是独立的 git 分支和文件系统:

# 终端 1:处理认证模块claude--worktreeauth-refactor# 终端 2:处理支付模块claude--worktreepayment-feature

3.13 省钱实战技巧

使用 DeepSeek 后端已经大幅降低了成本,但良好的使用习惯能让你进一步省钱。

技巧怎么做省多少
写好 CLAUDE.md把项目背景写进文件,不用每次重复解释每次省 300-800 token
用简明模式在 CLAUDE.md 写 “回答简洁,不要客套话”每条回复省 30-50%
定期 /compact每完成一个子任务就压缩一次清掉 50-70% 冗余上下文
限制文档搜索在 CLAUDE.md 写明"不要自行搜索 API 文档"每次省 10-20k token
用 Subagent 拆任务大任务拆成子任务并行跑总消耗省 50-70%
简单任务切低档/model haiku+/effort low单次消耗降低数倍

一句话总结:省 token 的核心不是"省",是"不浪费"。每次让 Claude 读它不需要的东西、说你不爱听的话、搜你已经知道答案的文档,都是在烧钱。

3.14 日常使用最佳实践

先探索,再规划,最后编码

对于复杂任务,推荐四步工作流:

# 1. 探索(Plan 模式,只读不改)>read/src/auth and understand how we handle sessions# 2. 规划>I want toaddGoogle OAuth. Create a plan.# 3. 实现(退出 Plan 模式)>implement the OAuth flow from your plan,writetests, run them# 4. 提交>commit with a descriptive message andopena PR

判断标准:如果你能用一句话描述改动(如"修复拼写错误"),跳过计划直接做。当你对方法不确定、改动涉及多个文件、或你不熟悉被改的代码时,规划最有用。

给 Claude 具体上下文

# 差的做法>"实现一个验证邮箱的函数"# 好的做法>"编写 validateEmail 函数,测试用例:user@example.com 为真, > invalid 为假,user@.com 为假。实现后运行测试"

善用 Esc 键纠偏

  • Esc:中途停止 Claude,保留上下文,可以重定向。一旦发现 Claude 偏离轨道,立即按 Esc 纠正,比等它做完再改快得多
  • Esc + Esc/rewind:回退到之前的对话和代码状态

用 /btw 问附带问题

有时候你想问一个不相关的小问题,但不想污染当前对话的上下文:

/btw JavaScript 的 Map 和 Object 有什么区别?

这个问题不会加入对话历史,不影响当前任务的上下文。

参考文档:Claude Code 最佳实践


下一步

AI 编程助手已就位。下一篇 Hermes Agent:自我进化的 AI 智能体 将介绍如何部署一个具备持续学习和长期记忆能力的 AI 智能体。

📮系列目录:Windows 下 AI 开发工具实战指南