先说背景(实测):我是 Java 后端,日常 Jstack 是 Spring Boot + MyBatis + MySQL + Redis,用 IDEA 写了十年代码。2025 年开始用 Cursor,感觉 Tab 补全挺爽的,但始终觉得差点什么——Cursor 是在 IDE 里帮我写代码,但我没法让它自主完成一个完整的任务。
2026 年初开始用 Claude Code。说实话,第一次用有点不适应——没有 GUI,纯命令行,感觉回到了上世纪。但用了一周之后,真香。
这篇文章记录我一个月来用 Claude Code 的真实体验,不讲营销话术,只说一个程序员视角的好坏。
简单说:Claude Code 是 Anthropic 出的一个终端 AI 编程代理。它不是 IDE 插件,是直接在终端里运行的。你告诉它"我要做什么",它会自主读代码、改文件、跑命令、调测试。
和 Cursor/Copilot 的核心区别:
| Cursor / Copilot | Claude Code | |
|---|---|---|
| 运行方式 | IDE 内 | 终端独立 |
| 交互模式 | 你写代码,它补全 | 你说需求,它执行 |
| 自主性 | 辅助你 | 代替你做 |
| 适合场景 | 日常编码 | 原型/重构/自动化 |
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash
# 或者用 npm
npm install -g @anthropic-ai/claude-code
安装完 claude 命令就能用了。第一次运行会引导你登录 Anthropic 账号。
Claude Code 最核心的配置是两个文件,都在项目根目录:
CLAUDE.md — 项目级的 AI 行为指令,相当于给 Claude Code 的系统提示词:
# 项目规范
## 技术栈
- Java 17 / Spring Boot 3.x / MyBatis / MySQL 8.0 / Redis 7
- 前端:Vue 3 + Element Plus
## 编码规范
- 所有 API 返回统一格式:Result<T> { code, message, data }
- 异常统一用 @RestControllerAdvice 处理
- 数据库操作必须加 @Transactional
- 日志用 Slf4j,关键操作必须打日志
我的 CLAUDE.md 片段(实测):
# 赚钱项目 — AI 自动化博客
## 项目规范
- 博客 JSON 存放:blogdata/
- 命名:YYYY-MM-DD-<id>.json
- 使用 Python json.dump 写入,ensure_ascii=False
写作规范
- 中文,经验体
- 每篇 ≥3 处个人经历
内容标注:实测/来源/传闻
这个文件写好了,Claude Code 的行为会精准很多。我花了一个下午调 CLAUDE.md,之后的工作效率直接翻倍。
CLAUDE.local.md — 本地私密配置,不会提交到 git,放个人的偏好设置。
写好 CLAUDE.md 是 Claude Code 正确理解你项目的关键。我有几个建议:
需求:新增一个"标签管理"功能,包括 Controller / Service / Mapper / Entity / 建表 SQL。
不用 Claude Code 的话,这些文件一个个手写最少半小时。
用 Claude Code(实测):
$ claude "新增标签管理功能:
- 表名:t_tag,字段:id, name, color, create_time
- 提供增删改查 API
- 用 MyBatis-Plus
- API 返回 Result<T> 格式"
Claude Code 自动完成了:
整个过程大约 2 分钟。我只需要检查一下逻辑,微调几个字段名就够了。
需求:把项目里所有使用 Date 的地方改为 LocalDateTime,并确保序列化正确。
这个需求涉及 20+ 个文件。手动改的话不仅要改类型,还要改 Jackson 序列化配置、数据库映射、前端传参。
$ claude "把项目里所有的 java.util.Date 替换为 java.time.LocalDateTime:
1. 修改所有 Entity 和 DTO
2. Jackson 序列化配置加上 JavaTimeModule
3. SQL 对应的 datetime 类型不用改
4. 确保 @RequestParam 接收日期参数正常"
Claude Code 在 5 分钟内搞定了,改完还自动跑了一遍 mvn test 确保没挂。我检查了改动,发现它甚至把我遗漏的一个工具类里的 Date 也改了。
需求:线上报了一个偶发的 NullPointerException,日志只显示在 OrderService.processOrder() 第 87 行。
$ claude "分析 OrderService.processOrder() 里可能产生 NullPointerException 的所有场景,
帮我加上防御性代码。重点关注第 87 行附近的 getCoupon() 调用"
Claude Code 读完代码后指出来:getCoupon() 在订单没有使用优惠券时可能返回 null,但后续 getCoupon().getDiscountAmount() 直接调用了。这不是第 87 行的问题,而是 NPE 在第 87 行才暴露出来。它给出了 3 种修复方案并推荐了最合适的那种。
这个分析过程,如果让我自己排查,可能需要 10-15 分钟。它 1 分钟搞定了。
需求:给一个新接手的项目写 README 和接口文档。
$ claude "分析这个项目,生成 README.md,包括:
项目简介、技术栈、模块说明、本地启动步骤、API 列表"
生成的 README 质量相当高——项目结构图、API 清单、启动命令、环境要求一应俱全。我只需要补充部署相关的敏感信息。
需求:写一个脚本批量处理 blogdata/ 下的 JSON 文件,统计每篇文章的字数和分类。
$ claude "写一个 Python 脚本,扫描 blogdata/ 下所有 JSON 文件,
统计:总文章数、按 category 分类数量、每篇文章中文字数,
输出为 CSV"
30 秒生成脚本,跑起来直接出结果。这种重复性的脚本工作,Claude Code 比我自己写快 10 倍。
虽然 Claude Code 说支持 200K token 上下文,但实际体验(实测),当项目文件超过 100 个时,它的理解力会下降。表现为:
解决方案:把大项目拆成小模块,每次只让它处理一个模块的事情。在 CLAUDE.md 里写清楚模块边界。
Claude Code 运行 shell 命令时,如果输出特别长(比如 mvn install 的完整日志),它会尝试读完整个输出,然后……上下文爆了。
解决方案:让它在命令后面加 2>&1 | tail -50,只看关键部分。
Claude Code 偶尔会"发明"不存在的 API 或配置项。比如有一次(实测),它给我的 Spring Boot 项目生成了一个 @ClaudeGenerated 注解——这个注解根本不存在。
解决方案:永远 review 它生成的代码,特别是涉及框架 API 的部分。git diff 是你的好朋友。
Claude Code Pro 是 $20/月(来源:Anthropic 官网),但如果用 API 按量计费,重度使用的话一个月可能花到 $50-100。如果用量很大,Pro 订阅更划算。
我的建议:先用 Pro 订阅一个月试试,如果日均使用超过 2 小时,Pro 的性价比更高。
以下场景我不推荐用 Claude Code(实测得出的结论):
| 维度 | 评分 | 说明 |
|---|---|---|
| 代码生成质量 | 8.5/10 | Java/Spring Boot 场景表现优秀,偶有幻觉 |
| 自主执行能力 | 9/10 | 能独立完成文件读写、命令执行、测试 |
| 易用性 | 7/10 | 命令行门槛高,但熟练后效率极高 |
| 上下文理解 | 8/10 | 中小项目很好,大项目需要拆分 |
| 性价比 | 8/10 | Pro 订阅 $20/月,按重度使用看很值 |
| 综合 | 8.5/10 | 后端程序员的效率神器 |
免责说明:本文所有(实测)内容来自博主真实使用体验。Claude Code 的版本和价格可能随时间变化,请以 Anthropic 官网为准(来源:docs.anthropic.com)。