# 用 Claude Code 一个月烧掉 2000 刀?这份从入门到精通的教程帮你省点钱 上周看到 HN 上一个帖子——Uber 半年把全年的 AI 预算烧光了,95% 的工程师在用 Claude Code。我第一反应是笑,第二反应是笑不出来。 因为我上个月也是这么过来的。 月初觉得"太香了,写代码从来没这么快过",月底一看账单——2000 多刀。财务小姐姐发了个微笑表情问"这个月你的 API 费用是不是有点高",我回了三个字:我控制。 说正经的。Claude Code 确实强,但它不是那种"装好就能起飞"的工具。用得好,效率翻倍;用不好,钱烧了,代码质量还没保证。 这篇文章我把自己这半年踩的坑、省下的钱、摸索出的最佳实践全盘托出。如果你刚接触 Claude Code,或者已经在用但感觉费用在失控——看下去。 --- ## 1. 为什么需要 Claude Code? 先搞明白它跟 Copilot 的区别。 GitHub Copilot 是**自动补全**。你写一个函数名,它补完函数体。你写个 TODO,它生出代码块。它活在编辑器的边栏里,你动一步它跟一步。 Claude Code 是**智能体**。你告诉它"重构这个模块,把业务逻辑和数据访问分开",它能自己读源码、画架构图、拆任务、逐文件改、跑测试、修复、提交 PR。全程不需要你动一行手。 它有四个核心阶段——Explore 读代码、Plan 出方案、Implement 逐文件改、Verify 跑测试。每一步都要你点头,但它替你干了全部脏活。 **所以什么时候该用它?** 三个场景最香: - **大重构**:几百个文件里改接口签名,Copilot 补到你手抽筋,Claude Code 一句话搞定 - **跨栈任务**:前端改个字段要给后端的 migration、API、测试层全链路改完,Claude 可以一起管 - **老旧代码库**:一个没文档的屎山项目,扔给它,它能给你画出模块依赖图 小改一个变量名、改个文案这种事,别用它——杀鸡用牛刀,而且杀鸡也烧你的 token。 --- ## 2. 环境准备 ### 安装 两种方式,任选一: **方式一(推荐):一键安装脚本** ```bash curl -fsSL https://claude.ai/install.sh | bash ``` 零依赖,装完直接用。 **方式二(需要 npm):** ```bash npm install -g @anthropic-ai/claude-code ``` 适合做版本锁定,或者 CI/CD 里控制版本。 装完后验证: ```bash claude --version # 输出类似: Claude Code v2.0.60 ``` ### 认证 两种认证方式: ```bash # 方式一:Max订阅用户,自动登录 claude # 方式二:API Key export ANTHROPIC_API_KEY=sk-ant-xxxxxxxxx claude ``` 我个人用 API Key 模式——费用可控,能自己算预算。 ### CLAUDE.md——最重要的文件 这文件比你想的重要十倍。每次 Claude 启动都先读它,相当于给 AI 上了个"项目说明书"。 ```markdown # CLAUDE.md ## Project Next.js 16 + TypeScript 电商平台 ## Commands - dev: npm run dev - build: npm run build - test: npm run test - lint: npm run lint ## Architecture - App Router + Server Components - Prisma ORM + PostgreSQL - Stripe 支付 - Redis 缓存(session + cart) ## Conventions - 默认用 Server Components - API Route 全部返回类型化响应 - 业务逻辑写在 lib/ 下,不在 API route 里写 - 测试覆盖核心业务逻辑 - git commit message 用 semantic format ``` 没有 CLAUDE.md 的后果就是——Claude 每次猜你的项目结构,猜对 80%,剩下 20% 够你修半天的。 --- ## 3. 步骤实操:用 Claude Code 重构一个模块 我拿真实场景举例。本周要重构一个购物车模块——把直接操作数据库改成通过 service layer 调用。 ### Step 1: 先让 Claude 读代码 ```bash cd ~/my-project claude ``` 然后在 Claude 的 prompt 里输入: ``` /plan 帮我分析一下 shopping-cart 模块的结构, 我想把 db 操作抽到 cart-service 层, 现有文件有哪些依赖关系? ``` 它不会直接动手改,而是先读代码,输出分析: ``` 📊 分析结果: - /app/api/cart/route.ts(725行,直接用了 prisma) - /components/cart/CartPanel.tsx(直接调了 API route) - /lib/cart.ts(含部分业务逻辑,但跟 db 混在一起) - 依赖图:[modules: cart, product, user → db: prisma] 计划: 1. 新建 lib/services/cart-service.ts(纯业务+数据) 2. 改 cart.ts 改为只调 service 3. 重构 API route,去掉 prisma 调用 4. 对应的测试文件更新 ``` ### Step 2: 同意后让它改 ``` 同意,按这个计划执行。每个文件改完先给我看 diff。 ``` Claude 会逐文件改,给你看 diff,你点 approve 或 reject。改造完它会自动跑测试: ``` ✅ Changes complete. Running verification: - npm run lint ✓ - npm run build ✓ - npm run test ✓(58 passed, 0 failed) ``` ### Step 3: 提交 ``` /commit -m "refactor: 抽出 cart-service 层,解耦业务逻辑和 DB 操作" ``` 一气呵成。整件事情耗时:**从 15 分钟到 3 分钟**,前提是你管线好了。 --- ## 4. 效果截图(文字版) Claude Code 的终端交互大概是这种感觉: ``` ┌─────────────────────────────────────────────────────────┐ │ claude /your-project (main) │ ├─────────────────────────────────────────────────────────┤ │ > /plan 分析购物车模块结构 │ │ │ │ 📊 Analyzing 15 files... │ │ │ │ 依赖关系图: │ │ cart/route.ts ──→ prisma │ │ lib/cart.ts ──→ prisma (重复逻辑) │ │ CartPanel.tsx ──→ cart/route.ts │ │ │ │ 建议: │ │ lib/services/cart-service.ts (新建) │ │ lib/cart.ts → 改为调 service │ │ cart/route.ts → 去 prisma 依赖 │ │ │ │ 开始执行?(Y/n) │ └─────────────────────────────────────────────────────────┘ ``` 每个改动的 diff 清晰展示,你按 `y` 或 `n` 就能逐个审批。 --- ## 5. 常见问题 FAQ ### Q1:费用爆炸怎么办?一个月烧了 2000 刀! 我踩过的坑,给你省点钱: - **别把 Claude Code 当 ChatGPT 用**——闲聊也烧 token - **别滥用 sub-agent**——一个 5 个子任务并行跑 10 分钟,比你手动写贵 10 倍 - **多用 `/compact`**——长 session 用 `/compact` 压缩上下文,缓存命中率更高 - **设置预算上限**:`.claude/settings.json` 里加 `"maxCost": 50`(每次 session 上限 50 刀) - **小任务用 Sonnet**,大重构才切 Opus——Sonnet 4.6 足够应付 80% 的日常 我上个月踩的坑就是——8 个 agent 并行跑,每个还在读 20 万行的 monorepo。一晚上 500 刀没了。 ### Q2:担心代码质量?AI 生成的不敢合? 合理。我的经验是: - **大改必须 review**:Claude Code 每个 diff 你都得看一眼,别无脑 approve - **CLAUDE.md 里写好约定**:能减少 70% 的"风格不统一"问题 - **跑测试不是万能的**:逻辑错误测试不一定覆盖到,核心逻辑自己过一遍 有一说一,Claude Code 写的 boilerplate 比我干净。但涉及业务逻辑的边界条件——它经常漏。 ### Q3:Hooks 和 MCP 是啥?必须配吗? 不是必须的,但配了之后体验提升巨大。 **Hooks(钩子)**:每次 Claude 改完文件自动跑 prettier、eslint,不用你手动 fmt 了。 `.claude/settings.json` 里加: ```json { "hooks": { "PostToolUse": "prettier --write {file_path} && eslint --fix {file_path}" } } ``` **MCP(模型上下文协议)**:让 Claude Code 连你的 Jira、GitHub、数据库。你问"帮我看看这个 issue 对应的 PR",它自己去拉数据。 配置方法:`.claude/mcp.json` 里加 GitHub MCP server 就行。 ### Q4:有哪些 slash 命令是必学的? | 命令 | 干啥用 | |------|--------| | `/plan` | 大任务先出方案再动手,省钱省心 | | `/compact` | session 太长时压缩上下文 | | `/review` | 让 Claude review 自己改过的代码 | | `/commit` | 自动写 commit message + 提交 | | `/init` | 读取项目结构自动生成 CLAUDE.md | ### Q5:跟 Copilot 比到底哪个好? 实话实说——**不冲突**。 我现在的 workflow: - 日常写代码 → Copilot(快,便宜,自动补全) - 重构/大改动 → Claude Code(强,贵,但值得) - 修 bug → 先 Claude Code `/plan` 分析,再看 diff 两个一起用,不磕碜。省钱又高效。 --- ## 总结 Claude Code 是这个时代最接近"你说话,它干活"的工具。但它不是魔法——你得学会驾驭它。 **三句话总结:** 1. 大项目大改动用 Claude Code,小事别滥用 2. CLAUDE.md 是命根子,每次改项目结构都更新它 3. 预算设好上限,每月看账单前心里有数 如果觉得有帮助,欢迎点赞收藏 ❤️ 更多 AI 工具实战教程,关注我第一时间获取~
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐