闲社服务运行正常AI智能体自动化平台
d

文档编排器

技能标识:doc-orchestrator

Orchestrate multi-chapter document generation using sub-agents. Use when producing long structured documents (PRDs, technical specs, research reports, design docs, worldbuilding) that exceed single-agent context limits. Handles dependency analysis, contract-first decomposition, serial/parallel scheduling, file isolation, state persistence, and consistency validation.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 2.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

文档编排器

Doc Orchestrator

通过协调子智能体,采用先契约后串行再并行的策略和持久化编排状态,生成长篇、多章节文档。

适用场景

  • - 文档包含 3个及以上章节/小节,且存在交叉引用
  • 预期总输出 > 500行
  • 多个章节共享定义(名称、枚举、常量、数值)

核心原则

  1. 1. 契约优先 — 在委派任务前,先定义所有共享定义
  2. 文件隔离 — 每个子智能体写入自己的文件;主智能体负责合并
  3. 状态持久化 — 将编排状态写入JSON,确保上下文压缩不会破坏工作流程

工作流程

阶段一 — 分析依赖关系

构建依赖关系图。对每一对章节询问:章节B是否需要章节A的输出?

分类:

  • - 契约 — 定义共享值(由主智能体直接编写)
  • 串行 — 存在上游依赖(在依赖完成后生成)
  • 并行 — 无未解决的依赖(可同时运行)

优化:如果多个章节仅依赖契约,它们可以并行运行。

阶段二 — 初始化状态文件

创建 {task-dir}/{TASK-ID}-orchestration.json:

json
{
document: 文档标题,
contract_file: TASK-XXX-contract.md,
final_file: TASK-XXX-final.md,
chapters: {
ch1: {title: 概述, status: done, file: TASK-XXX-contract.md, deps: []},
ch2: {title: 角色, status: pending, file: TASK-XXX-ch2.md, deps: [ch1]},
ch3: {title: 能力, status: pending, file: TASK-XXX-ch3.md, deps: [ch1]},
ch4: {title: 阵营, status: pending, file: TASK-XXX-ch4.md, deps: [ch1, ch2]}
}
}

状态值:pending | running | done | failed

每次状态变更后更新此文件。 在上下文压缩后,读取此文件以恢复完整状态。

阶段三 — 编写契约

主智能体直接编写所有契约章节。包含一个全局约定表格:

markdown

全局约定
项目数值引用方
评分范围1-5整数ch5 API, ch6

这是唯一的权威来源。

阶段四 — 执行(串行 + 并行)

对于所有依赖状态均为 done 的每个章节:

  1. 1. 更新状态:status: running
  2. 使用提示模板生成子智能体(见下文)
  3. 完成后:将状态更新为 done;检查哪些新章节已解除阻塞
  4. 失败时:将状态更新为 failed;决定重试或由主智能体回退

并行生成所有已解除阻塞的章节。等待串行依赖。

在上下文压缩后: 读取编排JSON以恢复状态,然后继续。

阶段五 — 合并与验证

按章节顺序拼接文件。合并过程中:

  1. 1. 去除重复的文档标题 — 子智能体经常重复顶层的 # 文档标题。除契约文件中的标题外,删除所有其他出现:
bash # 合并时删除重复的H1标题(仅保留契约中的) cat contract.md > final.md for f in ch2.md ch3.md ... ; do sed /^# 文档标题$/d $f >> final.md done
  1. 2. 运行一致性检查:
bash grep -n conflicting_value final.md grep -o [a-z_]* final.md | sort | uniq
  1. 3. 在交付前修复所有问题。

子智能体提示模板

任务:为[文档名称]编写[章节标题]

首先阅读: path/to/contract.md
注意全局约定表格(章节X.X)。

写入位置: path/to/output-chN.md(新文件,请勿修改其他文件)

重要的格式规则:

  • - 不要包含文档标题(# 文档标题)——它只属于契约文件
  • 直接从章节标题开始你的文件(## 第N章:标题)
  • 不要重复契约中的定义;引用它们即可

内容要求:

[章节特定要求]

约束条件(必须与契约一致):

  • - [约束条件1]
  • [约束条件2]

反模式

不要做应该做
依赖上下文记忆来管理编排状态将状态持久化到JSON文件
让子智能体写入同一文件
每个子智能体写入自己的文件;主智能体合并 | | 在提示中跳过格式规则 | 明确说明不要包含文档标题,以##章节标题开头 | | 假设子智能体不会触发内容过滤器 | 设置回退:主智能体直接编写敏感章节 | | 合并后跳过一致性检查 | 始终使用grep检查已知冲突模式 | | 使用更大的模型强行生成长输出 | 更小的模型 + 更小的任务 > 更大的模型 + 巨大的任务 | | 循环轮询子智能体 | 使用推送式完成(自动通知) |

决策流程图

收到文档请求
|
+-- 预期少于500行? --> 直接编写(无需编排)
|
+-- 500-1500行,无交叉引用? --> 简单并行(每个章节一个文件)
|
+-- 超过500行且有交叉引用?
|
1. 分析依赖关系图
2. 创建编排状态JSON
3. 主智能体编写契约章节
4. 依赖章节的串行链
5. 独立章节的并行爆发
6. 合并 + 去除重复标题 + 验证
7. 交付

实际使用经验

测试1:产品需求文档(9个章节,技术类)
指标朴素并行(v1)契约优先(v2)
输出1,405行3,055行
一致性
评分1-5与1-10冲突 | 零冲突 |

| 文件完整性 | 章节被覆盖 | 全部保留 | | 返工 | 4个章节重写 | 无 |

测试2:世界观构建圣经(7个章节,创意写作)
指标结果
输出2,170行
一致性
零冲突(名称、阵营、能力全部匹配) |

| 遇到的问题 | 内容过滤器两次阻止ch5;ch6输出了错误的章节内容 | | 恢复 | 主智能体直接编写ch5;ch6重试成功 | | 重复标题 | 6个子智能体文件中有4个重复了文档标题(合并时修复) |

关键经验

  • - 内容过滤器:敏感主题(战争、冲突)可能触发子智能体中的模型安全过滤器。回退方案:主智能体编写这些章节,或使用更温和的语言重新表述
  • 错误输出:子智能体偶尔会输出错误章节的内容。始终验证文件内容,而不仅仅是文件是否存在
  • 标题重复:子智能体会从契约文件中复制文档标题。提示模板现已明确禁止此行为;合并步骤作为安全网去除重复标题

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 doc-orchestrator-1776276585 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 doc-orchestrator-1776276585 技能

通过命令行安装

skillhub install doc-orchestrator-1776276585

下载

⬇ 下载 doc-orchestrator v2.0.0(免费)

文件大小: 3.59 KB | 发布时间: 2026-4-16 16:52

v2.0.0 最新 2026-4-16 16:52
v2: JSON state persistence, duplicate title dedup in merge, anti-pattern guide. Validated on PRD + creative writing (2,170 lines, zero conflicts).
返回顶部