一Claude Code 到底是什么?

Cal 给出的心智模型:Claude Code 就像一个"什么都在终端里完成"的同事——从不开 GUI,所有操作都靠 bash、Vim、CLI。他举了个例子:作为初级工程师时,他常去找同事 Tony 帮忙调 bug。Tony 会"啪"地打开终端,一通 bash + Vim 操作,问题就解决了。Claude Code 就相当于把 Tony 永远摆在你电脑旁边。

Anthropic 的工程哲学:do the simple thing that works

Anthropic 自己定义的 Agent = 一份指令 + 一组强大的工具 + 让模型在循环里跑到它自己觉得"做完了"。Claude Code 就是这个定义的极简实现。

关键澄清:不做 codebase 索引、不做 embedding RAG。 Claude 像一个新入职的工程师一样主动探索——用 glob / grep / find 这种你我都会用的搜索工具,搜一轮、读一段、判断"还需要看什么",再搜一轮。这就是 agentic search:搜索本身是模型驱动的迭代过程。

二Claude Code 适合做哪些事?

Cal 用一句话总结:几乎什么都能干。 展开看,至少这五个场景特别合身:

场景怎么用为什么有效
探索陌生代码库"这个 feature 在哪里实现的?""结合 git 历史告诉我这段代码最近几周的演化故事"agentic search + bash 同时具备
当思考伙伴"我想加这个 feature,别动手,先帮我搜一搜、给出 2~3 个方案"让 Claude 先 plan 再执行,便于人工审计
写新功能 / 维护老代码在已有代码库里加测试、写 commit / PR message、修 bug单元测试覆盖率自然变高
CI/CD 与运维通过 Claude Code SDK 程序化集成进 GitHub Actions、内部脚本headless / non-interactive 模式
大版本迁移 / 重构Java 升级、PHP→React/Angular、大规模重命名让原本"难启动"的项目变得可消化
Cal 补充:很多客户来跟我们讲的不是"帮我们写新 feature",而是"我们拖了好几年的老代码迁移,现在敢动了"。这是 Claude Code 给团队带来的心理预算层面的变化。

CLI 工具是它真正的超能力

因为 Claude 在终端里特别熟练,所以它顺手就能用 git、docker、gh、bq、kubectl——任何有 CLI 的工具它都会用。以前遇到棘手的 git rebase 冲突就头大,现在直接把情况描述给 Claude Code,让它收拾就行。

三最佳实践 #1:CLAUDE.md 文件

Claude Code 是个 agent,没有跨会话记忆。在同一个仓库里反复用、想让团队共享行为习惯——靠的就是 CLAUDE.md。

CLAUDE.md 里写什么

类型例子
项目入口指引"测试这样跑:pnpm test -- --watch"
代码地图"测试在 tests/,业务模块在 src/services/"
风格 / 约定"禁用 any,用 unknown 配合 narrowing"
内部 CLI 知识"我们用内部工具 coup 做 X、Y、Z"

可以慢慢长起来——每次 Claude 走错路、你纠正它一次,那一条规则就值得沉淀到 CLAUDE.md 里。

关于多个 CLAUDE.md

  • 默认只读当前目录那一份——因为 Anthropic 是 monorepo,早期一次性加载全部子目录的 CLAUDE.md 会爆上下文;
  • 子目录的 CLAUDE.md 是 Claude 自己探索到了、判断相关,才会读;
  • 想强制注入额外文件?在 CLAUDE.md 里用 @filename 语法引用即可。

四最佳实践 #2:权限管理与速度的取舍

启动时 Claude Code 默认对工具行为分两档:

行为类型默认权限说明
读 / 搜索直接放行不打扰你
写文件 / bash / 改环境弹确认"是 / 总是允许 / 否"

调出更顺手的权限策略

  • Shift+Tab:进入 auto-accept 模式,让 Claude 一路自己走;
  • settings 里加白名单:例如 npm run test 永久放行;
  • 配合 escape 键,整个工作流可以做到"放手 + 关键节点拉回"的节奏。

工具接入:CLI 优先于 MCP

如果一个工具既有成熟的 CLI 又有 MCP server,优先装 CLI。 Claude 用 bash 调 CLI 比走 MCP 更直接、上下文也更省。

gh(GitHub CLI)就是经典代表。MCP 真正适合的是"内部没有 CLI、必须封装一层"或"多 Agent 共享治理"那种场景。

五最佳实践 #3:context 管理

Claude 模型默认 200K token 的上下文窗口。长会话里随着 Claude 来回搜、读、写,上下文会持续吃满。窗口底部右下会出现警告。这时候有两条路:

命令适用场景效果
/compact任务还没做完,需要保留思路Claude 自己总结「交接给下一个工程师」,新会话带着摘要继续
/clear换个新任务全清,但保留 CLAUDE.md
Cal 提到 Anthropic 团队专门花了很多精力调 /compact 的 prompt,目标是即使你把上下文用爆,compact 出来的摘要也能让下一段对话无缝继续。

六最佳实践 #4:先 plan 再做,看着 todo 不对就拍 escape

让 Claude 先做计划

打开 Claude Code,别说"修这个 bug"——先说:

"我有个 bug,先 搜一下原因,给我一个修复计划,先别动代码。"

这样你能审计它要做什么,比直接让它写完再 review 省事得多。

利用 todo 列表的"可观测性"

  • 看到不对的条目,立刻按 Esc 打断,让它改 todo;
  • 不要等它把错的事都干完了再回滚。

「smart vibe coding」的几个小习惯

做法为什么有用
TDD:让 Claude 改一点跑一遍测试早期发现回归,避免一锅端
频繁 commit走偏了能快速回退
让 Claude 自己跑 type check 和 lint把"形式正确性"的负担甩给机器
喂截图 / 设计稿Claude 4 多模态,可直接看 mock 实现 UI

七进阶玩法

多开 Claude 并行

Cal 自己最多并行 2 个,他认识的客户开过 4 个 Claude Code 并行——用 tmux 或多个终端 tab。挑战自己 try 一下,他说很 fun。

Escape 是你的好朋友

  • 单按 Esc:打断当前操作,告诉 Claude 你要换方向;
  • 连按两下 Esc:跳回会话历史的更早位置,从那儿开始 fork 新分支(很多人不知道的隐藏功能)。

什么时候才该上 MCP?

bash + 内置工具搞不定 + 真的需要外部能力的时候。 不要一上来就堆 MCP server。

Headless / 程序化使用

通过 Claude Code SDK 让它无 UI 跑——CI、内部脚本、batch 处理。Cal 说这是 Anthropic 内部都还在摸索的方向:"希望你们也来试试,告诉我们能玩出什么花。"

八Claude 4 / 最新版本带来的新东西

新能力怎么用价值
/model 即时切换default(Sonnet)↔ Opus重活上 Opus,常规活省钱
Tool call 之间能思考任务里加一句"think hard" 触发 extended thinkingClaude 4 之前的模型只在最末端思考,4 系列开始在工具调用中间也思考——这才是真正用得上的地方
VS Code / JetBrains 集成编辑器知道你当前打开的文件,Claude 上下文里自然带上减少手动指明文件

跟住更新

anthropic/claude-code 这个 GitHub 仓库的 changelog 是 Cal 自己每周必看的。Anthropic 出货很快,他本人都跟不上——所以养成每周扫一眼的习惯。

九Q&A 精华

Q:CLAUDE.md 里写的规则,Claude 当面违反怎么办?

Cal 的回答有两层:

  1. 这其实是模型问题,不是 prompt 问题。 比如老模型特别爱写解释 "what" 的注释,3.7 在系统提示里写了一大段"别留注释"都压不住;
  2. Claude 4 在"听话"这件事上明显变好。 早期 4 的测试者反馈是"我 CLAUDE.md 突然真的被认真执行了"。所以借升级 Claude 4 的机会,回头审视一下你 CLAUDE.md 里哪些规则可以删了——可能不再需要那么多防御式叮嘱。

Q:多 Agent 之间能不能共享上下文?比如 agent2、agent3 都用 agent1 的结果?

  • 目前没有原生机制,团队还在想这件事;
  • 务实做法:让 Agent 之间通过共享 markdown 文件交流。 比如让 A 写 ticket.md,再启动 B "读 ticket.md,另一位工程师给你留了 todo";
  • 长期可能会有更原生的产品形态,但今天的最佳实践就是用文件当通信总线。

Q:TDD 和 Claude 怎么配?

让 Claude 写 端到端、最简单的 3 个用例(happy path / 两种 error),别让它自己生成实现相关的细测——那种测试容易跑偏。只读 test 不读 implementation 就能给你足够信心。

十总结:从入门到熟练的清单

步骤操作关键点
1用 CLAUDE.md 沉淀团队/项目知识慢慢长,每次纠正一次就沉淀一条
2调权限策略,允许常用命令Shift+Tab 自动通过,白名单常用操作
3先 plan 再做,盯着 todo不对就 Esc,别等做完再回滚
4长会话用 /compact压摘要继续,而不是开新会话从头来
5加 CLI 工具,优先于 MCPbash 能搞定的就不走 MCP
6多开 / headless 进阶玩法并行 + SDK 自动化
7每周看 changelogAnthropic 出货快,跟住更新
一句话外带:Claude Code 不是给你一段代码,而是给你一位永远在终端里干活的同事。 和它一起工作的核心姿势,不是"指挥它写代码",而是"像带新人那样喂它上下文、定流程、看进度、关键节点拉回"。