Files
sanguo_moziplus_v2/docs/research/v2.6-research-04-decomposition-skills.md
T
2026-05-15 09:31:37 +08:00

45 KiB
Raw Blame History

调研报告:智能拆解机制 + Skill 体系

日期: 2026-05-15 作者: 庞统士元 (pangtong-fujunshi) 版本: v2.6-research-04 用途: moziplus v2.6 AI Native DevOps 平台设计参考


目录


课题 4:智能拆解机制

已有经验(知识库/wiki

moziplus v1.0 现有拆解机制

moziplus v1.0 采用 "模板 + 自然语言描述" 的混合拆解方式:

  1. CLI create 接口:接收 --description "需求描述" + --template 模板名
  2. 模板库5 个预定义模板(full_role_development, circular_review_test, multi_stage_review, data_acquisition, multi_edge_discussion
  3. 自动匹配:不传 template 时,按关键词优先级匹配模板(循环+测试 → 多阶段 → 讨论 → 数据 → 兜底 full_role
  4. 每个模板定义了固定的 DAG 图:节点、边、角色分配、output_schema

局限性

  • 模板是固定的 DAG 结构,无法根据需求动态调整节点和边
  • 关键词匹配太粗糙,复杂需求容易匹配到错误模板
  • 庞统拆解时完全靠 LLM 理解,没有结构化引导
  • 无法动态增减步骤(如"这次不需要数据获取")

知识库中已积累的相关实践

从知识库中获取的 6 个相关项目(get-shit-done、wanman、nuwa-skill、oh-my-claudecode、open-multi-agent、TradingAgents),为本次调研提供了丰富的参考素材。


业界优秀实践对比表(课题4

1. MetaGPTSOP 自动链 + _watch 声明式订阅

核心理念:将人类软件公司的 SOP(标准操作流程)编码为 prompt 序列,Agent 之间通过发布-订阅自动链接。

拆解机制

  • SOP 流水线ProductManager → Architect → ProjectManager → Engineer,每步自动触发
  • _watch 声明式订阅:每个 Role 通过 self._watch({UpstreamAction}) 订阅上游产出,上游完成后自动触发下游
  • Action 基类:每个 Action 接收 with_messages(上游消息),返回 Message(结构化产出)
  • Environment 对象:所有 Agent 放入同一个 Environment,自动调度订阅关系
class Architect(Role):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.set_actions([WriteDesign])
        self._watch({WritePRD})  # 订阅 PRD 产出,自动触发设计

class Engineer(Role):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.set_actions([WriteCode])
        self._watch({WriteDesign})  # 订阅设计产出,自动触发编码

优点

  • SOP 流水线保证步骤不遗漏
  • _watch 机制实现松耦合的自动链
  • 每步产出结构化文档(PRD→设计→任务→代码),便于下游消费

缺点

  • SOP 是固定的,灵活性有限
  • 不适合非软件开发场景
  • 粒度在 Role 级别,不能在同一 Role 内动态调整

2. get-shit-donediscuss→plan→execute→verify→ship 流程

核心理念Spec-driven development,通过上下文工程解决 context rot(上下文窗口填满后质量退化)。

拆解机制

  • 5 阶段流水线new-project → discuss-phase → plan-phase → execute-phase → verify
  • Fresh Context Per Agent:每个子任务 spawn 新 agent(独立上下文窗口),避免 context rot
  • File-Based State:所有状态存储在 .planning/ 目录(PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md
  • Thin Orchestrator:Workflow 文件不做重活,只加载上下文、spawn agent、收集结果
  • Progressive Disclosureworkflow 按需加载子模块(modes/、templates/),避免一次性注入过多内容
  • Agent Size-BudgetXL(1700行)、Large(1500行)、Default(1000行),防止 prompt 过长
用户 → /gsd-new-project → 初始化
    → /gsd-discuss → 需求讨论(questioning → dream extraction
    → /gsd-plan → 规划(analyst → architect → critic → plan checker
    → /gsd-execute → 执行(按 phase 分任务,独立 agent 执行)
    → /gsd-verify → 验证(多维度自动化验证)

优点

  • 分阶段拆解,每阶段有明确产出
  • 需求讨论阶段(discuss)会做 dream extraction,挖掘隐含需求
  • Plan checker agent 专门验证计划的完整性
  • Scope reduction detection 防止规划时静默丢弃需求

缺点

  • 仍然是预定义的 5 阶段流程
  • 不适合非软件项目
  • Token 成本高(每任务独立上下文窗口)

3. wanmanExplore→Evaluate→Execute 三阶段 + Token 预算

核心理念Agent Matrix 框架,通过 JSON-RPC Supervisor 协调多个 Claude Code/Codex 子进程。

拆解机制

  • Agent 配置JSON 文件定义 agentsname, lifecycle, model tier, systemPrompt
  • 三种生命周期24/7(持续运行)、on-demand(按需触发)、idle_cached(空闲但保持上下文)
  • Task Pool:支持 --after 依赖的任务池,自然形成 DAG
  • Initiative:长期目标管理,将目标分解为任务
  • Capsule:变更胶囊,追踪每个 agent 的产出变更
  • Per-agent 隔离:每个 agent 独立 worktree + 独立 $HOME,互不干扰

关键设计

  • CEO Agent 负责全局协调和最终决策
  • Steer/Follow-up 优先级:消息分为中断性指令和跟进性消息
  • 共享 Skill 发现agents 自动发现 ~/.claude/skills/ 下的共享 skill
  • Skill Snapshot:运行时将 skill 文件 materialize 为快照

优点

  • CEO 模式适合需要集中决策的场景
  • Task Pool + --after 依赖天然支持 DAG 调度
  • Agent 隔离保证稳定性

缺点

  • 拆解依赖 CEO agent 的 LLM 能力
  • 没有结构化的拆解模板
  • Token 预算管理需要手动配置

4. ChatDev:角色流水线 + 环检测

核心理念:通过 Chat Chain 组织多角色对话,每个 phase 由两个角色(如 CTO + PM)的对话完成。

拆解机制

  • Chat Chain:将软件开发分解为有序的 phasesDemand Analysis → Language Model → Coding → Code Complete → Code Review → Testing → Environment Configuration
  • 角色配对:每个 phase 由两个角色对话完成(CTO↔PM, CTO↔Programmer, CTO↔Art Designer, etc.
  • Communicative Dehallucination:通过角色间的质疑和验证减少幻觉
  • 环检测:当角色陷入死循环(反复说"我同意")时自动打破
  • ChatChain Visualizer:可视化查看每个 phase 的对话和产出
用户需求 → [Demand Analysis: CEO↔CTO]
         → [Language Design: CTO↔CPO]
         → [Coding: CTO↔Programmer]
         → [Code Complete: Programmer↔CTO]
         → [Code Review: Programmer↔Reviewer]
         → [Testing: CTO↔Tester]
         → [Environment Config: CTO↔CTO]

优点

  • 角色配对确保每步都有质疑和验证(类似我们的"做+挑战"
  • Chat Chain 是半结构化的:phase 顺序固定,但对话内容自由
  • 环检测是实用的工程优化

缺点

  • Phase 顺序完全固定
  • 角色配对固定,不能动态调整
  • 只适用于软件开发

5. TradingAgents:动态图构建

核心理念:模拟真实交易公司的协作结构,通过 selected_analysts 参数动态决定图的节点和边。

拆解机制

  • 动态图构建selected_analysts 参数决定激活哪些分析师(Fundamental, Sentiment, Technical, News
  • 结构化输出Research Manager 汇总分析师报告,Trader 做决策,Portfolio Manager 管理仓位
  • LangGraph checkpoint:支持断点续跑
  • Decision Log:持久化决策记录
selected_analysts = ["fundamental", "sentiment", "technical"]
    ↓ 自动构建图:
    Fundamental Analyst → Research Manager
    Sentiment Analyst   → Research Manager
    Technical Analyst   → Research Manager
                         Research Manager → Trader → Portfolio Manager

优点

  • 真正的动态图:参数决定节点和边,不是固定模板
  • 适合不同复杂度的任务(简单任务少选 analyst,复杂任务全选)
  • 结构清晰:分析 → 汇总 → 交易 → 仓位管理

缺点

  • 动态范围有限(只能选/不选预定义的 analyst 类型)
  • 不能动态创建新的 agent 类型
  • 没有拆解验证机制

6. open-multi-agentGoal → DAG 自动分解

核心理念Goal-first,用户描述目标,Coordinator 自动分解为 Task DAG。

拆解机制

  • runTeam(team, goal):一个调用,Coordinator 自动分解目标为任务 DAG
  • 自动并行化:无依赖的任务自动并行执行
  • 混合 Provider10+ LLM 适配器,不同 agent 可用不同模型
  • ObservabilityonProgress 事件流 + onTrace span + HTML dashboard
  • Loop Detection:内置循环检测
  • Token Budget:支持 token 预算管理
  • Context Compaction:上下文压缩
goal: "Build a REST API"
    ↓ Coordinator 自动分解:
    task: design-api (no deps)
    task: implement-handlers (after design-api)
    task: scaffold-tests (after design-api, parallel with implement)
    task: review-code (after implement + tests)

优点

  • 最接近"AI Native 拆解"的理想:目标→DAG 全自动
  • 不需要预定义模板
  • 依赖关系自动解析 + 并行化

缺点

  • 拆解质量完全依赖 Coordinator LLM 能力
  • 没有拆解结果的验证/挑战机制
  • 对于复杂领域任务,可能遗漏关键步骤

7. guidance-aws / DatabricksSupervisor 模式

核心理念Supervisor Agent 负责意图分析 + Agent 选择,单次 LLM 调用同时完成两个决策。

拆解机制

  • Supervisor Agent:接收用户输入,一次性完成意图识别 + Agent 选择 + 参数提取
  • Hybrid Routing:确定性快速路径 + LLM fallback(生产系统推荐混合路由)
  • Message QueueAgent 间通过消息队列通信
  • Human-in-the-loop:支持无缝衔接人工介入
用户输入 → Supervisor (单次 LLM)
    → 意图分析: "这是一个编码任务"
    → Agent 选择: "分配给 Developer Agent"
    → 参数提取: {language: "Python", framework: "FastAPI"}
    → 路由到 Developer Agent

优点

  • 单次 LLM 调用效率高
  • Hybrid Routing 平衡速度和灵活性
  • 生产级设计

缺点

  • Supervisor 是单点,能力决定上限
  • 没有拆解结果的验证

8. Claude Code 的 Task Decomposition

核心理念:隐式分解,通过 Headless Mode + Subagent 自动完成。

拆解机制

  • Headless Modeclaude -p "task" 非交互模式,自动处理
  • Task ToolAgent 可 spawn 子 agent 处理子任务
  • TodoRead/TodoWrite:内置 todo 管理,Agent 自己创建和追踪子任务
  • Skills:通过 SKILL.md 注入领域知识,引导 Agent 的分解策略
  • Progressive Context Loading:只加载 frontmatter~100 token),匹配后才加载全文

优点

  • 拆解完全由 Agent 自主完成,不需要显式定义
  • Todo 系统让 Agent 自己追踪分解结果
  • Skill 注入可以引导分解方向

缺点

  • 没有结构化约束,质量不稳定
  • 没有"拆解验证"机制

约束 vs 灵活性分析

核心矛盾

维度 固定模板 完全自由 AI Native 理想
步骤完整性 保证不遗漏 可能遗漏 AI 确保覆盖
灵活性 死板 适应任何场景 根据需求动态调整
可预测性 行为可预期 不确定 ⚠️ 有约束的灵活
粒度控制 固定粒度 ⚠️ 不稳定 AI 根据复杂度调整
调试性 容易定位问题 难复现 有检查点

五个关键问题的回答

Q1: 拆解模板 vs 动态生成的权衡点在哪?

结论:模板作为骨架,AI 负责填充和调整。

  • 简单/常见任务:直接用模板(如"开发一个新策略"→ full_role_development
  • 复杂/独特任务:AI 动态生成 DAG,但必须经过验证
  • 混合任务:选择最接近的模板,AI 增减节点和边

权衡点判断标准

需求特征 建议策略 示例
需求清晰 + 场景常见 直接模板 "开发MACD策略"
需求清晰 + 场景不常见 模板 + AI 调整 "对比3个平台的回测结果"
需求模糊 + 场景常见 AI 分析 + 模板对齐 "优化我的交易系统"
需求模糊 + 场景不常见 AI 完全动态生成 + 强验证 "研究新因子并整合到生产"

Q2: 是否有"模板 + AI 增强"的混合模式?

是的,这是最佳方案。 参考:

项目 混合模式
MetaGPT SOP 骨架(固定角色流水线) + _watch 动态订阅
GSD 5 阶段骨架(固定流水线) + discuss dream extractionAI 挖掘隐含需求)
TradingAgents 预定义 analyst 类型(固定节点池) + selected_analysts 动态选择
open-multi-agent Goal → DAGAI 动态生成) + fixed team definition(固定角色池)

推荐混合模式

  1. 模板库提供骨架:5-10 个场景模板,每个定义了典型节点和边
  2. AI 负责三件事
    • 选择最合适的模板
    • 增减节点和边(如"这次不需要风控审核"或"加一个数据验证步骤")
    • 调整粒度(简单任务合并节点,复杂任务拆细)
  3. 结构约束:模板定义了"必须有的节点"(如 review 节点不可删除)

Q3: 拆解结果是否需要验证/挑战?

必须!这是所有项目的共识。 参考:

项目 验证机制
MetaGPT 每个 Role 验证上游产出
GSD plan-checker agent + scope reduction detection
ChatDev 角色配对(做+审核)+ 环检测
oh-my-claudecode Architect → Critic → Planner 三方验证

推荐方案

  1. Plan Checker Agent:拆解完成后,独立的 Plan Checker 验证:
    • 是否覆盖所有需求(与原始需求逐项对照)
    • 依赖关系是否合理
    • 粒度是否适当(太粗/太细)
    • 是否遗漏关键步骤
  2. 需求回溯:拆解结果的每个节点都能追溯到原始需求的哪个部分
  3. 完整性检查清单:按任务类型生成检查清单

Q4: 如何确保拆解覆盖所有需求(不遗漏)?

多层次保障

  1. 需求结构化GSD 的 discuss phase 思路):

    • 用户描述 → AI 提取为结构化需求列表
    • 每个需求项有 ID、描述、验收标准
    • 用户确认需求列表后才开始拆解
  2. 需求-节点映射矩阵(正向+反向验证):

    • 正向:每个需求至少被一个节点覆盖
    • 反向:每个节点至少对应一个需求
  3. Plan Checker 的覆盖检查

    • 读取需求列表
    • 遍历 DAG 节点
    • 报告未被覆盖的需求
  4. Scope Reduction DetectionGSD 思路):

    • 监控规划者是否静默丢弃了需求
    • 如果发现需求消失,自动标记并询问用户

Q5: 拆解粒度怎么控制?

自适应粒度策略

任务复杂度 粒度策略 节点数
简单(<3 个需求) 粗粒度,合并步骤 3-5
中等(3-8 个需求) 标准粒度,按功能模块拆分 5-10
复杂(>8 个需求) 细粒度,每需求可能拆为多个节点 10-20

粒度控制原则

  1. 每个节点有且只有一个 Agent 负责(不共享责任)
  2. 每个节点有明确的 input/output(可验证)
  3. 节点产出不超过 2000 字(避免上下文溢出)
  4. 合并准则:如果两个节点总是被同一个 Agent 按顺序执行,考虑合并

推荐方案(结合 AI Native 目标,课题4)

方案名称:混合式智能拆解(Hybrid Intelligent Decomposition

架构设计

┌─────────────────────────────────────────────────────────────┐
│                    用户需求输入                               │
│              (自然语言 / 结构化描述)                         │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│              Step 1: 需求结构化(Requirement Extraction      │
│                                                              │
│  庞统分析用户输入,提取为结构化需求列表:                       │
│  - 需求项 ID + 描述 + 验收标准                                │
│  - 需求类型标签(数据/编码/分析/部署/审查/讨论)               │
│  - 复杂度评估(简单/中等/复杂)                                │
│  - 隐含需求挖掘(discuss phase 的 dream extraction          │
│                                                              │
│  产出:structured_requirements.json                          │
│  ✋ 检查点:用户确认需求列表                                   │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│              Step 2: 模板匹配 + AI 增强                       │
│                                                              │
│  2a. 模板选择(两层匹配):                                    │
│      - 第一层:需求类型标签 → 候选模板集                       │
│      - 第二层:LLM 语义匹配 → 最佳模板                        │
│                                                              │
│  2b. AI 增强(动态调整):                                     │
│      - 增:遗漏的步骤(如缺少数据验证)                        │
│      - 删:不需要的步骤(如纯分析不需要部署)                   │
│      - 调:粒度调整(合并/拆分节点)                           │
│      - 角色适配:根据节点调整 Agent 分配                      │
│                                                              │
│  约束:某些节点不可删除(如 review 节点,铁律 IR-1           │
│                                                              │
│  产出:draft_dag.json(节点 + 边 + Agent 分配)               │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│              Step 3: Plan Checker 验证                        │
│                                                              │
│  独立的 Plan Checker Agent 验证:                             │
│  - 覆盖性:每个需求是否被至少一个节点覆盖                      │
│  - 依赖性:节点依赖是否合理(无环、无遗漏前置)                │
│  - 粒度性:节点是否过大/过小                                   │
│  - 完整性:是否遗漏常见步骤(对比模板库的经验)                │
│  - 角色匹配:Agent 能力是否匹配节点要求                       │
│                                                              │
│  产出:plan_check_result.json + 修改建议                      │
│  如果不通过 → 回到 Step 2 调整(最多 2 轮)                    │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│              Step 4: 最终 DAG 输出                            │
│                                                              │
│  通过验证的 DAG,包含:                                        │
│  - 节点定义(ID, name, agent, input_schema, output_schema   │
│  - 边定义(source → target, condition                       │
│  - 需求映射矩阵(requirement_id → node_ids                  │
│  - 检查点定义(哪些节点需要人工确认)                          │
│                                                              │
│  产出:final_dag.json → 传入 moziplus 引擎执行               │
└─────────────────────────────────────────────────────────────┘

关键设计决策

决策 选择 理由
拆解由谁做 庞统(副军师) 定位就是"策略研究+任务协调"
模板角色 骨架+约束 保证基本完整性,AI 负责灵活调整
验证机制 独立 Plan Checker 不信任 LLM 自律(业界共识)
需求覆盖 需求-节点映射矩阵 正向+反向双重保证
粒度控制 自适应(复杂度驱动) 避免"一刀切"
不可删除节点 review 类节点 铁律 IR-1(每任务至少 2 Agent

模板库设计

不是 5 个固定模板,而是 模板组件库

{
  "template_components": {
    "phases": {
      "requirement_clarification": {
        "mandatory": false,
        "trigger": "需求含糊",
        "nodes": ["requirement_analysis", "requirement_review"]
      },
      "research": {
        "mandatory": false,
        "trigger": "需要调研",
        "nodes": ["literature_search", "analysis", "research_review"]
      },
      "design": {
        "mandatory": false,
        "trigger": "需要设计",
        "nodes": ["architecture_design", "design_review"]
      },
      "implementation": {
        "mandatory": false,
        "trigger": "需要编码",
        "nodes": ["coding", "code_review", "testing"]
      },
      "data": {
        "mandatory": false,
        "trigger": "需要数据",
        "nodes": ["data_acquisition", "data_validation"]
      },
      "deployment": {
        "mandatory": false,
        "trigger": "需要部署",
        "nodes": ["deployment", "deployment_verification"]
      },
      "risk_control": {
        "mandatory": true,  // 如果涉及交易
        "trigger": "涉及实盘/资金",
        "nodes": ["risk_check", "position_check"]
      },
      "final_review": {
        "mandatory": true,  // 铁律
        "trigger": "always",
        "nodes": ["integration_review", "final_summary"]
      }
    }
  }
}

庞统的拆解流程变为:

  1. 分析需求 → 识别需要哪些 phases
  2. 从 phase 组件中选择节点
  3. 排列依赖关系 → 构建 DAG
  4. Plan Checker 验证

与 moziplus v1.0 的对比

维度 v1.0 v2.6(推荐方案)
拆解方式 关键词 → 固定模板 需求分析 → 模板组件组合 → AI 增强
模板类型 5 个完整 DAG 组件库(~8 个 phase 组件)
灵活性 固定结构 动态增减节点
需求覆盖 无检查 需求-节点映射矩阵
验证 独立 Plan Checker
粒度 固定 复杂度自适应
铁律保证 不可删除节点

课题 8Skill 体系工程落地

已有经验(知识库/wiki + OpenClaw 现有 Skill

OpenClaw 现有 Skill 体系

SKILL.md 规范

  • 每个 Skill 是一个目录,包含 SKILL.md 文件
  • YAML frontmatternamedescription
  • 正文:指令性内容(工作流、最佳实践、指引)
  • 注册:放在 workspace/skills/~/.openclaw/skills/ 下,系统自动发现
  • 发现:系统启动时扫描所有 Skill 目录,将 name+description 注入 Agent 上下文
  • 加载:Agent 匹配到相关 Skill 后,用 read 工具加载全文

当前 Skill 列表42 个,来自 AGENTS.md):

  • 编排类:mozi-task-manager, subagent-delegation, plan-act-verify
  • 数据类:data-acquisition, data-verification
  • 开发类:coding-implementation, code-review, deployment-infra
  • 设计类:design-architecture, requirement-clarification, requirements-analysis
  • 分析类:risk-assessment, summary-report, quant-backtest
  • Wiki 类:wiki-agent, wiki-capture, wiki-query, wiki-research, wiki-synthesize, wiki-update, wiki-ingest, wiki-export, llm-wiki, data-ingest, ingest-url, cross-linker, graph-colorize, tag-taxonomy, impl-validator, memory-bridge, daily-update
  • 通用:skill-creator, summarize, taskflow, taskflow-inbox-triage
  • 系统:healthcheck, node-connect, openai-whisper, video-frames, weather, clawhub

v3.1 Skill 体系设计(已确认)

我们已在 skill-system-v3.1-design.md 中确认了四部分架构:

部分 机制 Token
A. Hook 铁律层 before_prompt_build Hook ~500
B. Agent 角色层 SOUL.md / AGENTS.md ~2000
C. 通用 Skill 层 关键词匹配 + 按需加载 列表~1250, 正文按需
D. moziplus 专用层 引擎注入 ~1000

nuwa-skill 的 5 阶段蒸馏经验

nuwa-skill 证明了"蒸馏思维框架"是可行的:

  • 5 层提取:表达DNA → 心智模型 → 决策启发式 → 反模式 → 诚实边界
  • 6 Agent 并行采集:著作/对话/表达/他者/决策/时间线
  • 多重检查点:调研 Review → 提炼确认 → 质量验证 → 双 Agent 精炼

对 moziplus Skill 体系的启发

  1. Skill 可以通过"蒸馏"方式创建,不必手写
  2. 质量验证需要独立 Agent
  3. 多检查点保证质量
  4. 诚实边界很重要——Skill 应说明自己做不到什么

业界优秀实践对比表(课题8

1. Claude Code Skills 体系

架构:4 层渐进式上下文加载

内容 何时加载 Token 成本
L1: Discovery YAML frontmattername + description 系统启动 ~100 token/skill
L2: Matching 检查 description 是否匹配当前任务 每轮推理 0(已有 L1
L3: Full Load SKILL.md 正文 确认匹配后 完整内容
L4: Overflow 低频 Skill description 被截断 超预算时 降级为更短描述

关键设计

  • skillListingBudgetFraction:技能列表占上下文的百分比(默认约 2%)
  • Progressive disclosure:从轻到重,按需加载
  • Workflow vs ReferenceSkill 正文是"做什么"workflow),不是"为什么"narrative
  • allowed_tools / model / disable_model_invocationfrontmatter 可选字段

SKILL.md 结构

---
name: my-skill
description: "简短描述,决定是否被选中"
allowed_tools: [Read, Write, Bash]
---
# 具体指令内容(workflow + best practices

优点

  • Token 效率极高(L1 只需 ~100 token
  • 渐进式加载减少无关上下文
  • 文件系统即注册中心,简单可靠

缺点

  • Skill 之间没有组合机制
  • 没有 Skill 版本管理
  • 没有 Skill 测试标准

2. oh-my-claudecode:三层组合

架构:Execution + Enhancement + Guarantee

作用 代表 Skill
Execution 执行具体任务 ralph, ultrawork, autopilot, team
Enhancement 增强执行质量 deep-interview, plan, verify, ultraqa
Guarantee 保证交付标准 omc-doctor, trace, hud, cancel

Skill 管理机制

  • /skill list:扫描 built-in / user / project 三层
  • /skill add:交互式创建向导
  • /skill search:搜索 Skill
  • Built-in:不可编辑(只读)
  • User~/.claude/skills/omc-learned/
  • Project.omc/skills/

Skill 等级

  • Level 1:简单查询/操作
  • Level 2:中等复杂度,需要工具调用
  • Level 3:复杂,可能 spawn 子任务
  • Level 4:全自动(如 autopilot

关键设计

  • autopilot 5 阶段Expansion → Planning → Execution → QA → Validation
  • ralplan 3 阶段Planner → Architect → Critic3 个独立 LLM 验证)
  • deep-interview:苏格拉底式提问,先澄清再动手
  • ralph:持久化执行循环(state 文件跨 session

优点

  • 三层分类清晰(做→增强→保证)
  • Skill 等级系统控制复杂度
  • 跨 session 持久化(state 文件)

缺点

  • 三层之间没有明确的接口协议
  • 组合依赖 Agent 自行判断
  • 没有标准化的测试框架

3. nuwa-skill5 阶段蒸馏 + 检查点

架构:蒸馏式 Skill 创建

阶段 内容 产出
Phase 0 入口分流(直接路径 vs 诊断路径) Skill 目录
Phase 1 6 Agent 并行采集 6 份调研文件
Phase 2 框架提炼(心智模型+决策启发式+表达DNA) 提炼结果
Phase 3 Skill 构建(填充模板) SKILL.md
Phase 4 质量验证(已知/边缘/风格 3 项测试) 验证报告
Phase 5 双 Agent 精炼 最终 SKILL.md

关键创新

  • Agentic ProtocolSkill 不只是"知道什么",还定义了"怎么做"(遇到事实问题先搜索再回答)
  • 诚实边界:每个 Skill 必须声明自己做不到什么
  • 质量自检脚本quality_check.py 自动检查 6 项通过标准
  • 心智模型驱动:从蒸馏出的心智模型推导回答策略

优点

  • Skill 可以通过半自动化流程创建
  • 多检查点保证质量
  • 诚实边界增加了可信度
  • 心智模型驱动是创新点

缺点

  • 创建流程复杂(6 phase
  • 主要针对"人物 Skill",通用化需要改造
  • 没有 Skill 之间的组合机制

4. MetaGPT Action 基类

架构:面向对象的 Action 继承

class Action:
    name: str
    context: Context  # 共享上下文
    
    async def run(self, with_messages: List[Message] = None, **kwargs) -> Message:
        """子类实现具体逻辑"""
        raise NotImplementedError

class Role:
    actions: List[Action]
    _watch: Set[Type[Action]]  # 订阅上游 Action
    
    def set_actions(self, actions: List[Action]):
        self.actions = actions
    
    async def _think(self):
        """决定执行哪个 Action"""
        
    async def _react(self):
        """执行 Action 并发布结果"""

关键设计

  • Action 是最小执行单元:输入 Message → 输出 Message
  • Role 组合 Action:一个 Role 可以有多个 Action
  • _watch 声明式订阅:自动触发链
  • Context 共享:所有 Role/Action 共享同一上下文

优点

  • 面向对象,结构清晰
  • Action 可复用(不同 Role 可共享同一 Action
  • _watch 机制优雅

缺点

  • 需要写 Python 代码,不是纯 Skill 描述
  • 绑定 Python 生态
  • 对非开发人员门槛高

5. GSD 的 Skill Discovery Contract

架构:文件系统 + 规范化扫描

项目根目录:
  .claude/skills/
  .agents/skills/
  .cursor/skills/
  .github/skills/
  .codex/skills/

全局:
  ~/.claude/skills/
  ~/.codex/skills/

规范化规则

  • 只扫描包含 SKILL.md 的子目录
  • 从 YAML frontmatter 读取 name 和 description
  • 缺少 name 时用目录名
  • 提取 trigger hintsTRIGGER when: ... 行)
  • gsd-* 目录识别为框架 Skill

Skill Manifest(清单):

{
  "skills": [...],
  "roots": ["扫描了哪些根目录"],
  "installation": {"gsd_skills_installed": true, "legacy_claude_commands_installed": false},
  "counts": {"total": 25, "project": 5, "global": 20}
}

优点

  • 规范化程度高
  • 跨运行时兼容(Claude Code / Codex / Gemini CLI
  • 清单系统方便审计

缺点

  • 只做发现,不做组合和验证
  • 没有版本管理

6. CrewAI Tool 装饰器

架构:装饰器模式 + Tool 注册

@tool("stock_price")
def get_stock_price(symbol: str) -> str:
    """获取股票价格"""
    return f"Stock price of {symbol} is $100"

agent = Agent(
    role="Analyst",
    tools=[get_stock_price]
)

优点

  • 装饰器语法简洁
  • Tool 自动注册

缺点

  • 是 Tool 而非 Skill(能力扩展 vs 行为指导)
  • 绑定 Python

7. LangChain Runnable 接口

架构:函数式组合

chain = prompt | model | parser
result = chain.invoke({"input": "..."})

优点:组合灵活(pipe 操作符) 缺点:是代码级组合,不是 Skill 级


Skill 三层约束工程化方案

核心概念:三层约束

基于 v3.1 设计和我们调研的业界实践,Skill 的三层约束定义为:

自由度 内容 类比
铁律层(Iron Rules 低自由 强制执行的硬规则 法律
准则层(Guidelines 中自由 推荐的最佳实践 行业规范
技能层(Skills 高自由 具体的操作方法 工具手册

工程化方案

A. 铁律层工程化

机制OpenClaw Plugin Hook before_prompt_build

// iron-rules hook
api.on("before_prompt_build", async (event, ctx) => {
  const agentId = resolveAgentId(ctx);
  const rules = loadIronRules(agentId);
  return {
    prependContext: `<iron-rules>\n${rules}\n</iron-rules>`
  };
});

特点

  • 每轮强制注入,不受 compaction 影响
  • 按 Agent 定制(庞统的铁律 ≠ 张飞的铁律)
  • 集中管理(一个配置文件,而非分散在各 SOUL.md)

铁律内容示例

IR-1: 每个任务至少 2 个 Agent(做 + 挑战)
IR-2: Plan → Act → Verify 三步法
IR-3: 结论必须有证据
IR-4: 改代码先改文档
IR-5: 语义含糊先确认

B. 准则层工程化

机制SKILL.md(准则型 Skill

与"技能型 Skill"的区别:

  • 准则型 Skill:不定义具体步骤,只定义"应该考虑什么"、"边界在哪里"
  • 技能型 Skill:定义具体的操作步骤

准则型 Skill 示例

---
name: code-review-guideline
description: "代码审查准则。做审查时参考。"
type: guideline  # 区别于 type: procedure
---
# 代码审查准则

## 必须检查
- [ ] 是否有未处理的异常
- [ ] 是否有硬编码的密钥/密码
- [ ] 是否有死循环风险
- [ ] 是否符合项目命名规范

## 禁止
- 不得批准自己写的代码(IR-1
- 不得在没有运行测试的情况下批准

## 诚实边界
- 审查者可能遗漏深层逻辑问题
- 性能问题需要实际测试数据

技能型 Skill 示例

---
name: quant-backtest
description: "量化策略回测执行流程。"
type: procedure
---
# 量化回测流程

## 步骤
1. 从 NAS 获取数据(路径:/Volumes/stock/...
2. 编写策略代码(模板:...
3. 提交回测请求(APIhttp://192.168.2.154:8088
4. 等待结果 + 验证
5. 生成报告

## 工具
- 数据:赵云 data-acquisition skill
- 验证:关羽 risk-assessment skill

C. 技能层工程化

机制SKILL.md(过程型 Skill+ 模板 + 脚本

Skill 目录结构

skills/
  quant-backtest/
    SKILL.md           # 主文件
    templates/          # 代码模板
    scripts/            # 辅助脚本
    examples/           # 示例
    tests/              # 测试(可选)

测试方案

  • 干跑测试:给 Skill 一个输入,检查输出是否符合 schema
  • 场景测试:3-5 个典型场景,验证 Skill 覆盖度
  • 回归测试:修改 Skill 后,确保已有场景不被破坏

推荐方案(结合 AI Native 目标,课题8)

方案名称:分层渐进式 Skill 体系(Layered Progressive Skill System

架构总览

┌─────────────────────────────────────────────────────────────┐
│ Layer 0: 铁律(Iron Rules                                  │
│   机制: Hook 注入 | 自由度: 无 | 每轮强制                    │
│   内容: IR-1~IR-5                                            │
│   Token: ~500                                                │
├─────────────────────────────────────────────────────────────┤
│ Layer 1: 角色(Agent Identity                               │
│   机制: SOUL.md + AGENTS.md | 自由度: 无 | 全量加载          │
│   内容: 角色定义 + 行为准则 + Skill 列表                      │
│   Token: ~2000                                               │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: 准则(Guidelines                                   │
│   机制: SKILL.md (type=guideline) | 自由度: 中 | 按需加载    │
│   内容: 检查清单 + 边界 + 诚实边界                            │
│   Token: 描述~100, 全文~500                                   │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: 技能(Procedures                                   │
│   机制: SKILL.md (type=procedure) | 自由度: 高 | 按需加载    │
│   内容: 具体步骤 + 模板 + 脚本 + 示例                        │
│   Token: 描述~100, 全文~2000                                  │
├─────────────────────────────────────────────────────────────┤
│ Layer 4: 引擎注入(Engine Context                           │
│   机制: moziplus engine | 自由度: 无 | 每轮强制              │
│   内容: output-schema + 任务约束 + 检查点参数                │
│   Token: ~1000                                               │
└─────────────────────────────────────────────────────────────┘

Skill 注册、发现、加载

注册

# SKILL.md frontmatter
---
name: quant-backtest
description: "量化策略回测执行流程。触发词:回测、backtest、策略测试。"
type: procedure  # procedure | guideline
version: "1.0.0"
agents: [zhangfei-dev, jiangwei-infra]  # 哪些 Agent 可用
triggers: [回测, backtest, 策略测试]
---

发现

// 启动时扫描
const skillRegistry = {
  scan() {
    // 扫描 workspace/skills/ + ~/.openclaw/skills/
    // 读取 frontmatter
    // 构建索引:name → path, triggers → names, agents → skills
  },
  
  match(context: string, agentId: string): Skill[] {
    // 1. 过滤 agentId 可见的 Skill
    // 2. 语义匹配 description
    // 3. 返回匹配的 Skill 列表(只有 name + description
  }
}

加载

Agent 收到任务
  → 系统注入 L0 铁律 + L1 角色 + L4 引擎上下文
  → 系统注入 L2/L3 Skill 列表(只有 name+description
  → Agent 自主决定需要哪些 Skill
  → Agent 用 read 工具加载具体 Skill 全文
  → Agent 执行

Skill 组合和编排

核心原则Skill 不直接调用 Skill,而是通过"推荐"机制松耦合。

---
name: quant-backtest
description: "量化策略回测执行流程"
type: procedure
related_skills:
  - data-acquisition       # 获取数据
  - risk-assessment        # 风控检查
  - plan-act-verify        # 执行模式
---

编排方式

编排类型 示例 机制
顺序编排 回测前先获取数据 moziplus DAG 边定义
条件编排 如果涉及实盘,触发风控检查 DAG 条件边
互斥编排 新建 vs 更新策略,走不同 Skill LLM 判断 + Plan Checker

Skill 测试和验证

参考 nuwa-skill 的质量验证思路 + GSD 的 agent-contracts

测试类型 方法 标准
结构测试 检查 SKILL.md 是否包含必要 section name/description/type 必填
干跑测试 给 Skill 一个输入,检查输出是否合理 输出符合 output_schema
场景测试 3-5 个典型场景覆盖 每个场景有预期输出
回归测试 修改后重跑场景测试 已有场景不退化
诚实边界测试 给超出 Skill 能力的问题 Skill 应主动声明"无法处理"

Skill 版本管理和进化

参考 nuwa-skill 的更新机制 + GSD 的 state 管理:

维度 方案
版本号 SKILL.md frontmatter 的 version 字段,遵循 semver
变更记录 Skill 目录下的 CHANGELOG.md
兼容性 version 变更时检查依赖 Skill 的 frontmatter
进化机制 Agent 使用 Skill 后,如果发现问题,可以建议修改(不直接改,走 PR 流程)
蒸馏创建 参考 nuwa-skill 的 5 阶段流程,可以半自动化创建新 Skill

与 v3.1 设计的关系

本方案完全兼容 v3.1 的四部分架构,做了以下细化:

v3.1 部分 本方案对应 细化内容
A. Hook 铁律层 Layer 0: 铁律 铁律内容具体化(IR-1~IR-5
B. Agent 角色层 Layer 1: 角色 不变
C. 通用 Skill 层 Layer 2: 准则 + Layer 3: 技能 细分为准则型 + 过程型
D. moziplus 专用层 Layer 4: 引擎注入 不变

新增:

  • Skill 注册/发现/加载的工程化方案
  • Skill 测试框架
  • Skill 版本管理
  • Skill 组合编排机制
  • 诚实边界要求

实施路线

Phase 内容 时间
P0 铁律 Hook + Skill type 字段(区分 guideline/procedure 2 天
P1 现有 42 个 Skill 打标分类(guideline vs procedure 1 天
P2 Skill 测试框架(结构测试 + 干跑测试) 3 天
P3 Skill 版本管理 + 变更记录 2 天
P4 Skill 蒸馏工具(参考 nuwa-skill 5 天

总结:两个课题的协同关系

课题 4(智能拆解)和课题 8(Skill 体系)不是孤立的,它们协同工作:

用户需求
  │
  ├→ [课题4] 庞统智能拆解
  │   ├ 分析需求(用 plan-act-verify skill
  │   ├ 选择模板组件(用 mozi-task-manager skill
  │   ├ AI 增强(用 design-architecture skill
  │   └ Plan Checker 验证(用 code-review skill 作为 guideline
  │
  └→ [课题8] Skill 体系支撑
      ├ 铁律层保证基本纪律
      ├ 准则层保证质量标准
      ├ 技能层提供具体操作方法
      └ 引擎层注入任务上下文

核心原则

  1. Skill 是"执行准则"不是"执行步骤" — 给 Agent 方向和边界,不绑死每一步
  2. 拆解是"模板 + AI 增强"不是"完全自由" — 有约束的灵活才是可靠的灵活
  3. 验证是"独立 Agent"不是"自我检查" — 不信任 LLM 自律
  4. 渐进式加载 — 不浪费 token,按需提供信息
  5. 诚实边界 — 每个 Skill 和拆解结果都声明自己的局限