Skip to main content

Claude Code:简介

·2574 字·6 分钟
AI claude code
Table of Contents
Claude Code 写代码 - This article is part of a series.
Part 1: This Article

Claude Code 系统介绍:面向资深开发者 #

核心定位:这不是 Copilot,是 Agentic CLI #

Claude Code 是一个 agentic CLI(命令行代理),它读取你的代码库、执行命令、修改文件,通过分层的权限系统、hooks、MCP 集成和 subagents 进行工作。本质上它是一个在终端里跑的 while-true 循环:接到任务 → 选工具 → 执行 → 观察结果 → 决定下一步,直到完成或卡住。

和 Copilot/Cursor 的核心差异:它不是自动补全,不是聊天框。它能跨 20 个文件重构、跑测试、修 bug、管理 git workflow,整个过程自主完成。 截至 2026 年 2 月,GitHub 公开 commits 中 4%(约每天 13.5 万)由 Claude Code 产生,Anthropic 自身 90% 的代码是 AI 写的。

架构分层:三层模型 #

整个系统分三层:

Core Layer(核心层):主对话上下文。每条消息、文件读取、工具输出都消耗共享的上下文窗口(标准 200K tokens)。这一层按 token 计费。

Delegation Layer(委托层):Subagents 在全新隔离的上下文里启动,做专注的工作,只把结论摘要返回给主上下文,不污染主会话。

Extension Layer(扩展层):MCP 连接外部服务(数据库、GitHub、Sentry 等);Hooks 保证 shell 命令无论模型行为如何都必然执行;Skills 编码领域专业知识让 Claude 自动应用;Plugins 把这些打包分发。

┌──────────────────────────────────────────────────────┐
│  Extension Layer: MCP · Hooks · Skills · Plugins     │
├──────────────────────────────────────────────────────┤
│  Delegation Layer: Subagents(最多 10 个并行)          │
├──────────────────────────────────────────────────────┤
│  Core Layer: 主对话 · 工具: Read/Edit/Bash/Glob...     │
└──────────────────────────────────────────────────────┘

大多数用户只在 Core Layer 里工作,眼看着上下文膨胀、成本攀升。高级用户把探索性工作推到 Delegation Layer,Extension Layer 配好工作流,Core Layer 只做编排和最终决策。

五大核心系统逐一解析 #

1. CLAUDE.md — 记忆与项目规则 #

这是项目的"宪法",放在项目根目录,Claude 每次启动都读取。你在里面写:

  • 项目架构(比如 “这是 Spring Boot + MyBatis + Oracle,MQ 用 IBM MQ”)
  • 代码规范(命名、分层、禁止用哪些 API)
  • 构建命令、测试命令
  • 特定业务规则

对你来说:IOL 项目的 CLAUDE.md 可以写入 VETRO pipeline 约定、EndToEndID 路由规则、inbox/outbox 模式说明,这样每次对话不用重新解释上下文。

2. MCP(Model Context Protocol)— 工具集成协议 #

MCP 让 Claude 连接你的工具链:数据库、GitHub、Sentry 和 3000+ 集成,把 Claude 的能力从读文件和跑 bash 命令扩展到外部系统。

MCP 是个标准协议,本质是运行中的进程暴露工具和数据源给 Claude。

实际工程场景举例:

  • 连接 Oracle 数据库 → Claude 直接查 TP_INBOX 表分析数据
  • 连接 GitHub MCP → 自动创建 PR、写 commit message
  • 连接 Sentry → 看到报错直接定位代码
  • 连接 IBM MQ → 调试消息队列问题

Skills 可以跨 Claude Code、Codex CLI、Gemini CLI 和 Cursor 使用而无需修改。MCP servers 是暴露工具和数据源给 Claude 的运行中的进程。

3. Hooks — 确定性自动化 #

Hooks 保证自动化和安全检查,是你需要某事每次都执行时使用的机制。

用 hooks(而不是 prompt)处理任何必须执行的事情:lint、格式化、安全检查,这些必须在每次运行时无论模型行为如何都能触发。

Hooks 的触发时机:

Hook 类型触发时机
PreToolUse工具调用前(可拦截)
PostToolUse工具调用后
MessageDisplay消息显示时
Command hooksslash command 触发时

工程实践举例:

  • 每次修改 Java 文件后自动跑 mvn checkstyle:check
  • 每次写完代码自动跑单元测试
  • 文件写入前检查是否包含硬编码密码
  • 防止修改某些受保护文件(比如 Liquibase changeset 不可回滚的部分)

4. Skills — 可复用的领域知识 #

Skills 有两种:Capability Uplift skills 赋予 Claude 本身没有的能力(如文档生成、浏览器自动化、web scraping);Encoded Preference skills 引导 Claude 按照你团队的特定工作流做已知的事(如 NDA 审查、周报格式)。两类都按需渐进加载,上下文感知触发。

你之前已经实操过了——在 ~/.claude/skills/moomoo/ 下装了 6 个 moomoo skills。

对软件工程的价值:

  • 一个 skill 专门处理 Liquibase changeset 命名规范(TPxxx/TPRxxx/TPOxxx
  • 一个 skill 处理 MyBatis mapper 生成套路
  • 一个 skill 专门处理 Freemarker/FTL 模板转换规则
  • 团队共享:放到项目 .claude/skills/ 目录里,所有人自动用

Skills 是最简单的扩展机制,也是最便携的:它们是基于 markdown 的轻量级目录,上下文感知触发。

5. Subagents — 并行隔离执行 #

Subagents 在全新隔离的上下文中生成,有各自的工具、权限和持久身份。探索的结果不会膨胀你的主对话;只有结论会返回。

最多支持 10 个并行 subagent。

工程场景:

  • 同时让 3 个 subagent 分别分析 AMH flow、NPP flow、BOT flow,结果汇总到主上下文
  • 一个 subagent 负责写代码,另一个负责同时写测试
  • 大重构时隔离探索,避免污染主对话上下文

6. Plugins — 打包分发的扩展包 #

Plugins 是打包好的 bundle,可以包含 MCP servers、skills、subagents 和 hooks。相当于一个可安装的"开发套件"。

团队协作场景:把你们 IOL 项目的所有规范(skills + hooks + CLAUDE.md 模板)打成一个 plugin,新团队成员 claude plugin install 一下就全套就位。

7. Workflows — 流程编排 #

最新版本(v2.1.150)新增了 /goal 完成循环和 Workflow 工具(CLAUDE_CODE_WORKFLOWS=1 开启)。

Workflows 是把多步骤任务编排成可重复执行的流程,类似 CI/CD pipeline 但是 AI 驱动的:

/workflow feature-dev
  → 读取需求 → 生成方案 → 写代码 → 跑测试 → 创建 PR → 通知

8. Cowork — 桌面非开发者工具 #

Cowork 是面向非开发者的桌面工具,用于自动化文件和任务管理。对你(资深开发者)来说这个不是重点,Claude Code 本身才是主战场。

给你的实践建议 #

基于你的 IOL / Spring Boot / 银行支付系统背景:

第一步:写好 CLAUDE.md — 把 IOL 架构约定(VETRO pipeline、EndToEndID 路由、inbox/outbox 模式)写进去,一劳永逸。

第二步:配置 Hooks — lint 检查、Liquibase changeset 保护、MyBatis mapper 验证,强制执行不可绕过。

第三步:创建项目 Skills — FTL 转换规则、支付消息格式规范、Oracle 查询模板封装为 skills,团队共享。

第四步:用 Subagents 做并行分析 — 复杂需求拆解后多个 agent 并行探索,主上下文只接收结论。

第五步:MCP 接入 Oracle 和 GitHub — 让 Claude 直接查生产数据库排查问题,自动管理 PR 生命周期。

Claude Code 写代码 - This article is part of a series.
Part 1: This Article