ClaudeCode的agent学习和使用
ClaudeCode的agent学习和使用
1. MCP/Skills/Agent对比
先来简单区分一下Claude code中的agent、skills、mcp的概念
| 概念 | 核心定位 | 作用机制 | 类比 |
|---|---|---|---|
| Agent | 智能体(会思考+决策) | 基于 .claude/agents/xxx.md 定义的指令模板,通过 @agent名 调用 |
人 |
| Skills | 能力模块(prompt+工具封装) | 提供特定功能的插件,由 Agent 或用户调用 | 技能 |
| MCP | 外部工具协议(工具封装) | 标准的工具调用协议,为 Skills 提供统一的接口 | 工具接口 |

2. agent是什么
Agent(智能体 / 代理):Claude Code 的核心是一个能自主规划、调用工具、执行多步骤任务的 AI 智能体。如果把大语言模型LLM就是一个会思考的大脑,而agent就是有大脑,做规划同时手脚使用工完成复杂工作的人。
对于简单的工作 但个agent可以就可以很方便的完成,但是对于复杂任务场景可以需要使用多agent方式处理,Claude有两种 Multi-Agent 范式: Sub-agents(子智能体)和 Agent Teams(智能体团队)。
| 对比维度 | Sub-Agent(子智能体) | Agent Teams(智能体团队) |
|---|---|---|
| 通信机制 | 子 Agent 间无通信, | 成员间可直接通信 |
| 生命周期 | 一次性执行,任务完成即销毁 | 长期运行,持续存在于会话中 |
| 上下文管理 | 独立上下文,仅返回压缩结果,主上下文干净 | 独立上下文 +共享任务列表,支持状态同步 |
| 核心适用场景 | 并行低耦合、高上下文消耗的独立任务 | 强协作、需持续协商的复杂关联任务 |
2.1.Sub-agents 子智能体
将无依赖、可并行、且上下文消耗较大的复杂任务拆分成多个subagent 独立运行,比如如下场景:
你对主 Agent说:
帮我:
- 找出所有
OrderController中涉及订单创建的接口;- 分析
UserService里的用户登录逻辑;- 统计项目中所有
@Transactional注解的使用情况。
主 Agent 任务拆分与委派 分成三个sub agent,这三个任务互相独立同时启动和执行,子任务完成返回压缩结果。

Claude code sub agents 默认是开启的,主agent会根据需求动态的创建sub-agents
2.2.agent-teams 智能体
你对主 Agent(Team Lead)说:
帮我完成订单模块的前后端开发:
- 后端实现订单创建接口;
- 前端对接订单接口并完成页面;
- 为接口编写单元测试。”
- 主 Agent 作为 Team Lead,初始化一个长期运行的会话
-
创建三个agent和一个共享任务列表
-
任务 1:后端开发订单接口(无前置依赖)
-
任务 2:前端对接订单接口(依赖任务 1 的接口定义)
-
任务 3:为订单接口编写单元测试(依赖任务 1 的接口实现
-
-
任务分配并行启动:
- 后端开发 Agent 开始设计接口结构、编写 Controller 和 Service 代码
- 前端开发 Agent 提前查看共享任务列表,开始搭建页面框架,同时等待接口定义
- 测试编写 Agent 查看共享任务列表,等待接口实现后编写测试用例
-
成员间直接通信与动态协调
- 前后端依赖协商:后端开发 Agent 完成接口设计通知前端开发 Agent
- 接口变更实时通知:新增字段随时更新共享任务列表
-
更新共享任务列表状态,都完成则Team leader 汇总结果。

agent-terms不会默认开启(实验阶段),需要手动开启,同时还要显示使用
3. 如何创建一个agent
3.1.agent格式
因为 Claude Code 规定所有自定义 Agent 都必须是这种格式:
- 文件后缀必须是 .md
- 文件开头必须是 — … — 格式的 YAML 配置
- 下面才是提示词
这是 Claude Code 唯一能识别的 Agent 格式。
顶部 —— YAML 配置区
---
# 智能体基本信息(必填)
name: xiu-agent # 智能体名字
description: 做什么用 # 描述(主agent会自动匹配)
model: sonnet # 模型可选 sonnet / opus / haiku
# 工具权限(官方支持列表)
tools:[Read, Write, Edit] #支持的工具
# 上下文与行为控制
maxTurns: 30 # 最大对话轮数
temperature: 0.1 # 温度 0-1 越大越确定
contextWindow: long #上下文窗口-记忆长度(short, medium, long)
enableMultiTurn: true #是否允许多轮交互 true是 false一次就退出
autoApprove: false #自动执行
role: xiu-normal #定义一个角色(标签),没实际作用,只用于管理
# 允许操作的文件范围(可选)
include:
- "src/**/*.java"
- "src/main/resources/**/*.yml"
- "pom.xml"
- "build.gradle"
# 禁止操作的文件(可选)
exclude:
- "node_modules/**/*"
- "target/**/*"
- ".git/**/*"
---
下部 —普通 Markdown 提示词
你是一个专业后端工程师,擅长Java、Spring Boot。
你的任务是:
- 分析代码
- 写出高质量接口
- 保证健壮性
简单示例
---
name: java-expert
description: 专门处理Java后端代码
tools: [Read, Write, Edit]
model: sonnet
---
你是一位资深Java后端专家,擅长Spring Boot、微服务、代码优化。
你输出清晰、简洁、可运行的代码。
3.2.创建方式
1. CLI 临时创建(仅当前会话,用完即销毁)
启动 Claude Code 时用 --agents 传 JSON:
claude --agents '{
"test-writer": {
"description": "临时写测试用",
"prompt": "你是测试专家,写 JUnit 5 单元测试",
"tools": ["Read", "Write", "Edit"],
"model": "sonnet"
}
}'
特点:仅当前会话有效,不落地文件,适合一次性任务 / CI 场景。
2. 交互形式创建
执行 /agents
选择 Create new agent
选作用域:
- Project-level:仅当前项目可用(
.claude/agents/)- User-level:所有项目可用(
~/.claude/agents/)输入 Agent 名称
description: 什么时候用它、做什么
选模型:
sonnet(平衡)/opus(强推理)/haiku(快、便宜)选工具权限:如
Read、Write、Edit、Bash、Grep、Glob保存 → Claude 自动生成完整 Agent 文件
3. 手动写文件(最可控,适合批量 / 版本管理)
直接在项目或用户目录新建 .md 文件:
- 项目级:
your-project/.claude/agents/[name].md - 用户级:
~/.claude/agents/[name].md
---
name: test-writer
description: 专门写单元测试,覆盖正常/异常/边界用例
tools: Read, Write, Edit, Grep
model: sonnet
maxTurns: 20
---
你是专业的测试工程师,擅长为 Java/Spring Boot 代码写全面的单元测试。
职责:
- 分析给定类/接口
- 写 JUnit 5 + Mockito 测试
- 覆盖正常、异常、边界情况
- 输出可直接运行的代码
保存后立刻生效,无需重启 Claude Code。如果没有建议重启一下

如何触发使用
-
自动触发(默认):主 Agent 看到任务匹配 Agent 的
description,会自动调用 -
手动触发:
-
官方版 Claude → 能用
/agent和@ -
非官方 / 国产模型 / 私有化部署 → 只能用
@/agent java-backend-specialist 帮我生成一个OrderService 订单服务类 @agent java-backend-specialist 帮我生成一个OrderService 订单服务类 /agent test-writer 帮我给 OrderService 写单元测试 @agent test-writer 帮我给 OrderService 写单元测试

3.3.常用agent获取
| 项目名称 | GitHub 地址 | 核心定位 | agents位置 |
|---|---|---|---|
| everything-claude-code | https://github.com/affaan-m/everything-claude-code/ | 全能型 Agent 合集 | 项目的agents目录下有很多agent可以 |
| awesome-claude-agents | https://github.com/rahulvrane/awesome-claude-agents | 最全 Agent 索引库 | 里面的readme.md中有各种agent对应的位置 |
| awesome-cli-coding-agents | bradAGI/awesome-cli-coding-agents | CLI 编程专用 Agent | 所有CLI模式的编程工具(每一个更像是Claude Code 模型) |
使用
我自己找了一个coder-reviewer的agent如下:

claude code 有自己的coder-reviewer agent ,如果不显示指明用具体的agent去做代码检查,则claude Code 默认使用内置的coder-reviewer。解决方式如下
如果您已经创建了 code-reviewer.md 文件,可以:
放入 memory 目录:将文件放在 memory 目录,claude code会自动读取
提供文件路径:告诉我文件的具体位置,claude code可以读取它
@coder-reviewer 帮我coder-reviewer 代码。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)