编排模式技能Skill orchestration-patterns

此技能提供了一套代理编排模式,用于管理长运行任务,通过迭代代理循环和证据交付来确保任务的成功执行。适用于多步工作流协调、PR工作流程管理和自动化交付。关键词:编排模式,代理循环,证据交付,工作流协调,长运行任务,软件开发,DevOps。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

name: orchestration-patterns description: 用于长运行任务的代理编排模式。实现基于证据的交付和迭代代理循环。在管理多步工作、协调工作流或编排PR工作流时使用。

编排模式技能

目的

为协调复杂、长运行任务而制定基于证据的交付和迭代代理循环。这些模式确保可验证的进度和智能升级。

当此技能适用时

  • 编排多步实施任务
  • 管理跨多步的工作
  • 运行需要检查点的长运行会话
  • 准备合并PR(强制QA门)
  • 协调团队交接

代理循环

核心理念: “迭代直到成功或阻塞,然后升级。”

┌─────────────────────────────────────────────────────────┐
│  代理循环(针对每个任务)                               │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. 目标定义                                           │
│     └─ 清晰的验收标准(来自规范/工单)                  │
│                                                         │
│  2. 模式发现                                           │
│     └─ 搜索代码库、文档、先前会话                       │
│     └─ 使用:模式发现技能(自动调用)                   │
│     └─ 或:/search-pattern 进行显式代码搜索              │
│                                                         │
│  3. 迭代执行循环:                                     │
│     ┌─────────────────────────────────────────────┐     │
│     │  实施方法                                   │     │
│     │       ↓                                     │     │
│     │  运行验证(yarn ci:validate)               │     │
│     │       ↓                                     │     │
│     │  如果通过 → 继续到证据                       │     │
│     │  如果失败 → 分析错误,调整,重复              │     │
│     │  如果阻塞 → 使用上下文升级                   │     │
│     └─────────────────────────────────────────────┘     │
│                                                         │
│  4. 证据附加                                           │
│     └─ 将证明附加到Linear(见下方模板)                 │
│                                                         │
│  5. QA门(合并前强制)                                  │
│     └─ PR的独立审核                                    │
│                                                         │
└─────────────────────────────────────────────────────────┘

基于证据的交付

核心原则: “所有工作都需要可验证的证据 – 没有‘相信我,它有效’”

证据类型

类型 证明什么 示例
测试结果 代码按预期工作 yarn ci:validate 输出
截图 UI更改正确 前后对比
命令输出 操作完成 构建日志,迁移日志
QA报告 独立验证 QA验证Markdown
会话ID 完整审计轨迹可用 会话引用

阶段证据要求

阶段 所需证据 Linear模板
开发 测试结果,命令输出 开发证据模板
测试环境 用户验收测试或N/A + 原因 测试环境模板
完成 QA报告,合并确认 完成证据模板

合并前QA门

强制: 在合并任何PR之前,执行独立审核。

为什么QA门重要

  1. 关注点分离: QA验证但不编写产品代码
  2. 独立验证: 捕捉实施者遗漏的内容
  3. 偏见预防: 对提交信息、模式有新的视角
  4. Linear中的证据: QA将最终证据 + 裁决发布到Linear(记录系统)

QA审核清单

## QA审核 - PR #XXX 对应 {{TICKET_PREFIX}}-YYY

### 提交信息验证
- [ ] 主题行中有工单引用
- [ ] 正确格式:`type(scope): description [{{TICKET_PREFIX}}-XXX]`

### 代码模式验证
- [ ] 使用RLS上下文助手(无直接Prisma)
- [ ] 遵循命名约定
- [ ] 文件结构匹配模式

### CI状态
- [ ] 所有检查通过
- [ ] 无新增lint警告

### 证据验证
- [ ] 开发证据附加到Linear
- [ ] 验收标准已处理

### 裁决
- [ ] 批准合并
- [ ] 要求更改(下方列出)

QA输出位置

所有QA报告发送到: docs/agent-outputs/qa-validations/{{TICKET_PREFIX}}-{number}-qa-validation.md

升级模式

何时升级

条件 升级到 包含内容
阻塞超过4小时 TDM 完整上下文,尝试过的方法
架构不明确 ARCHitect 选项,权衡
跨团队依赖 TDM 哪些团队,什么被阻塞
安全问题 SecEng 具体风险,证据

升级模板

**需要升级**

**阻塞于**: [具体阻塞项]
**尝试过的方法**:

1. [你尝试了什么]
2. [你尝试了什么]

**上下文**:

- 工单: {{TICKET_PREFIX}}-XXX
- 会话ID: [如果可用]
- 阻塞时间: X小时

**请求**: [具体需求 – 你需要什么?]

长运行任务检查点

对于跨越多个步骤或会话的任务:

检查点模式

每10-15步骤:
1. 更新进度与当前状态
2. 如果接近限制,总结状态
3. 如果需要交接,提供继续上下文

在会话边界:
1. 总结已完成的工作
2. 列出剩余项目
3. 记录任何阻塞
4. 将证据附加到Linear

状态保存

**会话检查点**

**已完成**:

- [x] 任务1
- [x] 任务2

**进行中**:

- [ ] 任务3(在步骤X)

**剩余**:

- [ ] 任务4
- [ ] 任务5

**阻塞**: [如果有]

**下一步动作**: [具体下一步]

编排工作流示例

# 功能实施的完整工作流:

1. /start-work {{TICKET_PREFIX}}-XXX
   └─ 同步到主分支,创建分支,设置上下文

2. 模式发现(技能自动调用或使用 /search-pattern)
   └─ 在实施前找到相关模式

3. [使用代理循环实施]
   ├─ 实施
   ├─ 验证(yarn ci:validate)
   ├─ 根据需要调整
   └─ 重复直到通过

4. /pre-pr
   └─ 完整验证清单

5. 创建PR并附带证据

6. [QA门 – 强制]
   └─ 执行QA审核
   └─ 修复任何阻塞问题
   └─ 提交QA报告

7. 合并(仅QA批准后)

8. /end-work
   └─ 更新Linear,清理

参考

  • AGENT_WORKFLOW_SOP.md: 完整代理工作流文档
  • CONTRIBUTING.md: 工作流要求
  • linear-sop skill: Linear的证据模板

要避免的反模式

反模式 为什么不好 替代做法
跳过QA审核 遗漏提交信息问题 始终执行合并前QA审核
Linear中无证据 无审计轨迹 每个阶段附加证据
忽略CI失败 损坏代码进入主分支 在代理循环中修复,不跳过
不检查强制推送 可能丢失团队成员更改 使用 --force-with-lease
阻塞时继续 浪费时间,无进展 使用上下文升级