AI 编程核心概念:CLAUDE.md、Skill、Command、Agent、Hook、MCP、Plugin
以 Claude Code 为例,现代 AI 编程工具提供了一套分层的扩展机制。理解每个概念的定位和适用场景,是高效使用 AI 编程的前提。本文梳理七大核心概念:它们是什么、怎么用、什么时候用。
概念全景图
┌───────────────────────── ─────┐
│ Plugin(插件) │ ← 打包分发层
│ 捆绑 Skill + Command + Hook │
└──────────────┬───────────────┘
│
┌──────────────────────────┼──────────────────────────┐
│ │ │
┌─────┴──────┐ ┌──────┴──────┐ ┌───────┴───────┐
│ Skill │ │ Command │ │ Hook │
│ 自动激活 │ │ 手动触发 │ │ 事件驱动 │
│ 上下文注入 │ │ 斜杠命令 │ │ 确定性控制 │
└─────┬────── ┘ └──────┬──────┘ └───────┬───────┘
│ │ │
└──────────────────────────┼──────────────────────────┘
│
┌──────────────┴───────────────┐
│ Agent / Subagent │ ← 隔离执行层
│ 独立上下文 + 工具限制 │
└──────────────┬───────────────┘
│
┌──────────────┴───────────────┐
│ MCP Server │ ← 外部集成层
│ 连接数据库、API、第三方服务 │
└──────────────┬───────────────┘
│
┌──────────────┴───────────────┐
│ CLAUDE.md │ ← 记忆基础层
│ 项目知识、规范、约定 │
└──────────────────────────────┘
快速选择指南
| 我想要... | 用什么 |
|---|---|
| 让 AI 始终记住项目的技术栈和编码规范 | CLAUDE.md |
| AI 在特定场景下自动加载专业知识 | Skill |
| 创建一个我手动触发的可复用工作流 | Command |
| 把任务委派给独立的 AI 助手执行 | Agent / Subagent |
| 在 AI 操作前后自动执行检查或格式化 | Hook |
| 连接 GitHub、数据库、Slack 等外部系统 | MCP Server |
| 把以上配置打包分享给团队 | Plugin |
一、CLAUDE.md —— 项目记忆
是什么
CLAUDE.md 是 Markdown 格式的项目记忆文件,告诉 AI"这个项目是什么、有哪些约定"。它在每次对话开始时自动加载,无需手动触发。
存放位置(按优先级)
| 位置 | 作用范围 | 是否共享 |
|---|---|---|
~/.claude/CLAUDE.md | 所有项目 | 否(个人) |
项目根目录 CLAUDE.md | 当前项目 | 是(可提交 Git) |
子目录 CLAUDE.md | 该目录及其子目录 | 是 |
内容示例
# 项目:门诊预约系统
## 技术栈
- Spring Boot 3.2 + Java 17
- PostgreSQL 15 + Redis 7
- COLA 四层架构(domain / app / infrastructure / start)
## 编码规范
- 依赖注入使用 @RequiredArgsConstructor + final,禁止 @Autowired
- 日期类型使用 LocalDateTime,字段名以 Time 结尾
- Controller 返回 Response<T>,分页使用 Response<PageList<T>>
## 常用命令
- 运行测试:mvn test -pl app
- 本地启动:mvn spring-boot:run -pl start