docs: mintlify 文档撰写

This commit is contained in:
claude-code-best
2026-04-01 09:16:41 +08:00
parent 722d59b6d5
commit f6fe94463e
27 changed files with 1542 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
---
title: "协调者与蜂群"
description: "从单兵作战到团队协作——多 Agent 的高级编排模式"
---
{/* 本章目标:介绍 Coordinator Mode 和 Agent Swarms */}
## 两种协作模式
子 Agent 是"临时帮手"——主 Agent 派出去做一件事就回来。对于更复杂的协作需求Claude Code 提供了两种高级模式:
## Coordinator Mode一个指挥多个执行
就像一个团队 leader 带着几个开发者:
- **Coordinator**(协调者):负责理解需求、拆解任务、分配工作、汇总结果
- **Workers**(执行者):各自领取任务独立执行,通过邮箱向 Coordinator 汇报
```
┌─── Worker A (重构 API)
Coordinator ──┼─── Worker B (更新测试)
└─── Worker C (更新文档)
```
Coordinator 不自己写代码,它的职责是**编排**——确保所有 Worker 的工作能拼合在一起。
## Agent Swarms蜂群式协作
比 Coordinator 更松散的协作模式:
- 多个 Agent 以对等身份同时工作
- 没有中心化的指挥者
- 通过消息邮箱互相通信和协调
- 适合"各自负责一块、偶尔需要沟通"的场景
## Teammate 机制
进程内的"队友"——一种更轻量的协作方式:
- 在同一个进程内运行,共享部分基础设施状态
- 有独立的对话上下文和工具权限
- 适合"我需要一个搭档帮忙看看这段代码"的场景
## 任务类型
支撑多 Agent 协作的是丰富的任务类型:
| 任务类型 | 用途 |
|----------|------|
| **LocalAgentTask** | 本地子 Agent 任务 |
| **LocalShellTask** | 后台 shell 命令 |
| **InProcessTeammateTask** | 进程内队友 |
| **RemoteAgentTask** | 远程 Agent |
| **DreamTask** | 后台自主任务 |
每种任务类型都有自己的生命周期管理、状态追踪和通信方式。

69
docs/agent/sub-agents.mdx Normal file
View File

@@ -0,0 +1,69 @@
---
title: "子 Agent分身术"
description: "当一个 AI 不够用时,它会召唤更多的自己"
---
{/* 本章目标:解释子 Agent 机制的设计和应用场景 */}
## 为什么需要子 Agent
有些任务太大,一个 AI 实例忙不过来:
- "在 5 个不同的文件中分别找到并修复同类 bug"
- "一边重构后端 API一边更新前端调用"
- "研究这个库的用法,同时修改我们的代码"
## 分身术的运作方式
Claude Code 中的 Agent 工具让 AI 能够**启动另一个 AI 实例**来处理子任务:
<Steps>
<Step title="主 Agent 分析任务">
主 Agent 判断任务可以被拆解为独立的子任务
</Step>
<Step title="启动子 Agent">
通过 Agent 工具创建一个或多个子 Agent每个子 Agent 收到一个清晰的子任务描述
</Step>
<Step title="并行执行">
多个子 Agent 可以同时工作,互不干扰
</Step>
<Step title="结果汇总">
子 Agent 完成后,结果返回给主 Agent主 Agent 汇总并呈现给用户
</Step>
</Steps>
## 子 Agent 的边界
子 Agent 不是和主 Agent 完全一样的——它有明确的能力边界:
| 特性 | 主 Agent | 子 Agent |
|------|---------|---------|
| 可用工具 | 全部工具 | 受限子集(不能再启动子 Agent 等) |
| 上下文 | 完整的会话历史 | 只有主 Agent 给的任务描述 |
| 权限 | 用户设定 | 继承主 Agent 的权限,或更严格 |
| 状态 | 可修改全局状态 | 隔离的状态空间 |
## 通信方式
主 Agent 和子 Agent 之间通过**消息邮箱**通信:
- 主 Agent 通过 `Agent` 工具启动子 Agent
- 子 Agent 通过 `SendMessage` 工具向主 Agent 报告进度
- 这种松耦合的通信方式让 Agent 可以异步协作
## 适用场景
<CardGroup cols={2}>
<Card title="并行研究" icon="magnifying-glass">
多个子 Agent 同时搜索不同方向的信息
</Card>
<Card title="分治修改" icon="code-branch">
把大规模修改拆分到多个子 Agent 并行执行
</Card>
<Card title="前后台配合" icon="layer-group">
一个子 Agent 在后台运行测试,主 Agent 继续写代码
</Card>
<Card title="隔离实验" icon="flask">
在 worktree 中启动子 Agent 尝试一个方案,不影响主分支
</Card>
</CardGroup>

View File

@@ -0,0 +1,55 @@
---
title: "Worktree 隔离"
description: "给子 Agent 一个独立的工作空间,互不污染"
---
{/* 本章目标:解释 git worktree 在多 Agent 协作中的作用 */}
## 问题:多个 Agent 改同一份代码
当多个 Agent 同时修改项目文件时,冲突在所难免:
- Agent A 修改了 `config.ts`Agent B 也在改同一个文件
- Agent A 的测试需要某个状态Agent B 的修改破坏了它
- 半完成的修改混在一起,无法分辨哪些是哪个 Agent 做的
## 解决方案Git Worktree
Git 原生支持 **worktree**(工作树)——在同一个仓库中创建多个独立的工作目录,每个目录在自己的分支上独立工作。
Claude Code 利用这个特性为子 Agent 提供隔离的工作空间:
| | 共享工作目录 | Worktree 隔离 |
|---|---|---|
| 文件冲突 | 多个 Agent 可能互相覆盖 | 每个 Agent 在自己的目录中工作 |
| 分支 | 都在同一个分支上 | 每个 Agent 有自己的分支 |
| 测试 | 互相干扰 | 完全独立 |
| 合并 | 需要手动处理冲突 | 通过 git merge 有序合并 |
## 工作流程
<Steps>
<Step title="创建 Worktree">
AI 启动带隔离模式的子 Agent系统自动在 `.claude/worktrees/` 下创建新的工作目录
</Step>
<Step title="独立工作">
子 Agent 在自己的 worktree 中自由修改文件、执行命令
</Step>
<Step title="完成任务">
子 Agent 完成后,变更留在 worktree 的分支上
</Step>
<Step title="合并或丢弃">
主 Agent或用户决定合并这些变更到主分支还是丢弃
</Step>
<Step title="清理">
不再需要的 worktree 会被自动清理
</Step>
</Steps>
## 安全网
Worktree 还充当了一个安全网:
- 子 Agent 的实验性修改不会影响主分支
- 如果方案不可行,整个 worktree 可以直接丢弃
- 多个方案可以在不同 worktree 中并行尝试,最后选最好的