多 Agent 任务拆分
把已确认需求转为本地任务包,为每个会话命名,按全自动、半自动或人工模式安排执行,为每个会话显式选择模型资源与速度,用 Mermaid 流程图展示顺序,并在最终回复中逐条给出可独立复制的简短提示词。任务卡、会话流程图、逐会话模型绑定、对话中的启动提示词和独立 HTML 进度面板都是必交付内容。 默认使用中文,遵循用户指定语言与项目规范。
触发与授权
- 仅在用户明确调用本 Skill 时执行。 普通需求讨论、材料中的名称或引用不触发。等待中的需求补充属于同一次调用;任务包交付后结束这次生成工作。
- 调用本 Skill 默认只授权读取、拆分及写入任务包;选择执行模式本身不启动产品工作。用户发送生成的 Main 启动提示词或另行明确要求开始执行后,Main 才按选定模式及授权范围调度。生成任务卡、启动 Main、实际执行分别报告。
- 不写入个人记忆;不改变其他 Skill、项目规范或审批政策。
1. 检查需求是否可执行
利用当前对话已确认内容及用户指定资料,按需只读检查仓库。读取适用的 AGENTS.md、任务/Issue、需求与相关 ADR;检查目标仓库分支及工作区,保留已有改动。项目事实应从本轮资料确认,不能用聊天自述替代实现或验收证据。
按任务实际影响确认:目标和非目标、可观察验收条件、目标仓库与修改边界、外部接口/数据行为、前置依赖、适用风险与授权、可用测试方式。不要要求每项任务填满不适用字段。
将缺口分成三类:
- 需求决定缺失:行为、范围、接口承诺、数据处理或验收口径需要用户决定。列出「缺少什么 → 影响什么 → 需要决定什么」,集中询问必要问题,等待补齐;此时不进入正式拆分、不生成带假定结论的任务卡。
- 可查明的技术事实:先查现有接口、目录、测试和规范,不转交用户填写。
- Worker 可决定的局部实现:保留选择空间,不因函数命名、内部结构等细节阻止拆分。
测试环境未就绪与需求未明确分别记录。已知的执行前置条件可写入任务卡,不能伪称可立即启动;未知且影响设计/验收的环境约束须先澄清。补充回答后只复核受影响内容,不重复询问已确认决定。
2. 拆成可独立交付的任务
读 任务包约定 和 模型资源与速度策略。用这些约定实例化 总卡、Main 卡、Worker 卡、Reviewer 卡 和 短提示词。
- 为需求分配稳定编号并映射到验收与叶子任务。叶子任务是一个 Worker 能实现、测试、交付并接受独立审查的结果;编码步骤放在卡内,不把每个函数或测试步骤拆成会话。
- 每个叶子任务写清输入、输出、允许修改范围、依赖的可用条件、具体验收与证据、修复/审查/交接边界。通常对应一个逻辑 PR,服从项目已有任务粒度。
- 按契约、提供方、消费方和集成关系排列依赖。存在共同写入文件或共享可变环境时安排顺序或单一写入者。只有无未满足依赖且写入范围不冲突的任务进入同一并行批次。
- 默认最多安排 2~4 个 Worker 并行,按实际独立任务数和环境容量减少;不为凑数量拆任务。每个 Worker 对应独立分支、worktree、session。
- Main 管理规划、状态和集成;Worker 包含本任务的修复;Reviewer 独立检查和复审;集成中的语义修复交给 Worker。AI 技术结论、项目要求的人类批准、合并和发布分别记录。
- 每个会话使用「Task ID · 角色 · 具体工作内容」这样的明确名称,例如
M0-03-01 · Worker · 导入 API 实现。Main、每个 Worker 和每个 Reviewer 都有唯一名称;修复、复审和集成续接原会话。名称、角色、卡片入口与所属阶段统一登记到总卡。 - 读取 执行模式约定,落实全自动、半自动或人工模式。优先沿用用户已明确选择;未指定时沿用人工模式并说明。仅在任务较多或跨多个依赖批次时主动建议半自动,让用户选择;不擅自切换,也不为小任务反复询问。若用户直接指定半自动,无论规模均遵从。
- 将
execution_mode、resource_profile和speed_policy作为三个独立选择。资源档位支持fixed-main、economy、balanced、assured、maximum;速度支持standard、critical-path、fast-all。优先使用用户明确选择,未指定资源/速度时使用balanced + standard并说明;fast-all只能由用户明确选择。执行模式不决定模型或 Fast,模型档位也不自动改变执行模式或速度。 - 从当前宿主能力建立带来源和检查时间的模型目录快照,为 Main、每个 Worker 和每个 Reviewer 选择准确的
provider、model、reasoning_effort和service_tier,同时登记选择理由、有序回退、升级触发条件及有限次数。不得省略模型参数以继承 Main;第三方提供方和 Fast 只按当前接口明确支持的能力规划。目录不可见时按模型策略标记阻塞,禁止在准确绑定前派工。 - 按真实 Task ID 和会话名称生成 Mermaid
flowchart TD,展示启动顺序、可并行分支、前置条件汇合及修复/复审回路。标清新建或续接会话;同一 Main 在规划和集成阶段重复出现时仍是同一会话。流程图写入总任务卡,并在最终回复中展示同内容副本;规则见任务包约定。 - 实例化流程图时将总卡模板中的
TEMPLATE预览节点整行替换为具体 Mermaid 语句;最终任务包和回复不得保留该节点或未展开模板变量。可用 Mermaid 渲染器存在时实际渲染校验,不能只检查代码围栏。
3. 写入可移植任务包
- 必读 进度面板接入、其 v1 状态契约和随包 CLI 说明。完整复制固定
assets/dashboard/及状态契约到任务包,生成严格 planned 的runtime/plan.json,使用复制后的 panel.py 执行 init 和 status,交付dashboard/index.html;这属于材料生成,不启动预览服务或任何角色。不重新编写网页代码或布局。已有状态先核对并保留,不能重复 init 覆盖。Python 3.11+ 缺失时如实记录生成阻塞。 - 遵循项目任务资料位置;无现有约定时,使用目标仓库的
docs/task-packets/<parent-task-id>/。无法确定资料所属仓库时先说明缺口,不在任意父目录写入。 - 所有任务卡、提示词及其命令、文件链接使用有明确锚点的相对路径。跨仓使用「仓库标识+仓库内相对路径」。本地根目录仅在运行时解析,不写入产物;具体规则见任务包约定。
- 同一事实只设一个主位置。短提示词引用确切任务卡,不复制长验收清单,不引用“上述”“登记中的”“前面讨论”等外部上下文。每一段都必须可单独复制到全新会话。
- 若同一 Task 已有任务包,先读取并更新相关内容,保留实现/审查证据;影响任务边界或验收的变更必须标记原任务与审查需复核,不能覆盖成一个全新待执行包。
- 将选定模式的调度、恢复、阶段确认、模型目录复核、逐会话创建参数与停止规则写入 Main 卡;执行者不必安装本 Skill 才能恢复工作。全自动和半自动的 Main 提示词明确授权按卡片命名新建或续接会话,并显式传入已解析的模型参数;人工模式明确禁止自动启动或续接其他会话,并把会话创建配置放在每段提示词前供用户设置。执行载体及工具能力如实注明,不把内部子 Agent 冒充 Desktop 独立会话。
- 总卡与 Main 实例化面板入口、CLI、状态模式/权威引用、数据及报告路径;每个具体 Worker/Reviewer 和全部启动、恢复、修复、复审、集成、阶段确认提示词实例化本角色报告入口或 Main 面板入口。Main 是唯一共享状态写入者,角色各自报告并走已有交付渠道,不假定 worktree/文件共享。Main 首次启动复用 planned 状态、publish 真实身份后 start/verify/open;恢复确认旧 Main 停止,延续原 run、历史和服务;操作与错误分支落实到 Main 卡。
4. 校验与交付
交付前逐项检查:需求全部覆盖;任务前置依赖无循环(流程图中的修复/复审回路除外);并行写入无冲突;每项验收有实际命令/操作、期望结果及证据;未确认事项未冒充结论;相对路径锚点和链接可解析;每条提示词独立完整;流程图节点与任务卡、会话提示词的名称、Task ID、依赖和启动条件一致;各角色权限与项目政策一致。再按模型资源与速度策略检查三个轴、目录新鲜度、逐会话准确绑定、回退顺序、升级/重试上限、Fast 能力和关键路径标记。
不得虚构测试命令、现有文件、Issue、已提交版本或通过结果。拟新增文件标为「计划创建」。计划中的测试场景明确列出,生成阶段不要求 Worker 尚未编写的测试已经通过。
核对面板 JSON 的 Task/角色/阶段/依赖/完成检查与卡片一致;planned 无实际 ID、执行结果或假批准;CLI 和资源完整、HTML 可离线查看、服务未启动。本地权威引用以本包 runtime/state.json 结尾,projection 保留原权威。检查 Main 的观察频率、单写入者、恢复去重、不可变事件重试、code 4/6 实际提交标记和结束 export/stop 规则;面板展示不扩大执行或批准权限。
需求就绪并生成任务卡后,最终对话回复必须交付:
- 任务包的仓库标识、相对入口、所选执行模式、资源档位、速度策略及各自选择来源,以及具体会话名称清单。半自动模式额外列出大阶段、阶段验收和下一阶段的用户确认点。
- 会话执行流程图:用
mermaid代码围栏直接展示总卡中的流程图,放在会话提示词之前;不能只给图片、文件链接、通用角色示意图或文字顺序代替。 - 按顺序逐条列出的具体会话启动提示词:每个 Worker 和每个独立 Reviewer 分别有自己的段落;Main 提供初始化或本轮交接/恢复入口。每段使用独立的
text代码围栏,注明完整会话名称、新建/续接、启动者(用户或 Main)、何时使用,并在围栏前列出该会话准确的提供方、模型、推理强度和服务层。自动模式仍完整交付各会话提示词,注明由 Main 调度、供用户查看或恢复使用,无需用户逐个粘贴。 - 修复、复审和 Main 集成的简短续接提示词,注明适用条件;半自动模式逐个提供进入后续阶段的确认提示词。修复和复审通常继续原会话,不把每次续接误写成创建新 Session;确需换会话时按卡片从资料恢复。
- 面板 HTML 的仓库相对入口、权威来源、实际 init/status 结果和运行依赖;planned 快照不表示角色已启动,离线查看无需 Python,实时工具需要 Python 3.11+。
每段提示词以少量句子说明角色、Task ID、实施/审查仓库、卡片仓库与相对路径、要做的动作和停止点;详细要求留在任务卡。多个任务必须分别实例化,不用一个通用模板加“其他任务同理”代替,也不让用户手动替换编号或路径。不能只提供 prompts.md 的链接、只把提示词写进文件或用交付摘要代替启动提示词。 用户明确要求本轮只交付文件或指定部分角色时,按其限定范围交付。
文件中的流程图、提示词与最终回复保持一致,并注明实际写入与校验结果。流程图表示计划执行关系,不表示节点已经执行。只生成本地文件时标为本地草案,提交、跨机器分发、业务执行、业务测试、审查与合并均不得暗示已完成。