Claude Code 总览与心智
aiLearning/38 里讲过 Coding Agent 的通用骨架:主循环 + 文件/终端工具 + 模型。Claude Code 就是这个骨架 Anthropic 自己亲手做出来的版本。和 Cursor、Cline、Aider 比起来,它有一个独特定位——不是 IDE 插件,而是一个跑在终端里的 CLI。这件事看起来不起眼,但它决定了 Claude Code 后面所有的设计走向。
一句话先记住:Cursor 是给 Claude / GPT 套了个编辑器壳;Claude Code 是把编辑器去掉,只留下 Agent 内核。前者帮你写代码,后者直接帮你"完成一件事"——可能涉及编辑代码,但同样可能是审 PR、跑实验、写文档、改配置。
一、为什么是终端,不是 IDE
写 Claude Code 的核心设计选择只有一个:终端原生。这件事的好处分三层。
1.1 终端是程序员的"操作系统接口"
IDE 里能干的事 ≈ 编辑代码 + 跑命令。终端能干的事 = 整台电脑能干的事。Claude Code 跑在终端,意味着它可以:
- 跑任何 CLI(
gh、docker、kubectl、psql、bun test……) - 用任何 shell 工具(
grep、awk、jq、fd) - 调任何 API、写任何文件、起任何后台进程
Cursor 想做这些必须给自己的 IDE 加功能;Claude Code 不需要——它已经在最强的"功能集合"里了。
1.2 可脚本化、可 CI 化
claude -p "review this PR" 直接当命令用;CI 里可以跑 Claude 做自动化任务;远程 SSH 进服务器跑也行。它不依赖 GUI——这让它能进入所有"非交互式开发"场景:CI、远程机器、生产环境调试、批量任务。
Cursor 没法在 GitHub Actions 里跑;Claude Code 可以。这是定位差异,不是优劣差异。
1.3 工具回归本质:文件读/写/搜 + 跑命令
Coding Agent 的灵魂工具就那几个:Read / Edit / Write / Bash / Glob / Grep。Claude Code 不打算在这之外发明新的 IDE 概念——它认为终端 + 文件 + 命令已经足够表达"程序员要干的所有事"。
二、和同类产品的横向对比
| 工具 | 形态 | 主战场 | 心智模型 |
|---|---|---|---|
| Cursor | IDE(VSCode fork) | 写代码、补全、内联编辑 | "AI 增强的 VSCode" |
| Cline | VSCode 插件 | 透明 Agent,看每步 | "可视化的 Claude Code" |
| Aider | 终端 CLI | 整文件改写、git 集成 | "git-native 的 pair programmer" |
| Devin | Web 平台 | 长任务、自治 | "你下达任务我去做" |
| Claude Code | 终端 CLI | 任何能用终端表达的事 | "通用 Coding Agent,可脚本化" |
| Codex CLI(OpenAI) | 终端 CLI | Claude Code 同形态 | OpenAI 阵营对位产品 |
关键差别:Cursor 把 LLM 嵌进编辑器;Claude Code 把编辑器拆掉,只留 LLM + 工具 + 终端。前者强在交互,后者强在自动化与扩展性。
这两条路径会持续共存。写代码用 Cursor、做事用 Claude Code 是最常见的组合。
三、Claude Code 的五大可扩展层
终端 CLI 听上去简单,但 Claude Code 真正强大的地方是它的扩展面。理解这五层,你就掌握了整个生态:
┌────────────────────────────────────────────┐
│ 1. Slash Commands (你定义的快捷指令) │
│ 2. Hooks (生命周期钩子,自动化) │
│ 3. MCP (外接工具协议) │
│ 4. Subagents (任务分包给子 Agent) │
│ 5. Skills (按需加载的专业知识) │
└────────────────────────────────────────────┘
↑
Claude Code 内核
(主循环 + 工具 + 权限 + 上下文管理)| 层 | 干什么 | 谁触发 | 例子 |
|---|---|---|---|
| Slash Commands | 把常用 prompt 模板化 | 用户输 /xxx | /review、/security-review、/init |
| Hooks | 在生命周期事件上跑脚本 | Claude Code 自动触发 | tool 调用前/后、对话结束、文件被改 |
| MCP | 外接工具(数据库、内部 API、第三方) | LLM 调用 | Notion / Slack / 内部部署平台 |
| Subagents | 分包子任务到独立上下文 | LLM 主动派发 | 探索代码、做 review、跑研究 |
| Skills | 按需加载的专业知识包 | LLM 按描述匹配触发 | "审 PR"、"做安全审计"、"配 settings" |
这五层不是平级的,各有各的应用场景(后面每一层都有专门的篇章)。但你要先知道它们的存在和分工,后面具体技术才不会混在一起。
第一次用 Claude Code 容易陷入"什么都用 slash command 解决"或"什么都用 hook 解决"。正确的方式是按"谁触发"来选层——用户每次手动触发用 slash;按事件自动触发用 hook;按语义匹配触发用 skill;独立子任务用 subagent;外接系统用 MCP。
四、和 ChatGPT / 普通 LLM 用法的心智差别
很多人第一次用 Claude Code,带着用 ChatGPT 的习惯——"我问你一个问题,你回答我"。这是错的。
Claude Code 的正确用法是告诉它你要完成的目标,而不是问它问题:
| 不好的用法 | 好的用法 |
|---|---|
| "怎么改这个 bug?" | "把这个 bug 修了,跑测试通过" |
| "这段代码什么意思?" | "把这段代码加注释解释清楚" |
| "我的部署有问题" | "排查一下生产环境为什么 502,看 nginx 日志和最近的 commit" |
| "Redis 怎么配?" | "把项目接入 Redis,用 ioredis,配置走 env" |
关键转变:你在和一个会动手的同事对话,不是和一个百科全书对话。Claude Code 会:
- 读相关文件,理解上下文
- 制定计划(简单的省略、复杂的进 plan mode)
- 执行(改文件、跑命令、调 MCP)
- 验证(跑测试、跑 lint、读输出)
- 必要时迭代
你的角色从"提问者"变成"项目负责人"。
这个心智转变是用好 Claude Code 的最大门槛。很多人用了几个月仍然在"问问题",而没有"派任务"——多半因为不信任、或没耐心审 diff。这两件事都会随着用得越多越自然。
五、什么场景该用,什么场景不该
该用
- 重复性写代码:CRUD、表单、基础组件、配置文件、迁移脚本
- 跨文件改造:重命名一个 API、把一个 hook 升级一个版本、统一 lint 风格
- 不熟悉的领域:第一次接 Stripe、第一次写 Flutter、第一次配 K8s
- 调试:让它跑命令、看日志、定位问题
- 审 PR / 写文档 / 写测试:这是它最擅长的"低创造性 + 高重复"工作
- 跨工具串联:从 GitHub issue → 写代码 → 起 PR → 写描述 → 跑测试
不该用
- 极小的改动:改一个 typo、加一行 log,自己改更快
- 核心架构决策:让它给意见可以,但最终决定必须你自己拍
- 你完全不懂的代码:Claude Code 写出来的代码你看不懂 = 你失去对系统的控制权;先自己读懂再用 AI 改
- 创造性写作:文学性、情感性的输出 LLM 都很弱,Coding Agent 更甚
- 需要严格保密的代码:走 API 就意味着代码出网,敏感系统按公司合规策略来
一条硬规则:你看不懂的 PR 不要 merge。Claude Code 帮你写得快,但评审责任永远在你——这一点别因为它写得"看起来对"就放松。
六、本系列的整体地图
知道了 Claude Code 是什么,本系列后续 29 篇大致这样组织:
01 总览(这篇)
02-11 Claude Code 工作流:配置 → 工具 → 五大扩展层 → 集成
这一段是"会用 Claude Code"的全部内容,优先级最高
12-18 Anthropic API:把 Claude 当能力组件用
这一段是"自己写应用"的基础,绕不开
19-23 Claude Agent SDK:写自己的 Coding Agent
Anthropic 把 Claude Code 内核开源出来给你用,这一段教你拼
24-27 MCP Server 开发:写自己的工具
AI 系列只讲了协议,这里讲"我要写一个 server 给团队用"
28-30 设计模式 + 生产化
前面所有概念串起来,讲选型、调试、团队协作优先级:11 之前每一篇都建议看;12-18 看你要不要写应用;19 之后是工程化路径,按需。
七、给新手的最快入门路径
如果你是第一次用,不要从 README 啃起,按这个路径走:
- 装上,跑通:
npm install -g @anthropic-ai/claude-code,在一个真实项目里输claude - 派一个真任务:别问"你能干什么",直接说"把 README 翻译成中文"或"给这个项目加一个 Dockerfile"
- 看它怎么干:观察它读哪些文件、调哪些工具、决策依据是什么
- 学会打断:
Esc中断、Ctrl+C退出、/clear清上下文 - 第二周开始定制:写第一个 slash command、加第一个 hook、配一个 MCP
第一个月别急着看完所有文档,边用边补。Claude Code 的功能矩阵很大,但 80% 的日常用法只用到 20%。
真正的学习曲线在"派任务的能力"——会拆任务、会写好的指令、知道它哪里靠谱哪里不靠谱。这部分是经验,不是知识。
八、踩坑提醒(总览版,后面每篇细讲)
- 不读 diff 直接 yes——最常见、最危险的错误。Claude Code 让确认变成习惯之后,你会越来越懒得读 diff,然后某天它把你的 schema 删了
- 不用 plan mode 就让它做大改动——大改一定先 plan,再执行;别把 plan mode 当多余步骤
- CLAUDE.md 没写或乱写——项目里没有 CLAUDE.md = 每次新会话都从零理解项目,效率减半
- MCP server 一接一大堆——server 越多,工具列表越长,LLM 选错的概率越大;只接当前需要的
- slash command 写得太具体——一次只用一次的指令不必做成 slash;真正反复用的才值得
- 没设 permissions——默认权限可能太宽或太窄,用一周后该 audit 一次 settings
- 不知道有 hook——重复的"每次 commit 前要做 X"不是给 Claude 念三遍,是写一个 hook
- 当成 ChatGPT 用——你给它"问题",它给你"答案",但你的目标是让它"做事"
- 完全信任输出——LLM 永远会幻觉,重要文件改完一定看 git diff
- 不学快捷键——Tab、Esc、Ctrl+R(transcript)、
/clear、/compact,这几个不学每天损失 10 分钟
下一篇:02-安装配置与settings.md,讲 settings.json 的三层结构(user / project / local)、env、model 选择,以及为什么团队协作时这三层的边界很重要。