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说:

帮我:

  1. 找出所有 OrderController 中涉及订单创建的接口;
  2. 分析 UserService 里的用户登录逻辑;
  3. 统计项目中所有 @Transactional 注解的使用情况。

主 Agent 任务拆分与委派 分成三个sub agent,这三个任务互相独立同时启动和执行,子任务完成返回压缩结果。

在这里插入图片描述

Claude code sub agents 默认是开启的,主agent会根据需求动态的创建sub-agents

2.2.agent-teams 智能体

你对主 Agent(Team Lead)说:

帮我完成订单模块的前后端开发:

  1. 后端实现订单创建接口;
  2. 前端对接订单接口并完成页面;
  3. 为接口编写单元测试。”
  • 主 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. 交互形式创建

  1. 执行 /agents

  2. 选择 Create new agent

  3. 选作用域:

    • Project-level:仅当前项目可用(.claude/agents/
    • User-level:所有项目可用(~/.claude/agents/
  4. 输入 Agent 名称

  5. description: 什么时候用它、做什么

  6. 选模型:sonnet(平衡)/ opus(强推理)/ haiku(快、便宜)

  7. 选工具权限:如 ReadWriteEditBashGrepGlob

  8. 保存 → 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 文件,可以:

  1. 放入 memory 目录:将文件放在 memory 目录,claude code会自动读取

  2. 提供文件路径:告诉我文件的具体位置,claude code可以读取它

  3. @coder-reviewer 帮我coder-reviewer 代码。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐