代理管道执行Skill pipeline

此技能实现了一个管道模式,用于自动化执行顺序AI代理链,每个阶段接收前阶段的输出作为上下文,适用于研究、实现和调试等工作流。关键词:管道模式、顺序代理链、上下文传递、AI智能体、工作流自动化。

AI智能体 0 次安装 0 次浏览 更新于 3/18/2026

名称: 管道 描述: 具有上下文传递的顺序代理链。连续运行代理,每个阶段接收前阶段的输出。 参数提示: “<预设> | 代理1 -> 代理2 ‘任务’” 允许工具: Read, Write, Edit, Grep, Glob, Bash, Task, TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskList, TaskUpdate, TaskGet

管道模式

顺序代理链,每个阶段的输出传递给下一个。

管道请求

$ARGUMENTS


参数

参数 描述
<预设> 内置管道: review, implement, debug
代理1 -> 代理2 '任务' 自定义管道,指定代理链
代理:模型 -> 代理:模型 自定义管道,每个阶段覆盖模型

内置预设

预设 使用场景
review explore -> leviathan -> kraken 研究、审查、然后修复
implement explore -> kraken 研究然后实现
debug explore -> build-fixer 研究然后修复构建错误

工作流程

步骤 1: 解析管道

解析 $ARGUMENTS 以确定管道阶段。

如果是预设名称: 从上方预设表中映射到内置链。

如果是自定义链: 解析 代理1 -> 代理2 -> 代理3 "任务描述" 格式。

  • 每个阶段由 -> 分隔
  • 可选模型覆盖使用 : 后缀(例如 explore:haiku
  • 任务描述是末尾的引用字符串,或最后一个代理后的所有剩余文本

每个代理的默认模型:

  • explore: haiku
  • oracle: sonnet
  • leviathan: sonnet
  • kraken: sonnet
  • spark: sonnet
  • build-fixer: sonnet
  • critic: sonnet

步骤 2: 创建团队

TeamCreate("pipeline-team")

步骤 3: 初始化管道状态

创建管道状态文件:

Write(".maestro/handoff/pipeline-{timestamp}.json", {
  "type": "pipeline",
  "stages": [
    { "agent": "agent1", "model": "model1", "status": "pending", "output": null },
    { "agent": "agent2", "model": "model2", "status": "pending", "output": null }
  ],
  "task": "the task description",
  "started_at": "ISO timestamp",
  "current_stage": 0
})

步骤 4: 顺序执行阶段

对于每个按顺序的阶段:

  1. 构建上下文 从所有前阶段:

    ## 管道上下文
    
    ### 阶段 1: explore (已完成)
    {阶段 1 的输出}
    
    ### 阶段 2: leviathan (已完成)
    {阶段 2 的输出}
    
    ### 当前阶段: kraken
    {原始任务描述}
    
  2. 为当前阶段代理创建任务:

    TaskCreate({
      subject: "管道阶段 {N}: {代理} - {任务}",
      description: "## 管道阶段 {N}
    
    

{前阶段上下文}

任务

{任务描述}" })


3. **以适当模型生成代理** 作为队友:

Task(agent: “{代理}”, model: “{模型}”, prompt: “执行分配的任务。阅读任务描述以获取完整上下文,包括前管道阶段的输出。”)


4. **等待完成**: 通过 `TaskGet` 监控,直到任务状态为 `completed`。

5. **捕获输出**: 读取代理修改或创建的文件。更新管道状态文件以包含阶段输出。

6. **更新状态**: 标记当前阶段为已完成,推进 `current_stage`。

### 步骤 5: 最终化

所有阶段完成后:

1. **摘要**: 报告每个阶段的产出
2. **清理**: 调用 `TeamDelete(reason: "管道完成")`。如果失败,回退到: `rm -rf ~/.claude/teams/pipeline-{id} ~/.claude/tasks/pipeline-{id}`
3. **归档状态**: 管道状态文件保留在 `.maestro/handoff/` 中用于会话恢复

## 错误处理

- 如果一个阶段失败(代理报告错误或任务保持进行中状态过久),在管道状态中记录错误并停止管道
- 报告哪个阶段失败以及错误上下文
- 失败后不要继续到后续阶段
- 用户可以检查管道状态文件并从失败阶段重新运行

## 约束

- 每个管道最多 5 个阶段
- 每个阶段运行一个代理(无并行阶段——使用 /work 进行并行执行)
- 管道状态持久化用于崩溃恢复
- 只读代理(explore, oracle, leviathan)应在链早期
- 写代理(kraken, spark, build-fixer)应在链晚期