乐于分享
好东西不私藏

2026最新AI编程工具推荐之Claude Code使用教程

2026最新AI编程工具推荐之Claude Code使用教程

    根据2026年最新的市场数据、技术评测及开发者反馈,AI编程工具市场已从单纯的“代码补全”进化为“智能体(Agent)驱动”的全流程开发。

2026 全球综合排行榜 (Top 5)

这份榜单基于代码理解深度、多文件编辑能力、自主执行任务(Agent)能力生态整合度加权评分。

排名
工具名称
核心定位
综合评分
一句话点评
适合人群
No.1
Claude Code
终端智能体之王
⭐⭐⭐⭐⭐ (9.8)
真正的“数字员工”,能自主读库、改文件、跑测试、修Bug,无需人工干预。
高级开发者、架构师、极客
No.2
Cursor
IDE体验标杆
⭐⭐⭐⭐⭐ (9.6)
VS Code的最佳进化版,Composer模式让多文件重构如丝般顺滑。
全栈工程师、VS Code重度用户
No.3
GitHub Copilot
生态整合霸主
⭐⭐⭐⭐ (9.2)
依托GitHub庞大生态,企业级部署最稳,但复杂任务处理能力略逊于前两者。
企业团队、开源贡献者
No.4
Windsurf
上下文感知专家
⭐⭐⭐⭐ (9.0)
Codeium出品,以超深的上下文理解著称,擅长处理遗留代码(屎山)。
维护旧项目的开发者
No.5
Trae
增长最快的黑马
⭐⭐⭐⭐ (8.9)
字节出品,中文理解力极强,免费策略使其在中国市场爆发式增长。
国内开发者、初创团队

2026 中国本土优选榜 (特别推荐)

考虑到网络稳定性、中文语境理解、数据合规免费/低成本因素,国内开发者应重点关注以下工具:

1. 🥇 字节 Trae (首选推荐)

  • 优势
    • 原生中文支持:对中文注释、需求文档的理解准确率高达95%以上。
    • 完全免费:目前对个人开发者完全免费,且提供高速模型(如豆包大模型)。
    • Builder模式:输入一句话需求,直接生成完整项目结构,甚至能预览前端页面。
    • 无缝迁移:兼容VS Code插件体系,上手零成本。
  • 适用场景:快速原型开发、国内业务系统、个人项目。

2. 🥈 百度 文心快码 (Comate)

  • 优势
    • 企业级落地:在C++、Java等企业级语言上表现优异,SPEC模式有效减少幻觉。
    • 私有化部署:支持企业内部私有化部署,数据安全有保障。
    • 深度集成:与百度智能云生态深度绑定。
  • 适用场景:大型企业、对数据安全敏感的团队、传统后端开发。
  • 3. 其他
       其他比如阿里的通译灵码,它只是一个IDE中的插件,虽然阿里出了自己的专攻代码问题模型Qwen3-max,从之前的问答式改为所谓的智能体。除夕还正式发布Qwen3.5系列模型,但是笔者使用它的体验,从个人视角来说,总体体验不佳。只能作为一个响应快速响应的小辅助工具来用,不能作为自动化编程主力Agent。一般用来分析片段代码逻辑,定位修改bug还行,且很多时候为了极致优化代码,会错误的丢弃原有的代码语义逻辑。
对比分析

1. 智能体能力 (Agentic Capability)

  • Claude Code: 👑 最强。它不是一个插件,而是一个运行在终端的独立智能体。你可以让它“把支付模块从Stripe迁移到支付宝”,它会自动读取代码、修改文件、运行测试并报告结果。
  • Cursor: 🥈 很强。通过Composer功能,可以选中多个文件进行统一修改,但在自主执行外部命令(如运行测试脚本)上略需人工确认。
  • Copilot: 🥉 中等。主要聚焦于单文件或当前上下文的补全,多文件协同能力正在追赶(Copilot Workspace),但尚未普及。

2. 中文理解与本地化

  • Trae / 文心快码: 🇨🇳 原生优化。能精准理解“高并发”、“幂等性”等中文技术术语,生成的注释和变量名符合国内规范。
  • Claude Code / Cursor: 🌐 良好。虽然模型强大,但对纯中文需求的理解偶尔会出现偏差,且受网络环境影响大(需配置代理或国内镜像)。

3. 成本与门槛

  • 免费梯队: Trae (目前免费)、通义灵码 (基础版免费)、CodeLlama (开源本地部署)。
  • 付费梯队: Cursor ($20/月), Claude Code (按Token计费,较贵), GitHub Copilot ($10/月)。
注意:GitHub Copilot早期使用的openAI的Codex模型已经被弃用,而OpenAI 2025年10月6日‌正式发布了新的自动化编程Agent 名字还是叫Codex,这个工具也很强,可以自主读取代码、数据库、三方依赖、写代码、跑测试,改bug。

Claude Code的安装和使用

OK,那今天讲一下热度最高的Claude Code的使用方法。安装教程就不讲了,到AI对话窗口问下就有了教程。
  1. 解决网络访问问题
安装后第一次启动,命令终端输入:claude,就会在当前用户目录或者文件夹下生成一个.claude.json文件、一个.claude的文件夹,windows和mac都一样。中国大陆用户,无法直接连接Anthropic的官方服务(api.anthropic.com),所以需要在.claude.json文件中配置:
"hasCompletedOnboarding": true // 此项可跳过初始网络检查

2. 修改配置文件

  • 获取中转 Key:从国内可信的 AI 服务商处获取 API Key(通常以 sk- 开头)。

  • 找到配置文件 ~/.claude/settings.json (Mac/Linux) 或 %USERPROFILE%\.claude\settings.json (Windows)。如果没有该文件,先运行一次 claude 让它生成,或者手动创建。

  • 填入配置:

{  "ANTHROPIC_BASE_URL": "https://你的中转商域名/v1",   "ANTHROPIC_AUTH_TOKEN": "sk-你的中转商Key",  "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5-20260101" }
这两步完成后就可以正常使用了。
Claude Code的使用方法
如上,如果用AI服务中间商的中转服务,那么model默认就是中转服务商使用的模型。

Claude Code 的这三种工作模式——Plan 模式、自动编辑模式(常被称为 Auto 或 Edit 模式)和 Yolo 模式。

这三种模式本质上代表了 AI 在编程协作中自主性(Autonomy)与安全性(Safety)之间的不同权衡点。

以下是这三种模式的深度解析与对比:

1. 🧠 Plan 模式:谋定而后动(架构师视角)

这是最安全、结构化的模式,适合处理复杂任务或你不希望 AI 乱改代码的场景。

核心逻辑:

  • 只规划,不执行完全只读状态,生成详细执行计划而不修改文件

  • 输出结构化方案(含步骤说明、涉及文件、命令清单)至 plan.md

激活方式‌:

连续按两次 Shift+Tab

工作流程
  • 你提出需求(如“重构用户认证模块”)。
  • Claude 会先进行深度思考,生成一份详细的待办事项列表(TODO List)或执行计划。
  • 它会列出要修改哪些文件、使用什么技术栈、步骤顺序如何。
  • 关键点
    :在你点击“批准”或输入“yes”之前,它绝不会修改任何一行代码。

适用场景‌:

  • 复杂功能开发(如架构重构、数据库迁移)

  • 关键生产文件修改前的方案预审

特色功能‌:

  • 自动切换高性能模型(如 Opus 4.6)进行深度分析

  • 通过 CLAUDE.md 沉淀规划知识,优化长期记忆

2. ✍️ 自动编辑模式:人机协作(编程视角)

自动执行文件读写操作,无需逐项确认编辑请求,这是 Claude Code 的默认模式,也是日常开发中最常用的模式。它在效率和可控性之间取得了平衡。

核心逻辑:

  • 边做边问(Ask before edits)。自动执行文件读写操作,无需逐项确认编辑请求。

  • 仅对 Shell 命令仍需手动批准(如运行测试、安装依赖)

激活方式‌

会话中按一次 Shift+Tab 切换

工作流程:

  • 你提出需求(如“重构用户认证模块”)。

  • Claude 会先进行深度思考,生成一份详细的待办事项列表(TODO List)或执行计划。

  • 它会列出要修改哪些文件、使用什么技术栈、步骤顺序如何。

  • 关键点:在你点击“批准”或输入“yes”之前,它绝不会修改任何一行代码。

适用场景:

  • 日常的 Bug 修复、功能添加。

  • 你需要把控代码细节,但不想写具体实现。

  • 大多数标准的编程任务。

优势‌:效率显著提升,减少人工干预环节

3. 🚀 Yolo 模式:极速狂飙(全托管视角)

“Yolo”是“You Only Live Once”的缩写,在这个语境下意味着“后果自负,全权委托”。这是为追求极致效率而设计的模式。

核心逻辑:

  • 直接执行,无需确认。

  • 跳过所有权限确认,自由执行文件操作与 Shell 命令

  • 内置安全层拦截高风险行为(如删除生产数据)

激活方式‌:

启动时添加命令行参数 –dangerously-skip-permissions

工作流程:

  • 你提出需求。

  • Claude 跳过所有确认步骤,直接创建文件、修改代码、甚至运行 Shell 命令(如 npm install)。

  • 关键点:它不会停下来问你“行不行”,而是直接干完,最后告诉你结

适用场景:

  • 从零搭建新项目(脚手架生成)。

  • 简单的、重复性的批量修改。

  • 你在容器或虚拟机中操作,即使出错也能一键重置。

  • 大规模代码库重构(需严格隔离环境)

风险提示
如果 AI 判断失误,可能会直接破坏你的代码库。通常建议在沙箱环境,禁止在生产环境使用,潜在误操作风险高。
Claude Code的精通使用
      其他编程AI Agent每次打开新窗口或者会话,它都会“失忆”。比如笔者使用过的OpenAI的Codex,如果不小心关闭本次对话,它将之前,用户与它的对话中的需求要点、代码、bug问题逻辑分析结论统统忘记,这样的话使用起来,体验自然会比较差。你如果向它抱怨这个问题,它还会温馨的提示你,要不要帮你创建一个记忆文件,用来记载之前会话中分析得来的成果。这样如果你后面不小心关闭了会话窗口,就让它先执行一下这个记忆文件(Markdown文件),不同主题会话可以记录在不同的记忆文件中。当然Codex会在~/.codex/history.jsonl文件里粗略的记录每次对话的要点,但是这个文件只是用来追溯历史,时间久了肯定会臃肿,也比较驳杂,不便于每次启动对话加载特定的需求记忆。
     而Claude Code会有一个CLAUDE.md文件用来加载该项目的架构,功能模块等等要点,作为它思考的背景。
     这个文件是会有一定的储存记忆功能的,但并不是会话记忆,它的记忆更偏向于对当前企业开发规范记忆、项目的代码架构、业务领域分析结果记忆,以及用户的偏好习惯和编码规范记忆。
  • 项目记忆:保存在项目根目录下的 CLAUDE.md,保存项目的架构、技术栈和开发规范等,可以提交到 Git 与其他成员共享,仅在当前项目中生效
  • 用户记忆:保存在用户空间的 ~/.claude/CLAUDE.md,一般保存用户个人的偏好设置,在所有项目中生效
  • 企业记忆:保存在 Claude 部署目录下(/Library/Application Support/ClaudeCode/Claude.md),存放公司级的安全、合规要求,由管理员配置

三个文件的加载顺序是:企业 → 项目 → 用户,后面的配置会覆盖前面的。因此,你的个人偏好拥有最高优先级!

CLAUDE.md 不会自动创建,需要用户手动创建。创建方式很简单,主要有 3 种方式:/init 命令初始化、/memory 命令直接编辑,以及通过 # 操作符写入。

使用 /init 初始化

在项目根目录打开 Claude,然后输入 /init 命令,Claude 会自动分析你的项目,并创建一个包含基本信息的 CLAUDE.md 文件。

使用 /memory 编辑

任何时候你都可以在 Claude 对话窗口输入 /memory 命令,它会直接在编辑器里打开 CLAUDE.md 文件,让你进行更详细的编辑和整理。

但是新版的/memory命令已经发生了更新,有了配置自动记忆的开关,如下图:

记忆功能开关状态
Auto-memory: on:自动记忆功能已开启。这意味着 Claude 会在对话过程中自动学习并保存项目相关的上下文、经验、调试方案等,无需用户手动记录。
Auto-dream: off · never:自动“梦境”或推测性记忆功能已关闭,且设置为“永不”启用,确保 AI 不会基于推测生成记忆。
底部操作提示
Learn more:提供官方文档链接,供用户深入了解记忆系统的工作机制。
Enter to confirm · Esc to cancel:标准终端交互提示,确认或取消当前操作。

既然企业记忆我们一般不能编辑,那么新的CLAUDE.md文件分类可以如下理解:

    三种记忆层级的配置

    • User memory(用户级记忆)
      存储路径:~/.claude/CLAUDE.md作用:保存跨项目的个人偏好、通用编码习惯、工具链选择等全局规则。
    • Project memory(项目级记忆)
      存储路径:./CLAUDE.md作用:保存当前项目特定的技术栈、构建命令、团队规范、目录结构等,是团队协作和项目上下文的核心。
    • Open auto-memory folder(自动记忆文件夹)
      作用:点击可打开自动记忆的存储目录(通常位于 .claude/memory/),查看 AI 自动归纳的项目经验、排障记录、高频操作模式等。

    Claude Code 的记忆系统是其区别于传统代码助手的核心能力之一。它不再只是“一次性回答”,而是通过 用户级(个人习惯)、项目级(团队规范)、自动级(AI 自主学习)三层结构,构建出一个持续演进的“工作记忆”。

    • 用户级确保你每次打开项目都能延续自己的编码风格。
    • 项目级确保团队成员共享统一的开发规范。
    • 自动级则让 AI 越用越懂你,比如它会记住“你上次调试这个接口时用了 Redis”,下次会自动提醒或复用该上下文。

    实用建议

    保持 CLAUDE.md 精简:记忆内容会被塞入系统提示词,过长会导致上下文溢出。建议将细节拆分到独立文件,主文件只保留核心规则。

    定期检查自动记忆:虽然 AI 会自动归纳,但建议偶尔打开 .claude/memory/ 文件夹,确认是否有错误或冗余信息。

    善用项目级记忆:在新项目启动时,第一时间在项目根目录创建 CLAUDE.md,写入技术栈、启动命令、目录说明,能极大提升 AI 的响应质量。

    这个界面不仅是配置工具,更是你与 AI 协同开发的“大脑中枢”。用好它,Claude 就不只是一个代码生成器,而是一个真正懂你、懂项目的“开发伙伴”。

    模块化记忆

        如果项目过于复杂,CLAUDE.md 可能会变得臃肿。此时可以使用 @ 导入语法,将其他文件的内容引入 CLAUDE.md,实现记忆的模块化管理。

    各层级的记忆的管理

    OK,不管是项目级别记忆,还是个人级别记忆,都要保证CLAUDE.md精简,尽可能的抽象。项目记忆,init后,尽量保持原样不要更改,里面保存了项目的架构结构、业务领域模块,服务API集成点、命名约定等等内容。

    个人记忆也要尽量只保留开发规范、原则等内容。
    但是自动记忆记录的内容太多,比如它自动归纳的项目经验、排障记录、高频操作模式,会导致:
    • 文件臃肿:文件会变得巨大,难以阅读和维护。
    • 上下文溢出:Claude 的上下文窗口是有限的。如果 CLAUDE.md过大,会挤占宝贵的上下文空间,导致它“忘记”当前正在处理的代码文件,或者无法处理更复杂的任务。
    • 噪音干扰:不相关的历史细节会干扰 AI 对当前任务的判断。
    将不同职责的记忆混在一起,确实会让Agent“人格分裂”,变得不专业。

    为什么“驳杂记忆”会让Agent变得不专业?

    角色冲突:负责“SQL优化”的Agent需要记住的是:数据库结构、索引策略、慢查询日志、执行计划分析技巧。负责“拆解业务逻辑”的Agent需要记住的是:领域驱动设计(DDD)原则、业务术语表、用户故事、模块划分规范。如果把这两套记忆混在同一个CLAUDE.md里,当AI被要求“拆解业务逻辑”时,它可能会突然想起“索引优化”的知识,开始给你建议加索引,这就会让它的回答偏离角色定位,显得不专业。提示词污染:每个Agent的核心是它的“系统提示词”,即“你是一个XXX专家”。如果记忆文件里混杂了大量无关信息,这些信息会和系统提示词“打架”。AI在理解任务时,会受到无关记忆的干扰,导致它无法完全沉浸在“XXX专家”的角色中。

          所以,开启了自动记忆之后,还需要自己手动将自动记忆文件拆解为各个独立文件(也可以通过对话,让AI帮你通过某种角度的分类来拆解)而调用了不同的Agent之后,需要通过对话,让它加载特定的记忆文件。

    AI 预设一个角色它会更加擅长处理我们的任务,这是为什么呢?

        预设角色能让AI更高效、更专业地完成任务,因为它本质上是在为AI创建一个“工作身份”和“思维框架”‌。就像你在公司里不会让同一个人既当产品经理又当法务审计还兼着设计师,AI也一样——角色越清晰,产出越精准。

    这背后的原理主要有三点:

    1. 认知聚焦‌:人类专家解决问题时,会调用领域特定的思维模式。AI 通过角色设定模拟这种认知框架。当你告诉AI“你是一位资深前端工程师”,它会自动激活与该角色相关的知识体系、术语习惯和思维方式,避免输出泛化或偏离专业语境 。

    2. 减少上下文污染‌:技术本质:LLM 是“上下文模式匹配器”,Claude 这类大模型没有真正的意识或身份,它的核心能力是:根据输入的上下文(prompt),预测最可能的下一个词序列。当你提供角色设定时,你实际上是在塑造上下文的语义分布。如果在同一对话中反复切换任务类型(比如一会儿写代码、一会儿写文案),AI的思维容易混杂。而通过角色预设,尤其是像Claude中的Sub-agent机制,可以让不同角色在相对隔离的上下文中工作,主对话只负责调度 。

    3. 可复用性与团队协同‌:一旦定义好一个角色配置(如.claude/agents/test-engineer.md),整个团队都可以复用这个“AI员工”,保证输出风格和质量的一致性,相当于建立了AI层面的岗位说明书 。

    所以Claude Code这样的系统会引入‌Sub-agent‌(子代理)概念——它把“角色”工程化、标准化,让AI协作更接近真实团队作业模式 。

    Sub-Agent

    为了防止混淆 Codex中的AGENTS.md文件和Claude Code中的sub-Agent文件,这里讲一下它们的区别。

    AGENTS.md  

         它是 OpenAI 推动的跨厂商统一标准(旨在统一 .cursorrules、.agentrc 等碎片化配置)。它的核心作用是解决“AI 写的代码不符合团队规范”的问题。它是Agent 行为调度中枢,定义技能调用规则与任务执行逻辑,相当于 Agent 的“操作手册”。所以,AGENTS.md 中的内容一般是规范、约定、约束、校验标准。更像是一份工程合同或法律条文,定义了严格的边界和执行标准

         Claude Code里面的没有AGENTS.md文件,与之对标的是CLAUDE.md文件,它是 Claude Code 的上下文提示文档。它的核心作用是解决“AI 记不住项目习惯”的问题。它告诉 Claude “在这个项目里,我们习惯怎么做”。比如“我们用 pnpm 而不是 npm”,“我们的 API 前缀是 /api/v1。它更像是一个资深员工的经验笔记,包含了很多非强制性的最佳实践、避坑指南和项目背景知识

    但Claude Code中的sub-Agent不是规范约束、也不是经验背景,它是给智能体设置了一个身份角色。

    1. 什么是 Sub-Agent?

    Sub-Agent(子代理) 是 Claude Code 中的专门化 AI 助手实例。每个子代理运行在独立的上下文窗口中,拥有:

    • 自定义系统提示 — 定义行为和专长

    • 独立的工具权限 — 可限制只允许读取或只允许特定操作

    • 隔离的对话历史 — 不会污染主对话的上下文

    • 可选的持久记忆 — 跨会话积累领域知识

    Sub-Agent(子代理)是专门处理特定类型任务的 AI 助手。在 Claude Code 的语境下,一个 sub-Agent =  专属系统提示词 + 独立的上下文(可以加载特定的记忆文件) + 特定的工具权限 + 指定模型(可选)

    在 Claude Code 中,一个 sub-Agent 并不是独立的进程,而是由以下三个核心要素构成的“临时专家身份”

    1. 角色(Role):
      通过系统提示词(System Prompt)定义,例如:“你是一位资深 SQL 优化专家”。
      决定 AI 的思考方式输出风格
    2. 记忆(Memory):
      通过专属记忆文件提供,例如 ./agents/sql_optimizer.md
      决定 AI 的知识范围经验积累
    3. 上下文(Context):
      由主 Agent 或用户显式加载相关文件和代码片段。
      决定 AI 的当前任务操作对象

    概念对比:

    • • Main-Agent(主代理):Claude 本身就是一个 Agent,我们可以理解为 Main-Agent。它是主要的上下文对话,有权限调用不同的 Tools、MCP、Skills 和 Sub-Agent,目的在于完成任务。
    • • Sub-agents(子代理):是任务委派。你召唤一个独立的、专业的 AI 分身去处理一个特定任务。它在独立的上下文中运行,拥有专属的工具权限,最终把结果返回给 Main-agent 进行处理。

    为什么需要 Sub-Agent?

    问题 Sub-Agent 如何解决
    主对话上下文膨胀 子代理在独立窗口中工作,只返回摘要
    任务安全性 可限制工具(如只读模式),防止误操作
    并行效率 多个子代理可同时运行不同任务
    成本控制 可路由到更便宜的模型(如 Haiku)
    专业化分工 不同子代理专注不同领域(审查、测试、分析)
    跨项目复用 配置一次,在所有项目中使用

    2. 架构设计与工作原理

    2.1 Agent Tool — 主代理与子代理的桥梁

    Agent 工具是主代理启动子代理的唯一入口。调用参数如下:

    参数 类型 必需 说明
    prompt string 分配给子代理的任务描述
    description string 3-5 个词的简短描述
    subagent_type string 指定子代理类型
    model string 模型覆盖:sonnet/opus/haiku
    run_in_background boolean 是否后台运行
    isolation string "worktree" 表示在隔离工作树中运行

    2.2 生命周期

    用户请求    ↓主代理分析 → 决定是否委托    ↓Agent Tool 启动子代理    ↓子代理初始化:  ├─ 加载系统提示(.md 文件的 body 部分)  ├─ 加载 CLAUDE.md(自动继承)  ├─ 应用工具限制(tools / disallowedTools)  ├─ 连接 MCP 服务器(如配置)  ├─ 加载持久记忆(如配置 memory 字段)  └─ 应用权限模式    ↓子代理执行任务(多轮工具调用)    ↓子代理返回结果 → 主代理接收    ↓主代理综合结果 → 呈现给用户

    2.3 上下文隔离模型

    主代理上下文窗口                    子代理上下文窗口┌──────────────────┐              ┌──────────────────┐│ 用户对话历史       │              │ 系统提示(自定义) ││ CLAUDE.md        │  ──prompt──→ │ CLAUDE.md(继承)  ││ 项目上下文        │              │ 任务 prompt       ││ 工具调用历史       │              │ 工具调用历史(独立)││ 所有子代理返回摘要  │  ←─result── │ 执行结果          │└──────────────────┘              └──────────────────┘

    核心要点

    • 子代理不继承主对话历史

    • 子代理自动继承 CLAUDE.md 指令

    • 子代理的详细工具调用日志不会回传到主上下文

    • 主代理只收到子代理的最终返回消息

    3. 内置子代理类型详解

    aude Code Sub-Agent 也分为两种:内置 Sub-Agent 和 自定义 Sub-Agent

    3.1 类型对照表

    类型 默认模型 可用工具 核心用途 触发场景
    general-purpose 继承主会话 全部工具 复杂多步任务 默认类型
    Explore Haiku 只读(Read/Glob/Grep/WebFetch/WebSearch) 代码搜索、文件发现 需要广泛探索代码库时
    Plan 继承主会话 只读(同 Explore) 规划模式下的研究 设计实现方案时
    architect Opus 全部(不含 Agent) 架构分析、重构建议 架构决策、代码异味检测
    claude-code-guide Haiku 只读 + WebFetch/WebSearch 回答 Claude Code 功能问题 用户问”如何使用 Claude Code”
    statusline-setup Sonnet Read/Edit 配置状态行 /statusline 命令

    3.2 各类型详细说明

    general-purpose(通用型)

    最灵活的子代理,继承所有工具权限。能够处理复杂、多步骤任务的代理,这些任务需要探索和操作。

    • 模型:继承自主对话
    • 工具:所有工具
    • 目的:复杂研究、多步骤操作、代码修改
    • 使用场景:

            搜索关键字后修改多处代码

            运行测试并修复失败用例

            在独立上下文中完成完整特性开发

    Explore(探索型)

    使用 Haiku 模型(快速、低成本),只有只读工具针对搜索和分析代码库进行了优化。
    • 模型:Haiku(快速、低延迟)
    • 工具:只读工具(拒绝访问写入和编辑工具)
    • 目的:文件发现、代码搜索、代码库探索
    • 使用场景举例:

        – “项目中有哪些 API 端点?”

        – “找到所有使用 Redis 的文件”

        – “分析这个模块的架构”

    调用 Explore 时,Claude 指定一个彻底程度:quick 用于有针对性的查找,medium 用于平衡的探索,或 very thorough 用于全面分析。

    Plan

    在 计划模式 期间用于研究计划之前收集的上下文。

    • 模型:继承自主对话
    • 工具:只读工具(拒绝访问写入和编辑工具)
    • 目的:用于规划的代码库研究

        当你处于计划模式且 Claude 需要理解你的代码库时,它会将研究委托给 Plan 子代理。这样可以防止无限嵌套(子代理无法生成其他子代理),同时仍然收集必要的上下文。

    architect(架构师型)

    使用 Opus 模型(最强推理能力),专注于架构级分析。

    4. 文件构成与目录结构

    4.1 核心目录

    ~/.claude/├── agents/                          # 全局子代理定义(所有项目可用)│   ├── architect.md                 # 架构师子代理│   ├── code-reviewer.md             # 代码审查子代理│   └── ...├── agent-memory/                    # 子代理持久记忆(memory: user)│   ├── architect/│   │   └── MEMORY.md               # 记忆索引│   └── code-reviewer/│       └── MEMORY.md├── settings.json                    # 全局配置├── CLAUDE.md                        # 全局指令(所有代理继承)└── projects/    └── {projectId}/        ├── {sessionId}/        │   └── subagents/           # 子代理运行记录        │       ├── agent-xxx.jsonl  # 子代理完整对话历史        │       └── agent-xxx.meta.json  # 子代理元数据        └── memory/                  # 项目级记忆项目目录/├── .claude/│   ├── agents/                      # 项目级子代理定义(可提交到版本控制)│   │   ├── test-runner.md│   │   └── db-validator.md│   ├── agent-memory/                # 项目级代理记忆(memory: project)│   │   └── test-runner/│   │       └── MEMORY.md│   └── agent-memory-local/          # 本地代理记忆(memory: local,不提交 git)│       └── test-runner/│           └── MEMORY.md├── CLAUDE.md                        # 项目指令└── AGENTS.md                        # 项目级代理行为指引

    4.2 加载优先级

    子代理定义文件按以下优先级加载(高→低):

    优先级 来源 说明
    1(最高) --agents CLI 标志 仅当前会话
    2 .claude/agents/ 当前项目,可提交版本控制
    3 ~/.claude/agents/ 全局,所有项目可用
    4(最低) 插件的 agents/ 目录 随插件分发

    4.3 子代理运行记录格式

    每次子代理运行会生成两个文件:

    gent-xxx.meta.json — 元数据:

    {  "agentType": "Explore",  "description": "Search agent definition files"}

    agent-xxx.jsonl — 完整对话历史(JSON Lines 格式),包含子代理的所有工具调用和返回值。

    5. 自定义 Sub-Agent

      5.1 创建自定义子代理(保姆级教程)

    方式一:通过 /agents 命令交互式创建

    第一步:确定代理级别

    首先,在 Claude Code 中运行 /gents 命令:

    创建用户/项目级代理

     Agents                                                                                                                                                                                                  6 agents                                                               ❯ Create new agent                                                                                                                                            CrCaee new agentntUsers\32827\.claude\agents)  Choose locationpus · user memory    1. Projectg(.claude/agents/)lable)    2. Personal-(~/.claude/agents/)

    第二步:选择创建方式:手动填写 / 让 Claude 生成

    第三步:配置名称、描述、工具、模型、颜色等

    选择颜色

    第四步:保存

    方式二:手动创建 Markdown 文件


    就是这个图中的第二个选项

    ---name: code-reviewerdescription: >  专业代码审查员。在修改代码后主动审查代码质量、安全性和可维护性。  使用场景:代码审查、安全审计、质量检查。model: sonnettools: Read, Grep, Glob, Bashmemory: project---你是一位资深代码审查专家。当被调用时:## 审查流程1. 运行 `git diff` 查看最近更改2. 聚焦修改过的文件3. 立即开始审查## 审查清单- 代码清晰度和可读性- 正确的错误处理- 无安全漏洞或密钥泄露- 输入验证- 测试覆盖率- 性能考虑## 输出格式按优先级分类反馈:- **严重**(必须修复):安全漏洞、数据丢失风险- **警告**(建议修复):性能问题、代码异味- **建议**(可选优化):风格改进、可读性提升

    这种方式要求理解Frontmatter 字段:

    格式:

    ---# [必需] 唯一标识符,小写字母+连字符name: code-reviewer# [必需] 描述何时应使用此子代理(主代理据此路由)description: >  描述越精确,自动路由越准确。  可以包含具体使用场景示例。# [可选] 模型选择# opus — 最强推理,适合复杂架构分析# sonnet — 平衡型,适合大多数任务# haiku — 最快最便宜,适合简单搜索# inherit — 继承主会话模型(默认行为)model: sonnet# [可选] 允许使用的工具列表(逗号分隔)# 不指定 = 继承所有工具tools: Read, Grep, Glob, Bash# [可选] 禁止使用的工具列表(与 tools 二选一)# disallowedTools: Write, Edit# [可选] 持久记忆范围# user — ~/.claude/agent-memory/{name}/(跨项目)# project — .claude/agent-memory/{name}/(项目级,可提交 git)# local — .claude/agent-memory-local/{name}/(项目级,不提交 git)memory: project# [可选] UI 显示颜色color: blue# [可选] 权限模式# default — 默认,需要用户批准# acceptEdits — 自动接受编辑# dontAsk — 不询问权限# plan — 规划模式permissionMode: default# [可选] 最大执行轮次maxTurns: 10# [可选] 推理努力程度:low / medium / high / maxeffort: medium# [可选] 是否默认后台运行background: false# [可选] 隔离模式:worktreeisolation: null# [可选] 预加载的技能skills:  - code-patterns# [可选] 自定义钩子hooks:  PreToolUse:    - matcher: "Bash"      hooks:        - type: command          command: "./scripts/validate-cmd.sh"---

    提要:

    字段
    必需
    描述
    name
    使用小写字母和连字符的唯一标识符
    description
    Claude 何时应委托给此子代理
    tools
    子代理可以使用的 工具。如果省略,继承所有工具
    disallowedTools
    要拒绝的工具,从继承或指定的列表中删除
    model
    模型

     使用:sonnetopushaiku 或 inherit。默认为 sonnet
    permissionMode
    权限模式

    defaultacceptEditsdontAskbypassPermissions 或 plan
    skills
    在启动时加载到子代理上下文中的 技能。注入完整技能内容,而不仅仅是使其可用于调用。子代理不继承父对话中的技能
    hooks
    限定于此子代理的 生命周期钩子

    方式三:CLI 参数临时定义

    claude --agents '{  "quick-checker": {    "description""快速代码检查员",    "prompt""你是一个快速代码检查员,只关注明显的 bug 和安全问题。",    "tools": ["Read""Grep"],    "model""haiku"  }}'

    注意:这种方式仅对当前会话有效,不会持久化。

    5.2 配置 Sub-Agent

    这里可以选择创建新的 Sub-Agent ,也可以选择管理已有的 Sub-Agent 。选择上面创建好的 code-improver 回车会进入该 Sub-Agent 的管理页面:

    管理页面支持预览 agent 的功能、编辑 agent 和删除 agent 。选择 Edit agent 可以直接编辑 Sub-Agent 的 tools:

    也可以 直接直接打开编辑器编辑:

    5.3 验证

    # 显式调用@code-reviewer 审查一下最近的代码改动# 或者自然语言触发(主代理根据 description 自动路由)帮我审查一下刚才的代码修改

    也可以:

    使用 code-reviewer 代理为此项目做CR

    6. 路由决策流程

    用户发出请求    ↓主代理分析请求内容    ↓┌─────────────────────────────────────┐│ 路由决策树                           ││                                     ││ 1. 用户使用 @-提及?                  ││    └─ 是 → 强制委托给指定子代理        ││                                     ││ 2. 请求匹配某子代理 description?      ││    └─ 是 → 自动委托                   ││                                     ││ 3. 任务适合并行化?                    ││    └─ 是 → 启动多个子代理并行工作       ││                                     ││ 4. 以上都不满足                       ││    └─ 主代理直接处理                   │└─────────────────────────────────────┘

    6.1 三种调用方式

    方式一:自动委托(推荐)

    主代理根据子代理的 description 字段自动匹配。description 写得越精确,路由越准确

    # 如果存在 description 包含 "代码审查" 的子代理用户:帮我审查一下 auth 模块的代码→ 主代理自动委托给 code-reviewer 子代理

    方式二:@-提及(强制执行)

    @code-reviewer 审查 src/auth/ 目录下的所有改动

    上面已经演示过

    方式三:会话级代理

    # 整个会话使用某个子代理的系统提示和工具限制claude --agentcode-reviewer

    6.2 并行调度

    主代理可以在一条消息中启动多个子代理并行工作:

    举例:

    # 用户请求同时分析认证模块、数据库层和 API 设计# 主代理行为:1. 启动 Explore 子代理 A → 分析认证模块2. 启动 Explore 子代理 B → 分析数据库层     # 与 A 并行3. 启动 Explore 子代理 C → 分析 API 设计    # 与 A、B 并行4. 等待所有子代理返回5. 综合三个结果呈现给用户

    6.3 前台 vs 后台调度

    维度 前台(默认) 后台
    阻塞主对话 是,等待完成 否,立即可继续
    权限处理 交互式逐个批准 启动前一次性预批准
    适用场景 需要结果才能继续的任务 独立的长时间任务
    启动方式 默认行为 run_in_background: true
    快捷键 Ctrl+B 后台化当前任务

    6.4 SendMessage 继续机制(恢复子代理)

    子代理完成后会返回一个 agentId,主代理可以通过 SendMessage 恢复该子代理:

    # 第一次调用用户:用 code-reviewer 审查 auth 模块→ 子代理完成,返回 agentId: agent-abc-123# 继续调用(保留完整上下文)用户:继续审查 authorization 逻辑→ 主代理通过 SendMessage 发送给 agent-abc-123→ 子代理恢复,拥有之前审查的全部上下文

    子代理成绩单独立于主对话持久化:

    • 主对话压缩:当主对话压缩时,子代理成绩单不受影响,它们存储在单独的文件中。
    • 会话持久性:子代理成绩单在其会话中持久化,可以通过恢复相同会话在重启 Claude Code 后 恢复子代理
    • 自动清理:成绩单根据 cleanupPeriodDays 设置进行清理(默认:30 天)。
    6.5 自动压缩机制

        子代理支持使用与主对话相同的逻辑进行自动压缩。当子代理的上下文接近其限制时,Claude Code 会总结较旧的消息以释放空间,同时保留重要上下文。压缩事件记录在子代理成绩单文件中:

    {  "type": "system",  "subtype": "compact_boundary",  "compactMetadata": {    "trigger": "auto",    "preTokens": 167189  }}

    7. 上下文记忆(Memory)分配机制

    7.1 上下文传递矩阵

    内容 主代理 → 子代理 子代理 → 主代理
    完整对话历史 不传递 不传递
    CLAUDE.md 指令 自动继承
    任务 prompt 通过 Agent 工具传递
    执行结果 只返回最终消息
    持久记忆 各自独立加载 各自独立保存
    项目文件访问 共享(同一文件系统) 共享
    git 状态 共享 共享(除非 worktree 隔离)

    7.2 持久记忆(Memory)系统详解

    记忆范围

    # 方式一:用户级记忆 — 跨所有项目memory: user# 存储位置:~/.claude/agent-memory/{agent-name}/# 适用场景:通用偏好、个人风格、跨项目知识# 方式二:项目级记忆 — 可版本控制memory: project# 存储位置:.claude/agent-memory/{agent-name}/# 适用场景:项目架构知识、团队约定、项目特定模式# 方式三:本地项目记忆 — 不提交 gitmemory: local# 存储位置:.claude/agent-memory-local/{agent-name}/# 适用场景:个人笔记、本地环境配置、敏感信息

    记忆工作原理

    子代理启动    ↓系统提示自动注入记忆管理指令    ↓加载 MEMORY.md 索引(前 200 行)    ↓子代理可随时:├─ 读取记忆文件获取历史知识├─ 创建新记忆文件保存发现└─ 更新 MEMORY.md 索引    ↓记忆持久保存到磁盘    ↓下次调用时自动加载

    记忆文件格式

    每个记忆文件使用 Markdown + Frontmatter:

    ---name: auth-patternsdescription: 项目中认证模块的常见模式和约定type: project---## 认证模式- JWT Token 存储在 Redis,TTL 24 小时- 所有 API 端点通过 AuthInterceptor 拦截- 权限校验使用 RBAC 模型**Why:** 团队在 2024Q4 统一了认证架构**How to apply:** 新功能涉及认证时遵循此模式

    MEMORY.md 索引格式

    [认证模式](auth-patterns.md) — JWT + Redis + RBAC 认证架构[数据库约定](db-conventions.md) — 分库分表规则和索引策略[API 风格](api-style.md) — RESTful API 设计规范

     7.3 记忆隔离示意图

    核心要点

    • 每个子代理有独立的记忆空间

    • 主代理和子代理的记忆互不可见

    • 记忆范围由 memory 字段决定

    • 子代理可以在执行过程中主动读写记忆

    • MEMORY.md 的前 200 行会自动注入到系统提示中