Anthropic 推出了官方认证的 Claude Certified Architect (CCA) 考试,120分钟60题。考纲和学习资源都是公开的,分为五大方向:
- Agentic 架构设计 27%
- Tool 设计 + MCP 18%
- Claude Code 配置 20%
- Prompt Engineering 20%
- Context 管理 15%
这并非一个简单的“会用 Claude”的考试,它侧重于生产级的细节,比如 Agent SDK 编程、MCP 错误处理标准和 CI/CD 集成。本文是其官方实战课程“Claude Code in Action”的中文版,并特别对 GLM 等国产大模型进行了适配,方便大家一步步动手实践。
为了避免文章过长,我将官方课程划分为三部分,本文是第一部分:Claude Code 的工作原理和快速上手。
编程助手是怎么工作的
当你让编程助手帮你修复一个 bug 时,它会像程序员一样思考,遵循一个核心工作流程。

这个过程可以概括为三个核心步骤:
- 收集信息 - 理解错误含义,定位受影响的代码库部分和相关文件。
- 制定方案 - 决定如何修复,例如修改哪些代码、运行哪些测试进行验证。
- 动手执行 - 通过修改文件、运行命令来落实解决方案。
关键点:第1步和第3步都需要助手与外部环境交互——读文件、检索文档、运行命令或修改代码。
这就引出了核心挑战:语言模型本质是文本处理黑盒,它无法真正执行这些操作。解决方案是一种叫做工具使用 (Tool Use) 的机制。
工具使用的运作机制
当你向编程助手发送消息时,它会自动嵌入指令,教语言模型如何请求操作。例如,提示可能是:“如果想读文件,就回复 ReadFile: main.go”。
一个完整的工作流程示例如下:

- 你问:“
main.go 里写了啥?”
- 编程助手在你的请求里加上工具使用说明。
- 语言模型回复:“
ReadFile: main.go”。
- 编程助手读取真实的
main.go 文件内容,然后发给模型。
- 语言模型根据文件内容给出最终答案。
原理:这套机制让语言模型“看起来”能读写文件、运行命令,但实际上它只是在生成遵循特定格式的纯文本回复。
并非所有模型都擅长使用工具。Claude 系列模型(Opus、Sonnet、Haiku)在理解工具功能并有效运用以完成复杂任务方面表现尤为出色。
核心优势与要点
- 能处理复杂任务:Claude 可以组合使用多种工具,甚至能快速上手新工具。
- 平台可扩展:你可以轻松为 Claude Code 添加新工具,Claude 会学习使用它们,适应你的工作流。
- 更安全:Claude Code 可以在不索引的情况下浏览代码库,通常无需将整个代码库上传到外部服务器。
总结一下:编程助手依靠语言模型和工具使用能力来工作。Claude 强大的工具使用能力,使得 Claude Code 更安全、可定制且具有长期价值。
Claude Code 配置
是时候在本地搭建 Claude Code 了!完整的安装指南请参考官方文档。
简而言之,你需要完成以下步骤:
安装步骤
- 安装 Claude Code
- MacOS (Homebrew):
brew install --cask claude-code
- MacOS、Linux、WSL:
curl -fsSL https://claude.ai/install.sh | bash
- Windows CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
- 安装完成后,在终端运行
claude 命令,首次运行会提示进行身份验证。
额外配置:如需使用 AWS Bedrock 或 Google Cloud Vertex,请参考对应文档。
为了更有趣地探索功能,我们可以使用一个准备好的 UI 生成器小项目。
注意:你也可以直接使用自己的代码库来跟随学习。
项目设置
这个项目需要少量设置:
- 确保本地已安装
Node.js。
- 下载课程附件中的
uigen.zip 压缩包并解压。
- 在项目目录中,运行
npm run setup 来安装依赖并设置本地 SQLite 数据库。
- 可选:项目通过 Anthropic API 使用 Claude 生成 UI 组件。如需完整测试,需要提供 API Key。
使用其他大模型(如 GLM-4.7)
如果你想使用 GLM-4.7 或其他第三方兼容 Claude API 的模型,.env 配置示例如下:
# 获取 API Key: https://open.bigmodel.cn/usercenter/apikeys
ANTHROPIC_API_KEY=your-api-key
ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic/v1
ANTHROPIC_MODEL=glm-4.7
注意:智谱官方给出的 Claude API 兼容站点为 https://open.bigmodel.cn/api/anthropic/,但这里需要再加一个 /v1 后缀。其他大模型可参考其官方文档进行适配。
- 运行
npm run dev 启动项目。
添加上下文
在使用 Claude 处理项目时,上下文管理至关重要。提供过多无关信息反而会降低其效率,因此需要引导它关注相关文件和文档。

/init 命令与 CLAUDE.md 文件
在新项目中首次启动 Claude 时,运行 /init 命令。这会分析整个代码库,理解项目目的、架构、重要命令和编码模式。

分析完成后,Claude 会创建一个总结并写入 CLAUDE.md 文件。这个文件会包含在每次请求中,相当于一个为项目定制的持久化系统提示,用于引导 Claude 了解代码库和提供自定义指令。
CLAUDE.md 文件可以出现在三个常见位置:

CLAUDE.md - 通过 /init 生成,提交到源代码控制,与其他工程师共享。
CLAUDE.local.md - 不共享,包含个人指令和自定义设置。
~/.claude/CLAUDE.md - 用于本机所有项目,包含全局指令。
添加上下文的技巧
- 添加自定义指令:使用
# 命令进入“记忆模式”智能编辑 CLAUDE.md。例如输入 # 节制使用注释,只为复杂代码添加注释。。
- 使用
@ 提及文件:在提问时使用 @ 符号后跟文件路径(或部分文件名),Claude 会列出相关文件供选择并将其内容包含在请求中。例如:认证系统是如何工作的?@auth。
- 在
CLAUDE.md 中引用文件:直接在 CLAUDE.md 中使用 @ 语法,使被提及文件的内容自动包含在每个请求中。例如:数据库 schema 在 @prisma/schema.prisma 文件中定义...。
实施修改
使用截图进行精确沟通
与 Claude 沟通修改 UI 最有效的方式之一就是通过截图。使用 Ctrl+V (macOS 上 Cmd+V) 将截图粘贴到聊天界面。
提示:按 ⬆️ 键可选择并删除已粘贴的截图。
例如,启动服务后访问 http://localhost:3000,想将选中内容垂直居中:

将截图粘贴给 Claude Code,并给出指令“将内容垂直居中”:

Claude 会分析并修改代码:

经验分享:实际使用中,不同模型的能力有差异。将 GLM 从 Lite 升级到 Pro 并使用 glm-5 后,解决问题利索了很多。国内大模型能解决日常开发中大部分问题,而 Claude 等模型在更复杂的逻辑问题上可能更擅长。
计划模式与思考模式
对于复杂的、需要广泛研究代码库的任务,可以启用计划模式。按两次 Shift + Tab(如果已自动接受编辑则按一次)启用。在此模式下,Claude 会先读取更多文件、创建详细计划、展示意图,并等待你的批准后再执行。
思考模式让 Claude 在解答前花更多时间推理。模式包括 Think、Think more、Think a lot、Think longer、Ultrathink,提供的推理能力依次增强。直接在对话中告诉 Claude 使用对应模式即可。
何时使用:
- 计划模式:适合需要广泛了解代码库、多步骤、影响多文件的任务。
- 思考模式:适合复杂逻辑、困难调试、算法挑战。
两者可以结合,但需注意都会消耗额外 Token。
实战示例:AI 回复中展示的工具名 str_replace_editor 对用户不友好,我们希望显示如“Creating: /App.jsx”这样的文案。这是一个涉及封装组件和编写测试的复杂问题。
使用更友好的文案替换 str_replace_editor,表明使用该工具的意图。例如,可能表示正在创建或编辑文件,再加上操作的文件名称,封装一个新的组件并编写测试用例验证。这是一个比较复杂的问题,使用 ultrathink 思考模式去探索最佳实现方案。

Claude 会进入深度思考并形成计划:

授权并执行完成后,效果如下,文案已得到优化:

控制上下文
使用 Escape 键中断
当 Claude 偏离方向或试图同时处理太多事情时,可按 Escape 键停止其回复,然后重新引导。
示例:让 Claude 给 @src/lib/auth.ts 文件写测试类,它会为所有方法生成测试。如果只想为 createSession 方法写,可以在其生成过程中按 Escape 中断。

然后输入新指令:
只给 createSession 方法写测试类
Claude 会删除多余测试,仅为指定方法编写:

结合 # 记忆功能,还可用于修复重复性错误:中断回复后,用 # 添加强化正确做法的记忆。
回退对话与上下文管理命令
按两次 Escape 可以回退到更早的对话节点,保留有价值的上下文(如对代码库的理解),移除不相关的历史。
注意:回退仅恢复对话上下文,不会自动回滚文件系统或删除已创建的文件。

/compact:总结整个对话历史,保留 Claude 学到的关键信息。适用于 Claude 已获得宝贵知识、且接下来要处理相关任务时。
/clear:完全清除对话历史,重新开始。适用于切换到完全不相关的任务时。
自定义命令
除了内置命令,你可以创建自定义命令来自动化重复性任务。
创建方法:
- 在项目目录中找到或创建
.claude 文件夹。
- 在其中创建
commands 目录。
- 创建一个 Markdown 文件,文件名即为命令名(如
audit.md 对应 /audit 命令)。
示例:审计命令 (audit.md)
请帮我执行以下操作:
1. 运行 `npm audit` 检查已安装包中的安全漏洞
2. 运行 `npm audit fix` 应用更新
3. 运行测试验证更新没有破坏任何功能
带参数的命令:使用 $ARGUMENTS 占位符。
示例:测试命令 (write_tests.md)
为以下内容编写全面的测试:$ARGUMENTS
测试规范:
* 使用 `Vitest` 和 `React Testing Library`
* 将测试文件放在源文件同目录的 `__tests__` 文件夹中
* 测试文件命名为 `[filename].test.ts(x)`
* 导入时使用 `@/` 前缀
覆盖范围:
* 测试正常路径
* 测试边界情况
* 测试错误状态
运行方式:/write_tests hooks 目录下的 use-auth.ts 文件
在 Claude Code 中使用 MCP 服务器
你可以通过添加 MCP (Model Context Protocol) 服务器来扩展 Claude Code 的能力。
安装 Playwright MCP 服务器
一个流行的 MCP 服务器是 Playwright,它让 Claude 能控制网页浏览器。在终端(非 Claude Code 内)运行:
claude mcp add playwright npx @playwright/mcp@latest
实战:改进组件生成
你可以让 Claude 执行端到端的优化流程:
导航到 localhost:3000,生成一个基础组件,审查样式,然后更新 @src/lib/prompts/generation.tsx 中的生成提示,以便后续生成更好的组件。
Claude 会使用浏览器工具与你的应用交互,检查输出,然后修改提示文件以鼓励更具创意的设计。


管理权限
要避免每次使用都请求权限,可编辑 .claude/settings.local.json 文件:
{
"permissions": {
"allow": ["mcp__playwright"],
"deny": []
}
}
注意 mcp__playwright 中的双下划线。这允许 Claude 使用 Playwright 工具而无需重复确认。
结果与优势
通过这种“观察-分析-优化”的循环,Claude 可以将生成提示从千篇一律的样式,调整为鼓励暖色调渐变、非对称设计等更具原创性的方案,因为它能“看到”实际的视觉输出。
最终可能生成更丰富的组件变体:

除了 Playwright,MCP 生态系统还包括用于数据库交互、API 测试、云服务集成等的服务器,能将 Claude Code 转变为能与整个开发工具链交互的伙伴。