Claude Code 进阶!原理 + 6大进阶技巧一次掌握
前言
Claude Code 不是普通的聊天窗口,而是一个 超级Agent。它能自主读代码、改文件、跑命令、查网页,把语言模型变成真正"Agent"。
本文是我基于官方文档的学习笔记,现在分享下,我系统梳理 Claude Code 的核心机制和进阶技巧,帮助你从"能用"进化到"用好"。
核心理念:Claude Code = 模型推理能力 + 工具调用能力。模型是大脑,工具是双手。
一、代理循环:Claude 是怎么干活的?
当你给 Claude 一个任务时,它会经历三个阶段:收集上下文 → 采取行动 → 验证结果。这三个阶段相互融合,Claude 始终通过工具来完成工作——搜索文件了解代码、编辑进行更改、运行测试检查结果。

循环会根据你的要求自动调整:
- 提问:可能只需要收集上下文
- 修 Bug:会在三个阶段间多次循环
- 重构:涉及广泛验证
你也是这个循环的一部分。你可以在任何时刻中断、引导方向、提供额外上下文或要求 Claude 换一种方法。
二、工具调用:让 Claude 从"只会说"变成"能动手"
工具是使 Claude Code 成为代理的根本原因。没有工具,Claude 只能用文本回应;有了工具,Claude 可以采取行动。
| 类别 | Claude 可以做什么 |
|---|---|
| 文件操作 | 读取文件、编辑代码、创建新文件、重命名和重新组织 |
| 搜索 | 按模式查找文件、使用正则表达式搜索内容、探索代码库 |
| 执行 | 运行 shell 命令、启动服务器、运行测试、使用 git |
| 网络 | 搜索网络、获取文档、查找错误消息 |
| 代码智能 | 查看类型错误和警告、跳转到定义、查找引用(需要代码智能插件) |
每个工具使用都会返回信息,反馈到循环中,告知 Claude 的下一个决定。
三、会话机制:不同对话管理
3.1 会话保存与独立性
Claude Code 会将你的对话保存在本地(消息、工具使用、结果),支持回退、恢复和分叉。
关键点:会话是独立的。每个新会话都以新的上下文窗口开始,没有对话历史。跨会话保持学习靠 自动内存 和 CLAUDE.md。
3.2 跨分支工作
每个对话绑定当前目录。切换分支时,Claude 能看到新分支的文件,但对话历史保持不变。想并行工作?用 git worktrees 为各分支创建独立目录。
3.3 恢复与分叉
| 命令 | 效果 |
|---|---|
claude --continue / claude --resume |
恢复会话,新消息附加到原有对话 |
claude --continue --fork-session |
分叉会话,尝试不同方法而不影响原会话 |

⚠️ 恢复会话时,会话范围的权限需要重新批准。
四、上下文窗口管理:省Token(钱)必看
4.1 上下文里都装了什么?
对话历史、文件内容、命令输出、CLAUDE.md、加载的 Skills、系统说明。
4.2 上下文满了怎么办?
Claude Code 自动管理:
- 先清除较旧的工具输出
- 然后总结对话
- 你的请求和关键代码片段会被保留
实用建议:
- 将持久规则放在
CLAUDE.md中,不要依赖对话历史- 在
CLAUDE.md中添加 “Compact Instructions” 部分,控制压缩时保留的内容- 运行
/compact进行上下文压缩- 运行
/context查看上下文占用,运行/mcp检查 MCP 服务器成本

4.3 Skills 和 Subagents 管理上下文
- Skills 按需加载——会话开始只加载描述,使用时才加载完整内容。设置
disable-model-invocation: true可以进一步节省空间。 - Subagents 拥有独立的全新上下文,完成后只返回摘要,不污染你的主对话。
4.4 回退历史对话
按两下 ESC 即可回退。

五、Claude进阶:从会用到好用
Claude Code 提供了 6 大进阶功能,从"始终开启的上下文"到"按需功能"再到"后台自动化",覆盖了不同场景:
5.1 CLAUDE.md — 始终开启的项目上下文
/init
每个会话自动加载,适合放"始终执行 X"的核心规则。

5.2 Skills — 可复用的知识与工作流
/skills
按需加载的参考文档、工作流模板,比如 /deploy 运行部署清单,或者包含端点模式的 API 文档。
5.3 MCP — 连接外部服务
/mcp
通过标准协议连接数据库、Slack、浏览器等外部工具。

5.4 Subagents — 隔离执行的独立任务
在独立上下文中运行,仅向主代理返回摘要结果。适合"翻大量文件但只需关键发现"的研究任务。

5.5 Agent Teams — 多代理协作
协调多个独立 Claude Code 会话,队友共享任务列表、认领工作并直接相互通信(Subagents 之间不能互相对话)。

帮我用agent team帮我做一个XX
目前只有kimi 2.5和claude 4.6这两个模型支持agent team用其他的可能调用不出来多agent
5.6 Hooks — 确定性自动化脚本
在特定事件上运行的脚本,完全在循环外执行,零上下文成本。

示例——提交前自动让 AI 确认需求:
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "prompt",
"prompt": "判断用户需求是否明确。如果不明确,向用户提出简短澄清问题;如果明确,先给出一个简短执行计划,并等待用户确认后再继续执行。"
}
]
}
]
}

5.7 Plugins — 打包与分发
将 Skills、Hooks、Subagents、MCP 捆绑到单个可安装单元,通过marketplace分发。Plugin skills 有命名空间(如 /my-plugin:review),多 plugin 可共存。

六、组件全维度对比(一张表看清)
| 维度 | CLAUDE.md | .claude/rules/ | Skill | Subagent | Agent Team | MCP |
|---|---|---|---|---|---|---|
| 本质 | 项目核心说明文档 | 模块化、分路径的指令集 | 可重用的参考、知识或工作流 | 隔离运行的独立任务执行者 | 相互通信的独立会话集群 | 连接外部服务的标准化协议 |
| 加载方式 | 每个会话自动加载 | 每个会话或匹配特定文件路径时加载 | 按需加载 | 由主代理按需创建 | 独立启动,相互协作 | 由 Claude 实时调用 |
| 上下文管理 | 占用主上下文(建议<200行) | 动态加载,匹配文件时节省上下文 | 上下文隔离,按需调入 | 完全隔离,仅返回摘要 | 每个成员拥有独立上下文 | 仅工具调用的输入输出进入上下文 |
| 通信/协调 | N/A | N/A | 用 context: fork 可隔离运行 |
仅向主代理报告结果 | 队友间可直接互发消息 | 充当 Claude 的"手"和"眼" |
| 适合场景 | 全局核心约定、构建命令 | 特定语言或目录的指南 | API 文档、风格指南、重复工作流 | 读取大量文件、并行搜索 | 复杂研究、并行代码审查 | Slack 集成、数据库查询 |
| 成本 | 持续消耗 Token | 优化过的 Token 消耗 | 仅使用时消耗 | 较低(仅摘要返回) | 较高(每个成员独立实例) | 取决于工具返回数据量 |
七、使用经验
关于指令存储
- Claude 必须始终知道 → 放
CLAUDE.md - 说明特定于某个目录 → 拆到
.claude/rules/以节省空间 - 说明偶尔才需要(如参考手册) → 包装成
Skill
关于并行工作
- 只需要一个安静的助手去翻文件并告诉你结果 → 用
Subagent - 需要一群专家开会、互相质询并分头行动 → 用
Agent Team
关于外部能力
MCP提供"能力"(比如能连上数据库)Skill提供"知识"(比如数据库的表结构是什么,应该怎么查才符合团队规范)
可以把 MCP 理解为厨房和设备,Skill 理解为菜谱和出品标准。两者结合才是能落地的 Agent 工作流。
八、组合使用
每个功能解决不同的问题,真实项目中往往需要组合使用:
| 模式 | 工作原理 | 示例 |
|---|---|---|
| Skill + MCP | MCP 提供连接,Skill 教导如何使用 | MCP 连数据库,Skill 记录架构和查询模式 |
| Skill + Subagent | Skill 为并行工作生成 Subagents | /audit 启动安全性、性能、风格 Subagents |
| CLAUDE.md + Skills | CLAUDE.md 放核心规则,Skills 放按需参考 | CLAUDE.md 说"遵循 API 约定",Skill 包含完整风格指南 |
| Hook + MCP | Hook 通过 MCP 触发外部操作 | Claude 修改关键文件时自动发 Slack 通知 |
九、成本估算
| 功能 | 何时加载 | 加载内容 | 上下文成本 |
|---|---|---|---|
| CLAUDE.md | 会话开始 | 完整内容 | 每个请求 |
| Skills | 会话开始 + 使用时 | 启动时的描述,使用时的完整内容 | 低(每个请求仅描述)* |
| MCP 服务器 | 会话开始 | 所有工具定义和 JSON Schema | 每个请求 |
| Subagents | 生成时 | 具有指定 Skills 的新上下文 | 与主会话隔离 |
| Hooks | 触发时 | 无(外部运行) | 零 |
*带有
disableModelInvocation: true的 Skill 在调用前不会加载任何内容。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)