TASK-REFACTOR-V2.md 4.4 KB

复盘并重构 skill-heterarchy v2.0

背景

当前 skill-heterarchy v1.2.0 是一个 879 行的「对内分思实操技能」,设计了:

  • 任务拆解 → 认知分化 → 写任务书 → 并行派发 CC → 状态看板 → 结果聚合
  • 拓扑排序、阻塞自愈、异步回执、CDN 验证链等

问题

实际执行数月后,成功率仅 20-30%。核心痛点:

  1. 上下文跳脱:主控 Agent(FmodeAgent)在复杂任务中频繁跳出当前工作线程,去干别的活
  2. Profile 派发不自主:每次必须明确写「用 writer profile + CC」,无法自动判断
  3. CC 管道不稳定:terminal(background) + claude -p 模式常 exit 127/124/1
  4. delegate_task 替代方向更优:FmodeAgent 的 delegate_task 工具已在 v2 中被证明更稳定,但技能未整合
  5. 连续对话保持力差:多个任务交叉时,上下文管理失序

你的任务

请在 /opt/data/git-repos/skill-heterarchy/ 目录下执行以下步骤:

步骤 1:调取复盘素材

读取以下文件:

  • /opt/data/skills/skill-heterarchy/SKILL.md(当前技能本体)
  • /opt/data/git-repos/skill-heterarchy/SKILL.md(git 仓库中的版本)
  • /opt/data/git-repos/skill-heterarchy/lib/index.mjs(核心实现)
  • /opt/data/git-repos/skill-heterarchy/package.json

步骤 2:分析失败模式

基于以下真实场景复盘(已发生在今晚对话中):

场景 失败模式
小说日更管道搭建 主控直接执行登录/验证码操作,未派给 writer profile
验证码滑块破解 主控自己写 3 版脚本都失败,应该派给 writer profile + CC
拉片报告生成 主控写 HTML,没有派给 writer profile
RSI 文档构建 多次 CC 调用因引号/路径问题失败
并发多任务 主控自己串行执行,未触发 heterarchy 拆解检查

步骤 3:设计 v2.0 核心模型

新版本应围绕 FmodeAgent 当前工具集重新设计,核心原则:

用户消息
  │
  ├→ 第一判断:这是「沟通」还是「干活」?
  │   ├→ 沟通(问候/确认/简单回执)→ 直接回复,立即结束 turn
  │   └→ 干活 → 继续
  │
  ├→ 第二判断:干活需要「自己执行」还是「派发他人」?
  │   ├→ 自己执行(≤2个简单工具调用/已知信息回答)→ 直接做
  │   └→ 派发他人 → 继续
  │
  ├→ 第三判断:派发给「哪个 Profile」?
  │   ├→ writer → 小说/文案/内容生产
  │   ├→ fullstack → 全栈开发/项目实现
  │   ├→ researcher → 调研/分析
  │   └→ devops → 运维/部署
  │
  ├→ 第四判断:用什么机制派发?
  │   ├→ delegate_task(优先推荐 — 更稳定,隔离性好)
  │   │   ├→ 子任务:轻量(查资料/读文件/写片段)
  │   │   ├→ 原子任务(完整思考+产出=1个独立工作单元)
  │   │   └→ 子单元全部独立无依赖 → delegate_task 并行派发
  │   │
  │   └→ terminal(background) + claude -p(保留,作为备选)
  │       ├→ 需要项目根目录启动 CC
  │       ├→ 需要 CLAUDE.md + rules 读取
  │       └→ 仅在 delegate_task 不可用或需要项目上下文时使用
  │
  ├→ 主控接收 → 立即发回执(一句话 + 状态表)
  └→ 等待子任务完成 → 聚合验证 → 交付

步骤 4:重写 SKILL.md

  • 减少到 300-400 行(当前 879 行太长,Agent 加载后容易忽略)
  • 用直接的触发词 + 简短决策流程
  • delegate_task 优先
  • claude -p 作为备选
  • 内置「任务类型 → Profile → 派发方式」映射表
  • 保留高频成功的部分:状态看板、结果聚合、验证链

步骤 5:更新 lib/index.mjs

对应简化 dispatch 逻辑

步骤 6:版本号 → 2.0.0

更新 package.json 和 SKILL.md 中的版本号

步骤 7:自我测试

  1. 验证 SKILL.md 可被 skill_view 加载
  2. 检查 frontmatter 完整
  3. 验证 package.json 三处版本号一致

步骤 8:输出

  1. git commit -m "v2.0: heterarchy redesign — delegate_task first, CC backup"
  2. /opt/data/skills/skill-heterarchy/SKILL.md 作为安装后的技能文件(复制过去)
  3. 报告最终版本号和行数

纪律

  • 每个步骤打印确认信息
  • 先读后写,不覆盖未读内容
  • 版本号统一 2.0.0
  • 不要删除 lib/index.mjs 中的导出函数签名(只改实现)