课程概述

本课程是 Anthropic Academy 推出的 Claude Code 专项课程,由 Stephen Grider 主讲,系统讲解 AI 编码助手的底层原理、实操技巧和工程化落地方法,帮助开发者掌握 Claude Code 的完整认知框架和实战能力。

在这里插入图片描述


🎯 核心原理篇

一、AI 编码助手的核心架构

架构组成:语言模型 + 工具调用层

工作流程(5步):

  1. 接收任务 - 获取开发者的编码、优化、检测等需求
  2. 收集上下文 - 通过工具调用获取相关代码文件、文档、运行环境信息
  3. 制定解决计划 - 拆解任务,明确工具、步骤和验证方式
  4. 执行操作 - 通过格式化指令调用工具完成实际操作
  5. 生成结果 - 基于工具反馈生成最终代码、分析报告或解决方案

工具使用机制核心

  • 编码助手为语言模型附加格式化指令规则
  • 语言模型按规则返回工具调用指令(不直接执行)
  • 工具调用层解析指令,执行实际操作并反馈结果
  • 语言模型基于反馈生成面向开发者的结果

二、Claude 系列模型的核心能力

  1. 精准的工具选择与组合能力 - 根据复杂任务拆解需求,选择合适工具并进行多步组合调用
  2. 快速适配新工具的能力 - 无需大量微调即可理解新工具功能
  3. 任务进度的自主把控能力 - 通过任务跟踪表把控执行进度

三、Claude Code 的三大核心优势

优势 说明
复杂任务处理能力 可完成多工具、多步骤的端到端任务
高可扩展性 能轻松接入自定义工具,适配快速变化的技术和需求
更安全的代码检索 无需将代码库全量发送到外部服务器,通过实时工具调用搜索代码

四、四大典型实战场景

  1. 开源库性能优化 - 针对 chalk 库,调用基准测试、CPU 分析、文件编辑工具,实现吞吐量 3.9 倍提升
  2. 数据挖掘与分析 - 在 Jupyter Notebook 中实现代码编写+单元格执行+结果分析+迭代优化的全流程自动化
  3. UI 样式优化 - 接入 Playwright MCP 服务器,实现浏览器打开+页面截图+样式修改+多次迭代的可视化优化
  4. 基础设施代码安全检测 - 分析 Terraform 定义的 AWS 基础设施代码,识别 PII 泄露等安全问题

五、安全设计原则

  1. 无索引式代码检索 - 避免将代码库全量同步到外部服务器
  2. 全链路上下文分析 - 结合整个项目的架构、配置、基础设施逻辑做全链路检测
  3. 最小权限原则 - 仅开放完成任务所需的最小工具权限

🛠️ 实操技巧篇

一、核心上下文管理原则

核心准则:向 Claude 分配任务时,仅提供恰好足够的相关信息,无关信息会直接降低响应效率和结果准确性。

精准引入上下文的两种方式

  • 直接提及文件:通过 @ 字符标注相关文件,如 @src/schema.prisma 分析这个数据库模型
  • 配置文件绑定核心文件:将项目核心文件通过记忆模式添加到 Claude.md 中,让 Claude 默认加载

二、多级别 Claude.md 配置文件

级别 生成方式 核心作用 团队协作
项目级 Claude.md 执行 /init 命令自动生成 记录项目目的、架构、核心命令、关键文件 可提交至 Git,供团队共享
本地级 Claude.local.md 开发者手动创建 存储开发者个人专属指令 不提交至 Git,避免个人指令干扰团队
机器全局级 Claude.md 配置在全局位置 存储通用化指令,如统一的代码风格要求 仅在开发者本地生效

记忆模式:输入 # 进入记忆模式,可智能编辑任意级别 Claude.md,无需手动打开文件修改。

三、Plan/Thinking 模式

模式 开启方式 核心能力 适用场景
Plan 模式 Shift+Tab 两次 深度调研代码库,制定详细的任务执行计划 跨文件、跨模块的广度代码理解任务
Thinking 模式 输入 think/ultra-think 开启扩展推理功能,对特定逻辑进行深度分析 复杂业务逻辑编写、Bug 排查、算法实现

组合使用:复杂任务可同时开启 Plan + Thinking 模式,兼顾广度分析和深度推理。

四、会话控制核心技巧

  • 中断执行:按 Escape 立即停止 Claude 的当前操作
  • 回溯会话历史:按 Escape 两次,查看所有历史消息,跳转到指定节点重新执行
  • 总结会话内容:执行 compact 命令,自动总结核心信息并精简会话
  • 清空会话历史:执行 clear 命令,清空所有会话记录

五、自定义命令

创建步骤

  1. 进入项目的 .Claude 目录,创建 commands 子目录
  2. commands 中创建 md 格式文件,文件名即为自定义命令名
  3. 在 md 文件中编写命令的核心逻辑
  4. 支持参数传递:用 $arguments 作为占位符
  5. 创建/修改后必须重启 Claude Code,输入 /自定义命令名 [参数] 即可执行

六、MCP 服务器集成

添加 MCP 服务器

Claude MCP Add playwright [启动服务器的命令]

权限配置

  • 默认权限:使用 MCP 服务器的工具时,Claude 会逐次请求开发者授权
  • 免授权配置:在 .Claude/settings.local.jsonallow 数组中添加 MCP__playwright(两个下划线)

七、GitHub 集成

集成步骤

  1. 执行 /install github app,按指引完成 GitHub App 安装、API Key 配置
  2. Claude 会自动生成 PR,添加两个核心 GitHub Action
  3. 可修改 GitHub Action 配置文件,定制工作流

原生 Action 能力

  • @Claude 触发:在 Issue/PR 中 @Claude 并分配任务
  • PR 自动审核:创建 PR 后,Claude 自动分析代码变更并给出审核意见

八、其他实用功能

  • 截图交互:截取需要修改的界面区域,按 Ctrl+V 粘贴(Mac 同样使用 Ctrl+V
  • Git 辅助:可完成代码暂存、提交操作,并自动编写描述性的 Git 提交信息

🔧 Hooks 与 SDK 篇

一、Hooks 核心概念

定义:Hooks 是针对工具执行生命周期的自定义扩展机制,可在 Claude 执行内置工具前/后运行自定义命令。

分类

类型 触发时机 核心能力 退出码意义
pre-tool use hooks 工具执行前 检查/拦截工具调用行为 0 允许,2 阻止
post-tool use hooks 工具执行后 后续处理/结果反馈 仅用于反馈结果

配置方式

  • 配置文件:在 .claude/settings.local.json 中配置
  • 内置命令:通过 /hooks 命令快速配置

配置结构示例

{
  "pre_tool_use": [
    {
      "matcher": "read|grep",
      "command": "node ./hooks/read_hook.js"
    }
  ],
  "post_tool_use": []
}

二、三大典型实战场景

实战 1:pre-tool use hooks 实现 .env 敏感文件访问控制

核心逻辑

  1. 从标准输入读取 Claude Code 传入的 JSON 格式工具调用数据
  2. 解析数据判断目标文件路径是否包含 .env
  3. 若命中则通过 console.error 输出错误信息,以退出码 2 终止脚本
  4. 未命中则以退出码 0 终止脚本
实战 2:post-tool use hooks 实现 TS 代码编辑后自动类型检查

核心逻辑

  1. 脚本调用 tsc --noemit 命令执行项目全局类型检查
  2. 捕获检查结果中的类型错误信息,通过标准错误流反馈给 Claude
  3. Claude 根据错误信息,自动定位并修复项目中相关的代码调用问题
实战 3:Hooks 实现 SQL 查询代码去重

核心逻辑

  1. 通过 Claude Code SDK 启动新的 Claude Code 实例
  2. 让新实例分析当前修改的代码,对比 queries 目录下的现有查询
  3. 若存在重复则以退出码 2 反馈结果,让原 Claude Code 放弃新建/重复编写

三、Claude Code SDK

核心定义:允许编程化调用 Claude Code 的开发工具包,与终端版 Claude Code 拥有完全相同的工具能力。

核心特性

  • 多端支持:支持 CLI、TypeScript 库、Python 库三种调用方式
  • 权限可控:默认仅拥有文件读取权限(read、grep、目录遍历)
  • 无缝集成:可直接嵌入到 Hooks 脚本、CI/CD 流水线、自定义开发工具中

默认权限

  • read(文件读取)
  • grep(文件内容检索)
  • list_dir(目录遍历)
  • write/edit/multi-edit/mkdir 等修改类权限

权限开放方式

  1. 脚本内临时配置(推荐):在 SDK 调用代码中通过 options.allowTools 数组指定
  2. 配置文件全局配置:在 .claude 目录的配置文件中设置权限规则

TypeScript 调用示例

import { claude } from '@anthropic/claude-code-sdk';

async function run() {
  const response = await claude.query({
    prompt: '为项目的package.json文件添加一个项目描述',
    options: {
      allowTools: ['edit'] // 开放 edit 工具权限
    }
  });
  console.log('SDK执行结果:', response);
}

run();

💡 最佳实践与编程思维

一、企业级项目落地最佳实践

  1. 项目初始化标准化 - 由架构师执行 /init 生成项目级 Claude.md,补充代码规范、技术栈说明
  2. Claude.md 分层管理 - 团队统一使用项目级 Claude.md,开发者可创建 Claude.local.md
  3. 上下文引入规范 - 核心模块绑定到 Claude.md,非核心文件通过 @ 标注
  4. 模式使用规范 - 简单任务使用原生 Claude Code,复杂任务使用 Plan + Thinking 模式
  5. 自定义命令团队共享 - 将团队高频任务封装为自定义命令,提交至 Git
  6. MCP 服务器统一配置 - 团队统一部署常用 MCP 服务器,配置免授权
  7. GitHub 集成定制 - 定制统一的 Claude Code 工作流
  8. 会话与权限管理 - 完成单个模块开发后执行 clear,严格限制敏感文件权限

二、AI 协同编程的核心思维

  1. 精准的上下文描述思维 - 将业务需求转化为精准、结构化的指令
  2. 任务拆解与分层执行思维 - 将复杂任务拆解为小的、可执行的子任务
  3. AI 能力边界的认知思维 - 明确 AI 的适用场景和人工的核心场景
  4. 代码校验与二次优化思维 - 建立"AI 生成-人工校验-二次优化"的思维
  5. From “工具扩展与工程化集成思维” - 将 AI 工具融入现有的开发流程

三、工程化编程思想

  1. 分层解耦的扩展思想 - 预留生命周期扩展节点,让第三方逻辑可无侵入式集成
  2. 防御式编程的安全思想 - 在核心操作上添加参数校验、权限检查
  3. 复用性优先的工程化思想 - 建立统一的代码复用规范
  4. 自动化校验的质量保障思想 - 将代码格式化、语法检查、单元测试等操作自动化
  5. 可编程化的智能扩展扩展思想 - 将 AI 能力作为一个模块,嵌入到业务系统的各个环节
  6. 权衡取舍的工程化决策思想 - 结合项目实际情况做权衡,避免过度工程化

📝 核心知识点速查表

知识点 重要程度 关键内容
AI 编码助手核心架构 ⭐⭐⭐⭐⭐ 语言模型 + 工具调用层
工具使用机制 ⭐⭐⭐⭐⭐ 格式化指令规则 → 模型返回指令 → 工具调用层执行
Claude 系列模型能力 ⭐⭐⭐⭐⭐ 工具选择与组合、快速适配新工具、任务进度把控
上下文管理原则 ⭐⭐⭐⭐⭐ 提供恰好足够的相关信息
Claude.md 三级配置 ⭐⭐⭐⭐⭐ 项目级、本地级、机器全局级
Plan/Thinking 模式 ⭐⭐⭐⭐ 广度分析 + 深度推理
Hooks 机制 ⭐⭐⭐⭐⭐ pre-tool use(拦截)+ post-tool use(后续处理)
SDK 编程化调用 ⭐⭐⭐⭐ 多端支持、权限可控、无缝集成
MCP 服务器集成 ⭐⭐⭐⭐ 自定义工具扩展
GitHub 集成 ⭐⭐⭐ CI/CD 自动化、PR 审核

🔗 学习资源

  • 官方课程:https://anthropic.skilljar.com/claude-code-in-action

🎓 总结

Claude Code 是一款可定制、可扩展、能处理复杂端到端任务的灵活 AI 编码助手,其核心价值在于将语言模型的生成能力与工具的实际操作能力深度结合。通过掌握核心原理、实操技巧、Hooks 与 SDK,开发者可以将 Claude Code 从个人级工具升级为团队级工程化工具,实现"人机协同,效率倍增"的编程目标。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐