agent-Specialization/agentskills/workflow-authoring/references/nodes.md

99 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 节点详解(五种 kind
工作流拓扑为**串行**(无并行语义)。所有路由必须显式连接——`next` 留空会导致保存校验失败;任何路由不能指向 start 节点。
## start入口恰好 1 个)
```yaml
- id: start-1
kind: start
name: 开始
next: explore # 必填:第一个节点的 id
```
## end终点至少 1 个)
```yaml
- id: end-1
kind: end
name: 结束
```
`next`。流程推进到 end 即完成,执行者收到「输出总结后结束」的指令。可以有多个 end不同路径收束到各自终点
## stage执行阶段
```yaml
- id: explore
kind: stage
name: 代码探索
goal: 理解改动范围,产出影响面清单
instructions: 先读 git diff 总览,再按模块深入;禁止通读整文件。
next: verify-gate # 必填:可指向 stage/review/branch/end
```
- 阶段内执行者**完全自主**:自由调用工具、跑命令、读写文件;拓扑不约束阶段内行为
- `goal` 一句话目标;`instructions` 具体要求——两者在激活与每次推进时**全文呈现**给执行者,写关键约束,控制长度
- 审核节点把关时,`goal`/`instructions` 是「这个阶段应该做到什么」的标尺,写可检查的要求
- `max_stage_rounds` 限制单阶段轮数;撞限不中断流程,执行者会停下来向用户确认是否继续
## review审核节点
```yaml
- id: verify-gate
kind: review
name: 验证审核
prompt: 验证证据是否真实可复现:构建与测试输出必须实际运行过
next: document # 必填:通过后的去向
reject_to: explore # 必填:驳回后回到哪里整改
max_rejects: 3 # 连续驳回上限,默认 3必须 ≥ 1
```
- **瞬态节点**:阶段汇报到达时同步完成审核,通过/驳回立即走到下一站,流程不会在 review 上停留
- `prompt` 是写给审核者的**关注点**(重点查什么),不是流程描述;审核者能看到阶段执行痕迹与执行者的汇报
- 连续驳回达到 `max_rejects`,整个工作流以 failed 终止
- 审核服务异常按驳回处理(计入驳回计数)
- 想要「结束前总审核」:在 end 前显式放一个 review 节点,终点没有隐藏审核
## branch分支 / 并线器)
```yaml
# 多出线 = AI 决策点
- id: strategy
kind: branch
name: 策略选择
next:
- target: prototype
condition: 方案不确定或风险高,先低成本验证
- target: full-impl
condition: 需求明确、改动范围清晰,直接正式实现
# 单出线 = 并线器(自动穿过)
- id: merge
kind: branch
name: 汇总
next:
- target: verify-gate
condition: ''
```
- **多出线**:流程推进到此停下,执行者根据各出线的 `condition` 自主选择一条路径。`condition` 必填,是写给 AI 的决策依据——条件间互斥、可判断、覆盖常见情形
- **单出线**:并线器,自动穿过不做决策,`condition` 留空;典型用途是多条路径汇合后统一进 review 或 end
- 分支可以指向分支(连续决策),也可以回指形成循环(配合 review 驳回实现整改闭环)
## 通用字段说明
| 字段 | 说明 |
|---|---|
| `id` | 节点唯一标识(路由引用用它),建议 kebab-case |
| `name` | 显示名(进度展示用),可中文 |
| `kind` | 五种之一,缺省会按 stage 解析但应始终显式写 |
| `position` | 画布坐标,仅可视化编辑器使用;手写可省略,编辑器打开时会自动排版 |
## 语义速记(影响拓扑设计)
- 流程推进是「汇报驱动」:执行者完成当前阶段后主动汇报,引擎按当前阶段的 `next` 走向下一站
- review 驳回形成「整改循环」:`reject_to` 指回能真正整改的阶段(不一定是紧邻前一站)
- 已激活的运行实例按激活时的文档版本执行;修改文档后需重新激活才生效
- 工作流是执行者的辅助流程而非宿主:运行期间用户可自由穿插讨论,也可随时退出