Loading... # Claude Code 2.0 完整指南与技术分析 # 一、概述 ## 1. 简介 ### A. 是什么 Claude Code 是 Anthropic 官方推出的 CLI 工具,将 Claude 大语言模型的能力集成到命令行环境中。它不仅是一个编码助手,更是一个通用智能代理,可用于数据分析、文档处理、系统操作等多种任务。 ### B. 为什么学 - 提升编码效率:通过智能代理自动化完成重复性编码任务 - 更快的反馈循环:Opus 4.5 模型速度和协作能力显著提升 - 掌握前沿工具:Claude Code 已成为 CLI 编码产品的标杆,其他工具如 Codex、OpenCode 等都深受其影响 - 技能可迁移:学习 Claude Code 的经验可直接应用到其他 AI 编码工具 ### C. 学完能做什么 - 熟练使用子代理进行代码库探索和任务执行 - 理解并应用上下文工程技术优化 AI 代理性能 - 创建自定义命令、钩子和技能以扩展 Claude Code 功能 - 掌握 MCP 服务器集成实现外部工具连接 ## 2. 前置知识 ### A. 必备技能 - 基本 Linux/macOS 命令行操作 - 了解软件开发生命周期 - 对大语言模型基本概念的理解 ### B. 推荐知识 - 熟悉至少一种编程语言 - 了解 Git 版本控制 - 具备系统设计基础概念 # 二、核心概念 ## 1. 基本术语 - 上下文窗口(Context Window):LLM 能够一次性查看和处理的最大令牌数量,类似于模型的工作记忆 - 工具调用(Tool Calling):LLM 执行特定操作的能力,如读取文件、搜索网络、运行命令等 - 智能代理(Agent):能够主动运行工具以实现目标的 LLM 系统 - 上下文工程(Context Engineering):在有限的上下文窗口中优化信息配置,以实现模型期望行为的技术 ## 2. 工作原理 ```mermaid graph TB A[用户输入] --> B[主代理 Claude] B --> C{任务分析} C -->|简单任务| D[直接执行] C -->|复杂任务| E[Task Tool] E --> F[子代理 Explore] E --> G[子代理 Plan] E --> H[子代理 General-purpose] F --> I[工具调用 Glob/Grep/Read] G --> J[生成实施计划] H --> K[多步骤任务执行] I --> L[返回结果] J --> L K --> L L --> B B --> M[输出结果] ```   # 三、Claude Code 2.0 新特性 ## 1. 生活质量改进 ### A. 语法高亮 2.0.71 版本引入的语法高亮功能显著提升了代码审查体验。高对比度的文本和粗体字重使代码差异更易阅读。 ### B. 提示系统 在模型思考过程中显示实用提示,帮助用户发现隐藏功能。虽然部分提示可能不适用于所有场景,但整体上提供了有价值的学习机会。 ### C. 反馈 UI 优雅的非侵入式反馈系统,允许用户通过数字键快速响应(1:差,2:一般,3:好)或按 0 忽略。 ### D. 检查点功能 Esc + Esc 或 /rewind 命令允许回滚到特定检查点,类似于 Cursor 的功能。可以同时回滚代码和对话。 ## 2. 核心功能增强 ### A. 超级思考模式 对于复杂任务,可以使用 /ultrathink 让 Opus 4.5 进行更严谨的推理,适用于解释复杂概念或自我审查代码变更。 ### B. 提示建议(2.0.73) 新增的提示建议功能预测相当准确,能够根据当前上下文提供相关的后续操作建议。 ### C. 提示历史搜索 Ctrl + R 可以搜索提示历史,类似终端的反向搜索功能,可跨项目全局对话搜索。 ### D. 模糊文件搜索(2.0.72) 文件建议速度提升 3 倍,支持模糊搜索。 ### E. LSP 支持 通过插件支持 LSP(语言服务器协议),提供更强大的代码智能感知。 # 四、子代理系统 ## 1. 子代理类型 Claude Code 提供多种预定义子代理,每个代理都有特定的用途和工具集。 | 子代理类型 | 用途 | 可用工具 | 上下文继承 | |-----------|------|----------|-----------| | general-purpose | 复杂问题和多步骤任务 | 全部工具 | 是 | | Explore | 快速代码库探索 | Glob、Grep、Read、有限 Bash | 否 | | Plan | 软件架构设计和实施规划 | 全部工具 | 是 | | claude-code-guide | Claude Code 文档查询 | Glob、Grep、Read、WebFetch、WebSearch | 是 | | statusline-setup | 状态栏配置 | Read、Edit | 是 | ## 2. Explore 代理详解 Explore 代理是只读文件搜索专家,专门用于快速浏览代码库。 ### A. 核心特性 - 严格只读模式:禁止创建、修改或删除文件 - 高效文件查找:使用 glob 模式进行广泛文件匹配 - 强大搜索能力:使用正则表达式搜索文件内容 - 并行工具调用:通过并行 grep 和读取文件提高效率 ### B. 使用场景 - 快速定位文件:如查找所有 TypeScript React 组件 - 代码关键词搜索:如查找 API 端点定义 - 代码库问题回答:如解释特定功能如何工作 ### C. 调用方式 ``` "Launch explore agent with Sonnet 4.5" ``` 可以指定使用 Sonnet 而非默认的 Haiku 模型。 ## 3. Task Tool 架构 ```mermaid sequenceDiagram participant U as 用户 participant M as 主代理 participant T as Task Tool participant S as 子代理 participant FS as 文件系统 U->>M: 任务请求 M->>M: 分析任务复杂度 M->>T: 调用 Task Tool Note over T: 指定参数:<br/>- description<br/>- prompt<br/>- subagent_type<br/>- model (可选) T->>S: 启动子代理 S->>FS: 执行工具调用 FS-->>S: 返回结果 S-->>T: 完成并返回消息 T-->>M: 返回子代理输出 M-->>U: 呈现结果 ```   ### A. 关键参数 - description(必需):任务简短描述,3-5 个词 - prompt(必需):代理要执行的任务 - subagent_type(必需):专用代理类型 - model(可选):sonnet、opus 或 haiku,默认继承父模型 - run_in_background(可选):设置为 true 在后台运行 - resume(可选):从前一次调用恢复的代理 ID # 五、上下文工程 ## 1. 上下文窗口与令牌消耗 ### A. 令牌消耗机制 智能代理在执行任务时会进行大量工具调用,每个工具调用及其结果都会被添加到上下文窗口中。这是因为 LLM 是无状态的,它们在上下文窗口之外没有记忆。 示例上下文窗口消耗: ``` 用户:"为我的咖啡店制作一个着陆页" Assistant: [tool_call: web_search("现代咖啡店着陆页设计")] Tool result: [10 个结果,包含片段和 URL] ← ~1.5K 令牌 Assistant: [tool_call: read_file("brand-guidelines.pdf")] Tool result: [提取的文本、颜色、字体] ← ~4K 令牌 Assistant: [tool_call: create_file("landing-page.html")] Tool result: [成功,140 行] ← ~50 令牌 Assistant: [tool_call: edit_file("landing-page.html")] Tool result: [diff: 添加了主图和菜单部分] ← ~300 令牌 总计:单个任务约 6K+ 令牌。所有内容保留在上下文中。 ``` ### B. 上下文退化问题 随着每个新令牌的引入,LLM 的上下文检索性能会下降。可以将上下文视为有限的"注意力预算",这是注意力机制本身的结果。 不同模型的上下文窗口: - GPT-5.2:400K 输入令牌 - Opus 4.5:200K 输入令牌 - Gemini 3 Pro:1M 输入令牌 经验法则:有效上下文窗口大约是标称值的 50-60% 或更少。 ## 2. 上下文工程技术 ### A. 通过重复注入操纵注意力 Manus 在其上下文工程博客中分享了这一技术: > 如果您使用过 Manus,您可能注意到了一个奇怪的现象:在处理复杂任务时,它倾向于创建一个 todo.md 文件,并在任务进行时逐步更新它,检查已完成的条目。 > 这不仅仅是可爱的行为,这是操纵注意力的刻意机制。 > Manus 中的典型任务平均需要约 50 次工具调用。这是一个很长的循环,由于 Manus 依赖 LLM 进行决策,因此容易偏离主题或忘记早期目标,尤其是在长上下文或复杂任务中。 > 通过不断重写待办事项列表,Manus 将其总体目标背诵到上下文的末尾。这将全局计划推入模型最近的注意力范围,避免了"迷失在中间"的问题,并减少了目标不一致。 Claude Code 也有类似功能。当您使用 TodoWrite 工具时,模型会跟踪任务进度,这有助于保持对总体目标的关注。 ### B. 系统提醒机制 Claude Code 通过在用户消息和工具结果中插入 <system-reminder> 标签来定期注入目标。 ```mermaid graph LR A[用户消息] --> B[注入系统提醒] B --> C[添加上下文信息] C --> D[模型处理] E[工具结果] --> B D --> F[助手响应] F --> G[添加系统提醒] G --> H[返回给用户] ```   # 六、扩展功能 ## 1. 自定义命令 ### A. 命令类型 - 项目级命令:存储在 .claude/commands/ - 全局命令:存储在 ~/.claude/commands/ ### B. 创建方式 当您发现自己重复编写某些提示,且指令可以静态/精确时,创建自定义命令是个好主意。 示例:/handoff 命令用于在上下文窗口变满时开始新对话,让 Claude 编写当前会话的摘要。 ### C. 命令执行机制 当您输入命令时,该提示会被追加到当前对话/上下文中,主代理开始执行任务。 ## 2. MCP 服务器 ### A. 什么是 MCP MCP(Model Context Protocol)服务器是可以在本地机器或远程互联网上托管的服务器。它们可以暴露文件系统、工具和集成(如 CRM、Google Drive 等)。本质上是模型连接外部工具和服务的一种方式。 ### B. 连接方式 - 需要 MCP 客户端(Claude)作为主机 - MCP 客户端调用协议进行连接 - 连接后,MCP 客户端暴露服务器提供的工具、资源和提示 ### C. 令牌消耗问题 工具定义会被提前加载到主机的上下文窗口中,导致上下文膨胀。更多 MCP 服务器意味着更多工具定义。 ### D. MCP 代码执行 建议通过代码 API 而非工具调用定义来暴露功能,并为 Claude 提供具有文件系统的沙盒执行环境。然后让它编写代码来进行工具调用。 ## 3. 技能与插件 ### A. 技能(Skills) 技能是包含 SKILL.md 文件、其他可引用文件和代码脚本的文件夹,用于执行某些用户定义的任务。 SKILL.md 包含元数据,LLM 通过这些元数据了解可用的技能(元数据被添加到系统提示中)。如果 Claude 认为技能相关,它会执行工具调用以读取技能内容并下载领域专业知识。 技能的优势: - 按需加载,不需要将所有信息写入系统提示 - 特别适用于不确定是否始终需要这些指令的情况 ### B. 插件 插件是一种打包机制,将技能、斜杠命令、子代理、钩子和 MCP 服务器捆绑到一个可分发的单元中。 - 通过 /plugins 安装 - 使用命名空间避免冲突(如 /my-plugin:hello) - 便于跨项目和团队共享功能 示例:流行的 frontend-design 插件实际上就是一个技能。 ## 4. 钩子(Hooks) 钩子允许您观察代理循环生命周期中某个阶段的开始或结束,并在之前或之后运行 bash 脚本来更改代理循环。 ### A. 可用钩子 - Stop:Claude 完成响应后运行 - UserPromptSubmit:用户提交提示后、Claude 处理前运行 ### B. 使用场景 示例 1:当 Claude 停止响应时播放动漫通知声音 示例 2:通过 Stop 钩子在 Claude 完成当前任务后运行"Do more"提示,保持 Claude 运行数小时 ### C. 组合应用 将钩子、技能和提醒结合使用可以创建强大的自定义工作流。 # 七、实用工作流程 ## 1. 作者的工作流 ### A. 设置 - 以 Claude Code 作为主要驱动 - Codex 用于审查和困难任务 - Cursor 用于阅读代码和手动编辑 - 很少使用 Plan Mode ### B. 探索和执行 1. 通过提出大量问题探索代码库 2. 澄清需求,理解在哪里/如何/为什么进行更改 3. 使用 /ultrathink 并询问需要哪些更改 4. 如果看起来正常,开始执行并密切监控更改 ### C. "丢弃初稿"方法 对于困难的新功能: 1. 理解需要哪些更改 2. 创建新分支并让 Claude 端到端编写功能 3. 将其输出与心理模型进行比较 4. 根据第一次迭代学到的内容运行另一次迭代 ## 2. 代码审查 对于代码审查和查找 bug,GPT-5.2-Codex 更为优越。只需使用 /review。它能够: - 发现 bug 并提及严重性(P1、P2) - 不太可能报告假阳性 - 在处理令人困惑的更改时比 Claude 更可靠 Claude 用于执行,GPT/o 系列模型用于审查/bug,这种动态已经相当稳定。 ## 3. 背景代理使用 背景进程功能对于调试或监控日志输出非常有用。模型通常会自动决定将进程放入后台,但您也可以明确告诉它这样做。 # 八、最佳实践 ## 1. 上下文管理 ### A. 何时进行压缩或开始新对话 - 当总上下文使用率达到 60% 时(如果正在构建复杂内容) - 不要在对话进行到一半时开始复杂任务 ### B. 上下文工程目标 - 插入最相关的上下文 - 减少上下文膨胀/不相关上下文 - 提供少量且不冲突的指令 - 通过提醒和运行时注入使工具调用更好地工作 ## 2. 子代理使用策略 ### A. 何时使用子代理 - 搜索关键词或文件且不确定在前几次尝试中能否找到正确匹配 - 需要快速浏览代码库以查找文件模式 - 需要为任务规划实施策略 ### B. 何时避免使用子代理 - 想要读取特定文件路径时(使用 Read 或 Glob) - 搜索特定类定义时(使用 Glob) - 在特定文件或 2-3 个文件集合中搜索代码时(使用 Read) ## 3. 技能和插件管理 ### A. 保持技能文件简洁 Anthropic 建议将 skill.md 保持在 500 行以下,可以考虑: - 将指令分成单独的技能文件 - 结合钩子使用 - 减少 CLAUDE.md 大小 ### B. 插件命名空间 使用命名空间避免冲突,格式为 /plugin-name:command # 九、与其他工具对比 ## 1. Claude Code vs Codex | 特性 | Claude Code | Codex | |------|------------|-------| | 子代理 | 支持 | 不支持 | | 速度 | 更快 | 较慢 | | 协作能力 | 优秀 | 一般 | | 意图检测 | 更好 | 可能忽略指令 | | 上下文窗口 | 200K | 400K | | UI 可读性 | 高对比度文本 | 较细文本,难以阅读 | | 详尽程度 | 符合预期 | 更简洁 | ## 2. 为什么选择 Opus 4.5 ### A. 优势 - 更快的速度和更快的反馈循环 - 更好的沟通者和结对程序员 - 更好的意图检测能力 - 优秀的写作能力 - 具有个性,被一些人认为有"灵魂" ### B. 与 GPT-5.1/Codex 的对比 在代码生成能力上大致相当,但 Opus 4.5 的速度和协作性使其成为更好的日常驱动程序。 # 十、总结 ## 1. 关键要点 ### A. 掌握基础 - 理解上下文窗口和令牌消耗机制 - 熟练使用预定义子代理 - 学会创建自定义命令 ### B. 进阶应用 - 应用上下文工程技术优化性能 - 利用技能和插件扩展功能 - 使用钩子自动化工作流程 ### C. 持续学习 - 定期查看更新日志 - 尝试新功能和模型 - 参与社区讨论 ## 2. 未来展望 ### A. 预期改进 - RL 训练改进 - 通过新注意力架构提高长上下文有效性 - 更高吞吐量的模型 - 更少幻觉的模型 ### B. 潜在突破 - o1/o3 级别的推理突破 - 持续学习领域的进展 ## 3. 行动建议 如果您觉得这篇文章有用,请今天尝试一个新功能。祝您构建愉快! *** ## 参考资料 1. [A Guide to Claude Code 2.0 and getting better at using coding agents](https://sankalp.bearblog.dev/my-experience-with-claude-code-20-and-how-to-get-better-at-using-coding-agents/) 2. [Building Effective Agents - Anthropic](https://docs.anthropic.com/en/docs/build-with-claude/agents) 3. [Effective Context Engineering for AI Agents - Anthropic](https://docs.anthropic.com/en/docs/build-with-claude/context-engineering) 4. [Code Execution with MCP - Anthropic](https://docs.anthropic.com/en/docs/build-with-claude/mcp) 5. [Claude Code Changelog](https://docs.anthropic.com/en/docs/claude-code/changelog) 6. [Context Rot - Chroma](https://www.anthropic.com/index/context-rot) 7. [What Actually Is Claude Code's Plan Mode? - Armin Ronacher](https://lucumr.pocoo.org/2025/1/13/claude-code-plan-mode/) 8. [awesome-claude-code](https://github.com/anthropics/awesome-claude-code) 最后修改:2026 年 01 月 18 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏