Claude Code学习
版本说明:本文基于 Anthropic Claude Code 官方文档整理,访问日期为 2026-06-10。Claude Code 的功能更新较快,尤其是 Agent Teams、Dynamic Workflows、Channels 等能力仍可能变化;实际使用前应以当前官方文档和
claude --version为准。
1. 先给结论:Claude Code 不是“聊天式写代码”,而是“带工具执行能力的编码代理”
Claude Code 的核心定位是 agentic coding tool:它不是只回答你问题,而是可以读取代码库、编辑文件、执行命令、运行测试、使用 Git、调用外部工具,并在一次任务中反复“理解 → 修改 → 验证 → 修正”。
可以把它理解成一个运行在工程环境里的 AI 工程师,但它的能力边界不是“模型本身”,而是下面这些层共同决定的:
Claude 模型推理能力
↓
Claude Code Agentic Loop:读文件、搜代码、执行命令、修改代码、验证结果
↓
项目上下文:CLAUDE.md、auto memory、rules、session、context window
↓
扩展能力:skills、subagents、MCP、hooks、plugins、agent teams、workflows
↓
工程治理:permissions、checkpoints、worktrees、CI、SDK、企业配置
学习 Claude Code,不能只学“怎么提问”。更重要的是理解:
- 哪些信息应该常驻上下文:放到
CLAUDE.md或 rules。 - 哪些流程应该沉淀成可复用动作:做成 skill。
- 哪些任务会污染主会话上下文:交给 subagent。
- 哪些能力来自外部系统:通过 MCP 接入。
- 哪些规则必须自动执行:用 hooks。
- 哪些场景需要多个独立会话协作:再考虑 agent teams 或 dynamic workflows。
- 哪些能力要产品化/平台化:用 Agent SDK,而不是只靠 CLI 对话。
2. 核心运行机制:Agentic Loop
2.1 是什么
Agentic Loop 是 Claude Code 的基本执行循环。你给它一个目标后,它通常会循环执行:
收集上下文 → 制定或调整方案 → 使用工具执行 → 观察结果 → 验证 → 继续修正
比如你说:
修复登录失败的问题,并补充测试。
Claude Code 可能会:
- 搜索登录相关文件。
- 阅读认证、会话、路由、测试代码。
- 运行现有测试,确认失败点。
- 修改实现。
- 新增或修复测试。
- 再次运行测试。
- 给出变更说明或提交 commit。
2.2 用于什么场景
适合让 Claude Code 做:
- 修 bug。
- 写测试。
- 重构模块。
- 梳理代码结构。
- 生成文档。
- 执行迁移脚本。
- 检查 PR。
- 处理重复工程任务。
不适合一上来就让它做:
- 没有边界的大型系统重写。
- 没有测试、没有验收标准的复杂改造。
- 需要访问生产数据库或真实线上环境但没有权限隔离的任务。
- 涉及机密、合规、高风险命令但没有 permission 和 hook 约束的任务。
2.3 优势
它的优势不在于“生成代码很快”,而在于 能闭环验证:读代码、改代码、跑命令、看报错、再修正。这比单纯让聊天模型输出代码片段更接近真实开发流程。
3. Context Window:上下文窗口
3.1 是什么
Context Window 是 Claude 当前“看得见”的全部信息,包括:
- 你的对话历史。
- Claude 读过的文件内容。
- 命令输出。
CLAUDE.md。- auto memory。
- 已加载的 skill 内容。
- MCP 工具描述。
- 系统提示词和配置。
3.2 为什么重要
Claude Code 的效果经常不是模型不行,而是上下文管理不好:
- 读了太多无关文件,主会话变脏。
- 早期的重要要求被压缩或遗忘。
CLAUDE.md写得太长,反而稀释重点。- MCP 工具太多,占用上下文。
- 反复粘贴流程说明,造成 token 浪费。
3.3 使用建议
| 问题 | 建议 |
|---|---|
| 每次都要告诉它同样的项目规则 | 放进 CLAUDE.md |
| 某个流程很长,但不是每次都用 | 做成 skill |
| 需要读大量文件做调研 | 交给 subagent |
| 长会话准备切换任务 | /clear 或 /compact |
| 想看上下文占用 | /context |
4. Session:会话
4.1 是什么
Session 是 Claude Code 保存的一次工作对话。它通常与某个项目目录绑定,并持续保存到本地。你可以恢复、命名、分支、切换会话。
常见命令:
claude --continue # 恢复当前目录最近一次会话
claude --resume # 打开会话选择器
claude --resume <name> # 恢复指定名称会话
/rename auth-refactor # 给当前会话命名
/resume # 在会话中切换到其他会话
4.2 场景
- 一个 bug 修复开一个 session。
- 一个功能开发开一个 session。
- 一个调研任务开一个 session。
- 风险较大的改造可以 fork/branch 出不同尝试。
4.3 注意点
Session 不是长期知识库。长期规则不要依赖会话历史,应放在 CLAUDE.md、rules 或 skill 里。
5. Permission Modes:权限模式
5.1 是什么
Permission Modes 决定 Claude Code 在执行文件编辑、Shell 命令、网络请求等操作前是否需要你确认。
| 模式 | 含义 | 适用场景 |
|---|---|---|
default | 读操作基本可执行,写文件/命令通常要确认 | 新项目、敏感任务 |
acceptEdits | 自动接受文件编辑和常见文件系统命令 | 你在旁边 review 的日常开发 |
plan | 只分析和规划,不直接改源文件 | 大型改造前的方案设计 |
auto | 通过后台安全检查减少确认 | 长任务、减少频繁弹窗 |
dontAsk | 只允许预先批准的工具 | CI、受控脚本 |
bypassPermissions | 基本跳过权限确认 | 只建议在隔离容器/虚拟机中使用 |
5.2 我的建议
日常学习阶段:
default → plan → acceptEdits
不要一开始就用 bypassPermissions。如果项目里有删除文件、改 Git、部署、数据库操作等风险,必须配合 allow/deny rules 和 hooks。
6. CLAUDE.md:项目常驻说明书
6.1 是什么
CLAUDE.md 是 Claude Code 每次会话启动时读取的 Markdown 文件。它用于记录 Claude 每次都应该知道的规则和背景。
适合写入:
- 项目结构。
- 技术栈。
- 启动命令。
- 测试命令。
- 代码风格。
- 分层架构约束。
- 禁止事项。
- Review 清单。
6.2 不适合写入
不建议把所有东西都塞进 CLAUDE.md:
- 很长的操作 SOP。
- 偶尔才用的参考资料。
- 某个子目录才适用的规则。
- 大段接口文档。
- 频繁变化的临时任务。
这些更适合放到 skill、path-scoped rules 或外部知识库/MCP。
6.3 推荐模板
# Project Instructions
## Project Overview
- 本项目用于……
- 核心模块包括……
## Tech Stack
- Python 3.11
- FastAPI
- pytest
## Common Commands
- 安装依赖:`pip install -r requirements.txt`
- 运行测试:`pytest tests/`
- 代码检查:`ruff check .`
## Architecture Rules
- API 层不得直接访问数据库。
- 业务逻辑必须放在 service 层。
- 新增功能必须补充单元测试。
## Review Checklist
- 是否有异常处理?
- 是否破坏兼容性?
- 是否新增测试?
- 是否更新文档?
7. Auto Memory:自动记忆
7.1 是什么
Auto Memory 是 Claude Code 根据你在工作中的纠正、偏好、项目模式自动保存的记忆。它和 CLAUDE.md 的区别是:
| 对比项 | CLAUDE.md | Auto Memory |
|---|---|---|
| 谁写 | 你写 | Claude 自动写 |
| 内容 | 明确规则、项目背景 | Claude 学到的偏好、调试经验、常用命令 |
| 可控性 | 强 | 中等,需要审计 |
| 适合 | 确定性规则 | 逐渐积累的经验 |
7.2 建议
企业项目里不能完全依赖 auto memory,因为它不是强约束。关键规则仍然写进 CLAUDE.md 或 hooks。
8. Rules:规则文件
8.1 是什么
Rules 可以把规则按路径、文件类型或范围组织起来,避免 CLAUDE.md 过长。
适合:
- 前端目录有一套规则。
- 后端目录有一套规则。
- 测试文件有一套规则。
- AUTOSAR、RCP、用例设计等特定模块有单独规范。
8.2 场景
如果一个规则只对 platform/design_autosar_testcase/ 有效,不要放到全局 CLAUDE.md,而应做成路径规则或局部说明。这样 Claude 读取相关文件时才加载对应上下文。
9. Skill:可复用工作流/知识包
9.1 是什么
Skill 是 Claude Code 的可复用能力包。核心是一个 SKILL.md 文件,里面写清楚:
- 什么时候使用。
- 执行什么流程。
- 需要遵守什么规则。
- 输出什么格式。
- 是否动态注入命令结果。
可以把 Skill 理解成:
可被 Claude 自动调用或手动调用的标准作业程序
Claude Code 中的自定义 slash command 已经和 skills 合并:例如 .claude/commands/deploy.md 和 .claude/skills/deploy/SKILL.md 都可以形成 /deploy 这样的命令。
9.2 用于什么场景
适合做成 skill 的内容:
- PR Review 流程。
- 测试用例设计流程。
- 缺陷分析流程。
- 发布检查清单。
- 数据库变更审查。
- RCP/AUTOSAR 测试用例生成规范。
- 固定格式文档生成。
- API 设计审查。
9.3 为什么不用 CLAUDE.md 全写进去
因为 CLAUDE.md 是每次都加载,skill 是 用到时才加载。如果一个 SOP 很长但不是每次都用,放 skill 更省上下文,也更容易复用。
9.4 示例:测试用例设计 Skill
目录:
.claude/skills/design-testcase/SKILL.md
内容示例:
---
description: 根据需求、接口说明或已有代码生成结构化测试用例。适用于 RCP、AUTOSAR、平台功能测试用例设计。
---
# 测试用例设计流程
## 输入要求
- 明确被测对象。
- 明确需求来源或代码路径。
- 明确测试类型:功能、边界、异常、回归、兼容性。
## 分析步骤
1. 识别功能点。
2. 提取输入、输出、前置条件、约束条件。
3. 设计正常路径用例。
4. 设计边界值用例。
5. 设计异常路径用例。
6. 检查是否覆盖需求。
7. 输出测试用例表格。
## 输出格式
| 用例编号 | 测试目标 | 前置条件 | 输入 | 操作步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|---|
## 质量要求
- 不允许只写笼统描述。
- 每条用例必须可执行、可验证。
- 异常用例必须说明触发条件。
调用方式:
/design-testcase 根据 docs/xxx.md 生成 AUTOSAR 测试用例
9.5 Skill 的优势
- 把重复 prompt 固化。
- 降低团队成员使用门槛。
- 输出格式稳定。
- 可版本化、可审查。
- 可被 subagent 预加载。
- 可打包进 plugin 分发。
10. Subagent:子代理
10.1 是什么
Subagent 是在主会话中被 Claude Code 调起的专用 AI 助手。每个 subagent 有自己的:
- system prompt。
- context window。
- 工具权限。
- 模型选择。
- permission mode。
- MCP server 范围。
- memory 范围。
- hooks。
- 可预加载 skills。
它做完后通常只把总结返回给主会话,而不是把所有中间文件、日志、搜索结果塞回主上下文。
10.2 用于什么场景
适合 subagent 的任务:
- 大量搜索代码但只需要结论。
- 代码审查。
- 安全审查。
- 性能分析。
- 调试根因分析。
- 数据库 SQL 审查。
- 文档资料检索。
- 针对某个领域的专家角色。
不适合 subagent 的任务:
- 很简单的一次性问题。
- 需要你和它持续来回讨论的核心设计。
- 需要多个代理互相沟通的复杂协作;这种可能用 agent teams 更合适。
10.3 示例:只读代码审查 Subagent
目录:
.claude/agents/code-reviewer.md
内容:
---
name: code-reviewer
description: Reviews code quality, maintainability, security risks, and missing tests after code changes.
tools: Read, Grep, Glob, Bash
model: sonnet
---
You are a senior code reviewer.
Focus on:
- correctness
- security implications
- maintainability
- missing tests
- risky side effects
Do not edit files. Return findings with severity and concrete file references.
调用:
Use the code-reviewer agent to review the current diff.
10.4 Subagent 的优势
| 优势 | 说明 |
|---|---|
| 上下文隔离 | 大量搜索和日志不会污染主会话 |
| 专业化 | 每个 agent 可以有特定角色、规则和模型 |
| 权限收敛 | 可以只给读权限,不允许写文件 |
| 成本控制 | 简单任务可用更便宜或更快模型 |
| 可复用 | 项目级、用户级、插件级都能复用 |
10.5 对你这类测试用例设计项目的建议
可以定义这些 subagents:
| Agent | 职责 |
|---|---|
requirements-reader | 阅读需求文档,提取功能点和约束 |
autosar-testcase-designer | 根据 AUTOSAR 规则设计测试用例 |
rcp-testcase-designer | 根据 RCP 规则设计测试用例 |
testcase-reviewer | 检查用例是否可执行、可验证、覆盖充分 |
repo-explorer | 只读搜索代码库,定位相关模块 |
migration-planner | 为旧工作流重构生成迁移计划 |
建议优先把这些 agent 设为 只读或有限写权限,等流程稳定后再开放自动修改。
11. Agent Teams:代理团队
11.1 是什么
Agent Teams 是多个独立 Claude Code session 组成的团队。一个 session 是 team lead,负责拆任务、分配任务、汇总结果;其他 teammates 独立工作,并可以互相发消息、共享任务列表。
注意:官方文档把 Agent Teams 标为 experimental,默认关闭,需要显式启用。
11.2 和 Subagent 的区别
| 对比项 | Subagent | Agent Teams |
|---|---|---|
| 本质 | 主会话派生的专用 worker | 多个独立 Claude Code session 组成团队 |
| 上下文 | 子代理有独立上下文,结果回传主会话 | 每个 teammate 有完整独立上下文 |
| 通信 | 只向主会话返回结果 | teammates 可互相通信 |
| 协调 | 主会话协调 | 共享任务列表 + team lead 协调 |
| 成本 | 相对较低 | 更高,多个 Claude 实例并行消耗 token |
| 适合 | 聚焦任务、只需要结果 | 多角色并行研究、复杂协作、互相挑战结论 |
11.3 适合场景
Agent Teams 适合:
- 多角度 PR Review:安全、性能、测试覆盖分别审查。
- 难定位 bug:多个 agent 分别验证不同假设。
- 大功能设计:前端、后端、测试、架构分别调研。
- 竞争性方案评审:多个 agent 给方案,再互相反驳。
不适合:
- 顺序性很强的任务。
- 多个 agent 需要改同一个文件。
- 小改动、小 bug。
- 没有明确边界的“让它们自己做完整项目”。
11.4 我的建议
学习阶段不要从 Agent Teams 开始。它很吸引人,但协调成本和 token 成本都高。合理路线是:
单会话 → CLAUDE.md → Skill → Subagent → Worktree 并行 → Agent Teams
12. Dynamic Workflows:动态工作流
12.1 是什么
Dynamic Workflow 是 Claude Code 让 Claude 写出一个 JavaScript 编排脚本,然后由运行时在后台大规模调度 subagents。它适合比普通 subagent 更大规模的并行任务。
可以理解为:
Subagent 是“派一个工人”
Agent Teams 是“组织一个团队”
Dynamic Workflows 是“写一个调度脚本批量派很多工人”
12.2 适用场景
- 大型代码库审计。
- 500 个文件级别的迁移。
- 多来源研究并交叉验证。
- 多方案并行论证。
- 大规模批处理式检查。
12.3 不适合场景
- 小型功能开发。
- 需要频繁人工确认的任务。
- 没有清晰验收标准的任务。
12.4 价值
它的价值不是“更多 agent”,而是 把编排逻辑变成可读、可复用、可审查的脚本。
13. MCP:Model Context Protocol
13.1 是什么
MCP 是一种让 Claude Code 接入外部工具和数据源的协议。通过 MCP server,Claude Code 可以访问:
- GitHub/GitLab。
- Jira/Linear。
- Sentry。
- 数据库。
- 浏览器自动化工具 Playwright。
- 内部知识库。
- 文档系统。
- 自研工具。
13.2 用于什么场景
当任务需要 Claude Code 访问“代码库之外的信息”时,应考虑 MCP:
| 需求 | MCP 用法 |
|---|---|
| 查缺陷单 | 连接 Jira/禅道/内部缺陷平台 |
| 查接口文档 | 连接内部文档库 |
| 查日志/告警 | 连接 Sentry/监控系统 |
| 操作浏览器 | 连接 Playwright MCP |
| 查数据库 | 连接只读数据库 MCP |
| 调用公司内部工具 | 写自定义 MCP server |
13.3 配置方式示例
项目级 .mcp.json:
{
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}
13.4 注意点
MCP 很强,但也会带来风险:
- 工具越多,上下文和选择成本越高。
- 外部系统权限必须最小化。
- 数据库类 MCP 优先只读。
- 生产系统操作应加 hooks 和 permission rules。
- 团队共享
.mcp.json前要审查,不要让 clone 仓库后自动执行不可信命令。
14. Hooks:生命周期自动化
14.1 是什么
Hooks 是在 Claude Code 生命周期特定事件上自动触发的动作。它可以是:
- Shell 命令。
- HTTP 请求。
- LLM prompt。
- MCP tool hook。
- Agent-based hook。
典型事件包括:
- 会话启动。
- 用户提交 prompt。
- 工具调用前。
- 工具调用后。
- 文件修改后。
- subagent 启动/停止。
- task 创建/完成。
- compact 前后。
14.2 用于什么场景
| 场景 | Hook 用法 |
|---|---|
| 每次改文件后自动格式化 | PostToolUse/FileChanged hook |
| 执行危险命令前阻断 | PreToolUse hook |
| commit 前自动跑测试 | PreToolUse 或自定义流程 hook |
| 防止修改受保护目录 | PreToolUse + deny 逻辑 |
| agent team 任务完成前做质量门禁 | TaskCompleted hook |
| 自动注入环境上下文 | SessionStart/UserPromptSubmit hook |
14.3 Hooks 和 Skill 的区别
| 对比项 | Skill | Hook |
|---|---|---|
| 触发方式 | 你或 Claude 主动调用 | 生命周期事件自动触发 |
| 主要用途 | 标准流程、知识、任务模板 | 自动化、治理、强制检查 |
| 是否适合强约束 | 一般不适合 | 适合 |
| 示例 | /review-pr | 每次编辑后跑 formatter |
如果你希望 Claude “记得做某事”,可以用 skill;如果你希望“不管 Claude 想不想,都必须执行某检查”,用 hook。
15. Plugin:插件
15.1 是什么
Plugin 是打包分发层。一个 plugin 可以包含:
- skills。
- agents。
- hooks。
- MCP servers。
- LSP/code intelligence 配置。
- 默认 settings。
15.2 用于什么场景
适合 plugin 的情况:
- 多个项目都需要同一套 Claude Code 配置。
- 团队要共享标准化 workflow。
- 想做版本发布和更新。
- 要避免不同插件命令名冲突。
- 希望沉淀公司内部 Claude Code 能力库。
15.3 Standalone vs Plugin
| 方式 | 适合 |
|---|---|
.claude/skills、.claude/agents | 单项目、个人实验、快速迭代 |
| plugin | 团队共享、多项目复用、版本化发布 |
建议先用 standalone 试错,流程稳定后再封装成 plugin。
16. Worktrees:并行开发隔离
16.1 是什么
Git worktree 可以让同一个仓库拥有多个工作目录和分支。Claude Code 可以在不同 worktree 中并行工作,避免多个 session 互相覆盖文件。
示例:
claude --worktree feature-auth
claude --worktree bugfix-login
16.2 场景
- 一个 session 做功能开发。
- 一个 session 修 bug。
- 一个 session 做重构实验。
- 多个 subagent 需要隔离文件修改。
16.3 建议
如果你打算并行跑多个 Claude Code,不要让它们直接改同一个工作目录。优先用 worktree 隔离。
17. Background Agents:后台代理
17.1 是什么
Background agent 是后台运行的 Claude Code session。你可以启动长任务,然后用命令查看日志、停止或恢复。
示例命令形态:
claude --bg "investigate the flaky test"
claude logs <id>
claude stop <id>
claude respawn <id>
17.2 场景
- 长时间测试排查。
- 大型代码审查。
- 夜间分析任务。
- 多任务并行观察。
17.3 注意
后台任务不是“完全不用管”。仍要设定边界、权限和验收标准,否则很容易跑偏或消耗大量 token。
18. Scheduled Tasks、Routines、Channels
18.1 Scheduled Tasks / /loop
用于在当前 session 中定时重复执行 prompt,比如:
/loop 5m check if the deployment finished and tell me what happened
适合:
- 轮询部署状态。
- 等 CI 结果。
- 定时检查 PR 评论。
- 短期提醒。
局限:通常依赖当前会话,适合 session 内临时轮询。
18.2 Routines
Routines 更像托管的定时任务,适合机器不在线也要执行的任务,比如每天早晨检查 PR、每周依赖审计等。
18.3 Channels
Channels 允许外部事件推入正在运行的 Claude Code session,例如 CI 失败、聊天消息、监控告警。它适合“事件驱动”,不是轮询。
区别:
| 能力 | 触发方式 | 适合 |
|---|---|---|
/loop | 定时轮询 | 当前会话内短期检查 |
| Routines | 托管定时 | 长期周期任务 |
| Channels | 外部事件推送 | CI、聊天、监控事件实时触发 |
19. Agent SDK:把 Claude Code 能力嵌入你自己的程序
19.1 是什么
Agent SDK 允许你用 Python 或 TypeScript 在自己的应用中调用 Claude Code 的 agent loop、工具、上下文管理、权限、hooks、subagents、MCP 等能力。
它适合从“人手动用 Claude Code”升级到“系统自动调度 Claude Code 能力”。
19.2 场景
适合:
- 内部研发平台。
- 自动修复 bot。
- 自动测试用例生成平台。
- PR 自动审查系统。
- 缺陷单自动分析系统。
- 文档自动同步系统。
- 企业级 AI 软件工程平台。
19.3 和 CLI 的区别
| 对比项 | Claude Code CLI | Agent SDK |
|---|---|---|
| 面向对象 | 开发者个人/团队交互使用 | 平台开发者集成 |
| 控制方式 | 人在终端输入任务 | 程序传入任务和配置 |
| 适合 | 日常编码、调试、探索 | 产品化、自动化、服务化 |
| 可观测性 | 看终端输出 | 可接入日志、指标、审计 |
| 权限治理 | 配置文件和交互批准 | 程序化控制工具、权限和审批 |
如果你的目标是把测试用例设计工作流平台化,仅靠 CLI 不够,后期应该考虑 Agent SDK。
20. Code Intelligence:代码智能
20.1 是什么
Code Intelligence 让 Claude Code 连接语言服务器,获得更精确的符号级能力:
- 跳转定义。
- 查找引用。
- 类型错误。
- 实时诊断。
20.2 场景
适合大型 TypeScript、Python、Java、Go、Rust、C/C++ 等代码库。相比只用 grep,语言服务器对符号关系更准确。
21. Slash Commands:斜杠命令
21.1 是什么
Slash command 是在 Claude Code 里用 /xxx 调用的命令入口。现在自定义 slash commands 和 skills 的机制已经融合:一个 skill 可以提供一个可调用的 /skill-name。
常见命令包括:
/help/init/agents/context/memory/compact/resume/model/mcp/hooks/plugin/loop
21.2 场景
- 快速查看配置。
- 管理 agent。
- 管理 MCP。
- 查看上下文。
- 触发标准 workflow。
22. 各概念如何选择:决策表
| 你遇到的问题 | 优先选择 | 原因 |
|---|---|---|
| Claude 总是忘记项目规则 | CLAUDE.md | 每次会话加载 |
| 某个流程经常重复输入 | Skill | 复用 SOP,按需加载 |
| 某个流程只适用于部分目录 | Rules | 避免全局污染 |
| 需要查外部系统 | MCP | 接入外部工具/数据 |
| 需要强制执行检查 | Hooks | 生命周期自动触发 |
| 需要读很多文件但只要结论 | Subagent | 隔离上下文 |
| 多个角色需要并行研究并互相讨论 | Agent Teams | 多 session 协作 |
| 需要几十到上百个 agent 批处理 | Dynamic Workflows | 脚本化大规模编排 |
| 多个 Claude 同时改代码 | Worktrees | 文件隔离,避免冲突 |
| 要把能力嵌进自己的平台 | Agent SDK | 程序化控制 |
| 多项目共享同一套能力 | Plugin | 打包、版本化、分发 |
23. 推荐学习路径
阶段 1:基础使用
目标:理解 Claude Code 和普通聊天模型的区别。
练习:
- 在一个小项目里运行
claude。 - 让它解释项目结构。
- 让它修一个小 bug。
- 让它跑测试并修正失败。
- 学会
Esc中断、/compact、/clear。
阶段 2:上下文治理
目标:减少重复解释,提高稳定性。
练习:
- 用
/init生成CLAUDE.md。 - 手动精简
CLAUDE.md。 - 加入构建命令、测试命令、架构约束。
- 用
/context观察上下文占用。 - 用
/memory检查加载内容。
阶段 3:沉淀 Skill
目标:把重复流程标准化。
练习:
- 写一个
/review-diffskill。 - 写一个
/design-testcaseskill。 - 写一个
/summarize-moduleskill。 - 观察 Claude 自动调用和手动调用的差异。
阶段 4:引入 Subagent
目标:隔离上下文和专业化任务。
练习:
- 写一个只读
code-revieweragent。 - 写一个
testcase-revieweragent。 - 限制 tools,只允许 Read/Grep/Glob/Bash。
- 比较主会话直接执行和 subagent 执行的上下文差异。
阶段 5:连接 MCP
目标:接入外部系统。
练习:
- 先接 Playwright MCP,验证浏览器自动化。
- 再接 GitHub/GitLab 或内部文档系统。
- 对数据库 MCP 做只读限制。
- 检查 MCP 工具是否过多、是否污染上下文。
阶段 6:用 Hooks 做治理
目标:让关键检查自动发生。
练习:
- 文件修改后自动格式化。
- commit 前跑测试。
- 阻断危险 shell 命令。
- 对 agent team 的 TaskCompleted 做质量门禁。
阶段 7:并行与平台化
目标:从个人效率工具走向团队平台。
练习:
- 用 worktree 跑多个 session。
- 小规模试 agent teams。
- 用 dynamic workflows 做一次代码库审计。
- 用 Agent SDK 写一个最小自动化脚本。
- 把稳定 skills/agents/hooks 打包为 plugin。
24. 针对测试用例设计工作流的落地架构建议
如果你的目标是把测试用例设计流程迁移到 Claude Code,我建议不要一开始就做复杂 agent teams。更稳的架构是:
第一层:CLAUDE.md
- 写清楚项目结构、测试用例输出规范、代码仓库约束、禁止事项。
第二层:Skills
- design-testcase
- review-testcase
- summarize-requirement
- generate-edge-cases
- convert-testcase-format
第三层:Subagents
- requirements-reader
- autosar-testcase-designer
- rcp-testcase-designer
- testcase-reviewer
- repo-explorer
第四层:MCP
- 接内部需求文档库
- 接测试管理平台
- 接缺陷系统
- 接内部 RAG/知识库
第五层:Hooks
- 校验输出表格字段是否完整
- 校验测试用例编号规则
- 校验不得修改受保护文件
- 自动运行单元测试/格式检查
第六层:Agent SDK
- 如果要做成平台服务,用 SDK 封装任务入口、权限、日志、审计和结果持久化。
这条路线比直接上 agent teams 更稳。Agent teams 适合作为后期增强,用于“多角色并行评审”或“多假设调研”,不适合一开始承载主流程。
25. 常见误区
误区 1:把所有内容都写进 CLAUDE.md
不对。CLAUDE.md 只放每次都需要的核心规则。长流程放 skill,局部规则放 rules,外部资料接 MCP。
误区 2:认为 Skill 和 Subagent 是一回事
不对。Skill 是“流程/知识包”,Subagent 是“独立执行者”。Skill 可以被主会话或 subagent 使用。
误区 3:Agent Teams 一定比 Subagent 高级
不对。Agent Teams 更复杂、更贵、更难控。只有当多个 agent 需要互相沟通、挑战结论、共享任务时才值得用。
误区 4:MCP 接得越多越好
不对。MCP 工具越多,选择成本、上下文成本和安全风险越高。企业项目必须最小权限接入。
误区 5:bypassPermissions 可以提高效率
短期可能快,长期风险很大。除非在隔离容器/虚拟机中,否则不应作为默认模式。
误区 6:Hooks 可以替代人工 review
不对。Hooks 适合自动化检查和阻断明显风险,但不能替代架构 review、业务判断和安全审查。
26. 最小可行配置示例
一个适合团队起步的 .claude 目录可以是:
project-root/
CLAUDE.md
.mcp.json
.claude/
skills/
design-testcase/
SKILL.md
review-testcase/
SKILL.md
agents/
testcase-reviewer.md
repo-explorer.md
rules/
testcase-output.md
settings.json
建议顺序:
- 先写
CLAUDE.md。 - 再写 1-2 个最常用 skills。
- 再写只读 subagents。
- 再接 MCP。
- 最后加 hooks 和 plugin。
27. 一句话总结
Claude Code 的学习重点不是“写更神奇的 prompt”,而是学会搭建一套可控的工程化代理系统:
CLAUDE.md 管长期规则
Skill 管可复用流程
Subagent 管隔离执行
MCP 管外部工具
Hooks 管自动治理
Worktree 管并行隔离
Agent Teams 管多代理协作
Dynamic Workflows 管大规模编排
Agent SDK 管平台化集成
Plugin 管团队分发
如果你是为了以后在真实项目中应用,建议先把 CLAUDE.md + skills + subagents + MCP + hooks 这五件事练熟。Agent Teams 和 Dynamic Workflows 可以学,但不建议作为第一阶段主架构。
参考资料
- Claude Code Overview:https://code.claude.com/docs/en/overview
- How Claude Code works:https://code.claude.com/docs/en/how-claude-code-works
- Extend Claude Code:https://code.claude.com/docs/en/features-overview
- How Claude remembers your project:https://code.claude.com/docs/en/memory
- Extend Claude with skills:https://code.claude.com/docs/en/skills
- Create custom subagents:https://code.claude.com/docs/en/sub-agents
- Orchestrate teams of Claude Code sessions:https://code.claude.com/docs/en/agent-teams
- Dynamic workflows:https://code.claude.com/docs/en/workflows
- MCP Quickstart:https://code.claude.com/docs/en/mcp-quickstart
- MCP Reference:https://code.claude.com/docs/en/mcp
- Hooks reference:https://code.claude.com/docs/en/hooks
- Create plugins:https://code.claude.com/docs/en/plugins
- Agent SDK overview:https://code.claude.com/docs/en/agent-sdk/overview
- Permission modes:https://code.claude.com/docs/en/permission-modes
- Manage sessions:https://code.claude.com/docs/en/sessions
- Worktrees:https://code.claude.com/docs/en/worktrees
- Scheduled tasks:https://code.claude.com/docs/en/scheduled-tasks
- Channels:https://code.claude.com/docs/en/channels
更多推荐
所有评论(0)