Claude Code 4.8 入门:实用指南
上周,我正对着一项拖延了数月的迁移工作发愁。我们的 API 层在自然生长中,已经变成了一团乱麻:错误处理不一致、认证模式混用,还有大约 40 个急需从 Express 迁移到 Fastify 的端点。我原本预估这得花上三周时间,既耗时又枯燥。后来 Claude Opus 4.8 发布了,我就想,不如让 Claude Code 再认真试一把,看看能不能搞定。
接下来发生的事真让我大吃一惊。搭载 Opus 4.8 的 Claude Code 在 30 秒内就读取了整个项目结构,找出了 12 个需要修改的文件,提出了一份迁移计划,然后——最让我意外的地方来了——当我最初的思路有缺陷时,它居然反驳了我。我让它从认证中间件开始,它的大意是:“如果先迁移认证,现有的 Express 路由就会崩溃,因为它们依赖当前的中间件签名。我们应该从工具层开始,自下而上地改。”它是对的。
那一刻我意识到,这绝不仅仅是一次常规的版本升级。这个版本真的有更好的判断力。接下来,我就带大家看看过去这一周我在配置和使用它时总结出的经验。
安装与配置
首先明确一点:Claude Code 是在你的终端里运行的。不是在浏览器里,也不是在 IDE 的侧边栏里——而是在你真实的终端里,在那里它可以读取你的文件、编写代码并执行脚本。理解了这一点,你就明白它为什么这么有用了。
npm install -g @anthropic-ai/claude-code
安装就这一步。接下来需要进行身份验证。在终端中运行 claude,它会引导你连接你的 Anthropic 账户。你需要 Max 订阅或 API 访问权限——Opus 4.8 不是免费的,而且物有所值。
验证通过后,进入你的项目目录并运行:
claude
你会看到一个看似极其简单的提示符。输入你的问题或任务,就可以开始了。
CLAUDE.md 文件:你的项目上下文
在让 Claude Code 干正事之前,先在项目根目录创建一个 CLAUDE.md 文件。这可能是你所能做的效果最显著的一件事了。Claude Code 每次启动时都会读取这个文件,它决定了助手处理你代码库的整个方式。
这是我针对 API 迁移项目写的文件内容:
# 项目:内部 API 迁移
## 技术栈
- Node.js 20, TypeScript 5.3
- 当前:Express 4.x → 迁移至:Fastify 5.x
- PostgreSQL via Knex.js
- 测试:Vitest
## 规范
- 所有路由处理放在 src/routes/
- 中间件放在 src/middleware/
- 使用 Zod 进行请求验证
- 错误响应格式遵循 { error: string, code: string, details?: any }
- 绝不使用 `any` 类型——使用 `unknown` 并进行类型收窄
## 已知问题
- 认证中间件返回了 Express 特有的响应对象
- 部分路由未经验证直接使用 req.params(存在安全风险)
- src/routes/billing/ 目录下测试很少——修改时请小心
## 工作偏好
- 提出修改建议时,先给我看 diff
- 每次重大修改后都要运行测试
- 如果我的计划看起来有问题,请在动手实现前告诉我
最后那句话比我预想的还要重要。Opus 4.8 真的把它当回事了。在写下一行代码之前,它就抓到了我迁移计划里的两个错误。
全新动态工作流功能
这是 4.8 版本的重头戏,非常值得了解一下。以前版本的 Claude Code 很擅长处理范围明确的小任务,比如“重构这个函数”、“给这个模块写个测试”、“修一下这个 bug”。但如果你给它派个大活儿——比如“迁移我们整个 API 层”——它要么干到一半就迷失了,要么给出的计划太宽泛,根本没法用。
动态工作流让 Claude Code 能够把庞大的问题拆解成多个阶段,逐个执行,验证结果,然后再继续。它不仅仅是生成一个待办清单——而是真正去执行任务,检查测试是否通过,并在出问题时自动调整。
我是这样启动迁移的:
我需要把这个 Express API 迁移到 Fastify。先阅读项目结构,
提出一个分阶段的迁移计划。先别写代码——
只给我计划,列出具体文件以及我们要处理的顺序。
Claude Code 通读了 47 个文件,梳理出依赖关系图,然后提出了以下计划:
- 阶段 1:工具函数和共享类型(不依赖 Express)
- 阶段 2:验证层(用 Fastify schemas 替换 express-validator)
- 阶段 3:中间件(认证、日志、错误处理)
- 阶段 4:路由处理,按业务领域分组
- 阶段 5:应用引导和服务器设置
- 阶段 6:移除 Express 依赖,验证所有功能
每个阶段都列出了具体的文件。我批准了这个计划,然后我们就按阶段一步步推进。在每个阶段完成后,Claude Code 都会自动运行测试套件,并标记出任何出错的地方。
工作量控制:小而重要的功能
4.8 版本还在 claude.ai 上增加了工作量控制功能,类似的概念也适用于 Claude Code。你可以告诉它要在任务上投入多少精力。对于简单的问题——“这个函数是干嘛的?”——你不需要它深入思考;对于复杂的重构,你当然希望它全力以赴。
在实际使用中,我发现直接在提示词里明确说明工作量效果很好:
简单问一下:当 token 过期时,`validateSession` 中间件
会返回什么?
对比:
这件事需要你仔细斟酌。计费路由在处理用户订阅在请求中途
失效的情况时,做法很不一致。有的返回 403,有的返回 402,
还有一个直接放行了。请提出一个统一的模式,并在所有
计费路由中实现它。
Opus 4.8 足够聪明,能根据任务自行调整投入程度,但在处理简单问题时,你明确说明可以节省 token 和时间。
快速模式:速度优先于深度时使用
Opus 4.8 引入了快速模式,运行速度是原来的 2.5 倍,而且比之前的模型便宜了三倍。我一直在用它处理一些直截了当的任务:写样板代码、生成测试存根、简单的重构。对于复杂的迁移工作,它可能不是最佳选择,但在那 60% 更偏机械性而非创造性的编码工作中,它是个绝佳选项。
在 Claude Code 中,你可以通过在提示词前加前缀来切换到快速模式:
--fast 为 src/routes/billing/ 中的每个路由处理程序
生成 Vitest 测试存根。只要 describe 块和测试名即可——
我会自己补充断言。
这一周下来,这确实帮我省了不少钱。迁移规划和棘手的中间件工作用的是完整的 Opus 模式;而测试脚手架和 import 重组用的则是快速模式。
我踩过的坑
我遇到过一些问题,了解这些或许能帮你省点时间:
千万别跳过 CLAUDE.md。 我起初在一个小项目上没写这个文件,结果 Claude Code 一直在瞎猜我的技术栈,而且全猜错了。我用 Vitest,它却以为我用 Jest;我用 ESM,它却以为我用 CommonJS。有了这个上下文文件,这些问题就全没了。
它还是会犯错。 Opus 4.8 在自我纠错方面确实更好了,但并不完美。在迁移过程中,它有一次重写了一个中间件函数,改用 Fastify 的 hook 系统,却忘了这个函数在请求生命周期之外的三个地方也被直接调用了。虽然测试抓住了这个 bug,但我本该在代码审查时就发现它的。记住,一定要审查所有代码。
上下文大不代表上下文无限。 在真正庞大的代码库(100 个文件以上)中,Claude Code 也会忘记之前做过的决定。我发现一个有用的做法是:定期总结我们已经敲定的事情,并把它追加到 CLAUDE.md 文件中,这样它就能保持思路清晰。
“反驳”功能确实存在,但并非万无一失。 在迁移过程中,Opus 4.8 两次反驳了我的烂点子,这非常棒。但它也顺从了我另外两个平庸的想法,后来我自己又推翻了重做。它是一个更好的协作者,但不是完美的协作者。
使用一周后的实用建议
先从只读探索开始。 在让 Claude Code 修改任何东西之前,先让它读一下代码库并解释架构。这能夯实它的理解,并尽早暴露问题。
小步提交。 尽管动态工作流能处理大任务,我仍然会在每个阶段完成后进行提交。如果出了岔子,我就可以回滚,不至于满盘皆输。
要 diff,不要重写。 当 Claude Code 想重写整个文件时,我会要求它只展示改动部分。这样更容易审查,而且往往会发现实际改动比最初看起来要小。
把枯燥的活儿交给它。 这次迁移大约有 40 个路由处理程序,都需要进行相同的机械化转换。Claude Code 几分钟就搞定了。而我则把真正的脑力花在了棘手的认证中间件和错误处理模式上。
运行你现有的工具链。 Lint 工具、类型检查器、测试——全跑一遍。如果你要求,Claude Code 会运行测试,但它不会自动去跑你的 ESLint 配置或 TypeScript 编译器。我在 CLAUDE.md 里加上了“修改后运行
tsc --noEmit”。
客观评价
搭载 Opus 4.8 的 Claude Code 是一次实用的升级,而不是什么魔法重置。它在 Claude Code 本身就已经最擅长的领域表现得最为出色:那些需要理解依赖关系并在整个代码库中保持一致性的、长期的多文件任务。动态工作流功能将它从一个高级自动补全工具,变成了一个真正能搞定大项目的利器。
但它终究是个工具,不是你的同事。它并不真正懂你的业务逻辑。它能极好地遵循模式,但无法告诉你某种模式对你的用户是否合理。我前面说的那次迁移?Claude Code 完美地完成了机械化转换。但那些设计决策——该暴露哪些错误、如何构建新的中间件链、API 契约应该长什么样——这些仍然是我的活儿。
我最初预估的三周迁移时间?用 Claude Code 只花了四天。这并不是因为代码全是 Claude Code 写的,而是因为它包揽了那 70% 枯燥的活儿,让我能解放出来,专注于真正需要判断力的部分。
如果你正在进行任何大规模的重构、迁移或代码库清理,Claude Code 4.8 绝对值得你花时间去试试。只需记住:你的 CLAUDE.md 写得越好,指令越清晰,你从中获得的收益就越大。