找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3055

积分

0

好友

409

主题
发表于 8 小时前 | 查看: 29| 回复: 0

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. 收集信息 - 理解错误含义,定位受影响的代码库部分和相关文件。
  2. 制定方案 - 决定如何修复,例如修改哪些代码、运行哪些测试进行验证。
  3. 动手执行 - 通过修改文件、运行命令来落实解决方案。

关键点:第1步和第3步都需要助手与外部环境交互——读文件、检索文档、运行命令或修改代码。

这就引出了核心挑战:语言模型本质是文本处理黑盒,它无法真正执行这些操作。解决方案是一种叫做工具使用 (Tool Use) 的机制。

工具使用的运作机制

当你向编程助手发送消息时,它会自动嵌入指令,教语言模型如何请求操作。例如,提示可能是:“如果想读文件,就回复 ReadFile: main.go”。

一个完整的工作流程示例如下:
Claude工具使用交互流程图

  1. 你问:“main.go 里写了啥?”
  2. 编程助手在你的请求里加上工具使用说明。
  3. 语言模型回复:“ReadFile: main.go”。
  4. 编程助手读取真实的 main.go 文件内容,然后发给模型。
  5. 语言模型根据文件内容给出最终答案。

原理:这套机制让语言模型“看起来”能读写文件、运行命令,但实际上它只是在生成遵循特定格式的纯文本回复。

并非所有模型都擅长使用工具。Claude 系列模型(Opus、Sonnet、Haiku)在理解工具功能并有效运用以完成复杂任务方面表现尤为出色。

核心优势与要点

  • 能处理复杂任务:Claude 可以组合使用多种工具,甚至能快速上手新工具。
  • 平台可扩展:你可以轻松为 Claude Code 添加新工具,Claude 会学习使用它们,适应你的工作流。
  • 更安全:Claude Code 可以在不索引的情况下浏览代码库,通常无需将整个代码库上传到外部服务器。

总结一下:编程助手依靠语言模型和工具使用能力来工作。Claude 强大的工具使用能力,使得 Claude Code 更安全、可定制且具有长期价值。

Claude Code 配置

是时候在本地搭建 Claude Code 了!完整的安装指南请参考官方文档

简而言之,你需要完成以下步骤:

安装步骤

  1. 安装 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
  2. 安装完成后,在终端运行 claude 命令,首次运行会提示进行身份验证。

额外配置:如需使用 AWS Bedrock 或 Google Cloud Vertex,请参考对应文档。

为了更有趣地探索功能,我们可以使用一个准备好的 UI 生成器小项目。

注意:你也可以直接使用自己的代码库来跟随学习。

项目设置

这个项目需要少量设置:

  1. 确保本地已安装 Node.js
  2. 下载课程附件中的 uigen.zip 压缩包并解压。
  3. 在项目目录中,运行 npm run setup 来安装依赖并设置本地 SQLite 数据库。
  4. 可选:项目通过 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 后缀。其他大模型可参考其官方文档进行适配。

  1. 运行 npm run dev 启动项目。

添加上下文

在使用 Claude 处理项目时,上下文管理至关重要。提供过多无关信息反而会降低其效率,因此需要引导它关注相关文件和文档。
Claude完成任务所需上下文示意图

/init 命令与 CLAUDE.md 文件

在新项目中首次启动 Claude 时,运行 /init 命令。这会分析整个代码库,理解项目目的、架构、重要命令和编码模式。
init命令执行终端截图

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

CLAUDE.md 文件可以出现在三个常见位置:
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,想将选中内容垂直居中:
React组件生成器界面截图,需要垂直居中的区域被标出

将截图粘贴给 Claude Code,并给出指令“将内容垂直居中”:
Claude Code分析图片并制定垂直居中方案的界面

Claude 会分析并修改代码:
代码差异对比截图,显示为垂直居中修改了className

经验分享:实际使用中,不同模型的能力有差异。将 GLM 从 Lite 升级到 Pro 并使用 glm-5 后,解决问题利索了很多。国内大模型能解决日常开发中大部分问题,而 Claude 等模型在更复杂的逻辑问题上可能更擅长。

计划模式与思考模式

对于复杂的、需要广泛研究代码库的任务,可以启用计划模式。按两次 Shift + Tab(如果已自动接受编辑则按一次)启用。在此模式下,Claude 会先读取更多文件、创建详细计划、展示意图,并等待你的批准后再执行。

思考模式让 Claude 在解答前花更多时间推理。模式包括 ThinkThink moreThink a lotThink longerUltrathink,提供的推理能力依次增强。直接在对话中告诉 Claude 使用对应模式即可。

何时使用

  • 计划模式:适合需要广泛了解代码库、多步骤、影响多文件的任务。
  • 思考模式:适合复杂逻辑、困难调试、算法挑战。

两者可以结合,但需注意都会消耗额外 Token。

实战示例:AI 回复中展示的工具名 str_replace_editor 对用户不友好,我们希望显示如“Creating: /App.jsx”这样的文案。这是一个涉及封装组件和编写测试的复杂问题。

使用更友好的文案替换 str_replace_editor,表明使用该工具的意图。例如,可能表示正在创建或编辑文件,再加上操作的文件名称,封装一个新的组件并编写测试用例验证。这是一个比较复杂的问题,使用 ultrathink 思考模式去探索最佳实现方案。

启用ultrathink思考模式的Claude Code界面

Claude 会进入深度思考并形成计划:
Claude Code展示的“友好工具调用显示”实施计划

授权并执行完成后,效果如下,文案已得到优化:
优化后界面显示“Creating: /App.jsx”友好提示

控制上下文

使用 Escape 键中断

当 Claude 偏离方向或试图同时处理太多事情时,可按 Escape 键停止其回复,然后重新引导。

示例:让 Claude 给 @src/lib/auth.ts 文件写测试类,它会为所有方法生成测试。如果只想为 createSession 方法写,可以在其生成过程中按 Escape 中断。
Claude Code正在为auth.ts所有方法生成测试的界面

然后输入新指令:

只给 createSession 方法写测试类

Claude 会删除多余测试,仅为指定方法编写:
Claude Code更新测试文件,仅为createSession方法生成测试

结合 # 记忆功能,还可用于修复重复性错误:中断回复后,用 # 添加强化正确做法的记忆。

回退对话与上下文管理命令

按两次 Escape 可以回退到更早的对话节点,保留有价值的上下文(如对代码库的理解),移除不相关的历史。

注意:回退仅恢复对话上下文,不会自动回滚文件系统或删除已创建的文件。

Claude Code的对话回退(Rewind)界面

  • /compact:总结整个对话历史,保留 Claude 学到的关键信息。适用于 Claude 已获得宝贵知识、且接下来要处理相关任务时。
  • /clear:完全清除对话历史,重新开始。适用于切换到完全不相关的任务时。

自定义命令

除了内置命令,你可以创建自定义命令来自动化重复性任务。

创建方法

  1. 在项目目录中找到或创建 .claude 文件夹。
  2. 在其中创建 commands 目录。
  3. 创建一个 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 Code请求使用Playwright MCP导航浏览器的权限
Claude Code使用Playwright执行导航、输入、截图等操作日志

管理权限

要避免每次使用都请求权限,可编辑 .claude/settings.local.json 文件:

{
  "permissions": {
    "allow": ["mcp__playwright"],
    "deny": []
  }
}

注意 mcp__playwright 中的双下划线。这允许 Claude 使用 Playwright 工具而无需重复确认。

结果与优势

通过这种“观察-分析-优化”的循环,Claude 可以将生成提示从千篇一律的样式,调整为鼓励暖色调渐变、非对称设计等更具原创性的方案,因为它能“看到”实际的视觉输出。

最终可能生成更丰富的组件变体:
多种样式的现代化卡片组件展示页面

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




上一篇:360doc个人图书馆将于5月1日关停,用户需立即备份收藏数据
下一篇:Claude Code 高级实战指南:记忆增强、Skills、Sub-Agent 与 MCP 全解析(v2.1.3)
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-9 09:51 , Processed in 0.638584 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表