1142 lines
45 KiB
Markdown
1142 lines
45 KiB
Markdown
# 调研报告:智能拆解机制 + Skill 体系
|
||
|
||
**日期**: 2026-05-15
|
||
**作者**: 庞统士元 (pangtong-fujunshi)
|
||
**版本**: v2.6-research-04
|
||
**用途**: moziplus v2.6 AI Native DevOps 平台设计参考
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
- [课题 4:智能拆解机制](#课题-4智能拆解机制)
|
||
- [已有经验(知识库/wiki)](#已有经验知识库wiki)
|
||
- [业界优秀实践对比表](#业界优秀实践对比表课题4)
|
||
- [约束 vs 灵活性分析](#约束-vs-灵活性分析)
|
||
- [推荐方案(结合 AI Native 目标)](#推荐方案结合-ai-native-目标课题4)
|
||
- [课题 8:Skill 体系工程落地](#课题-8skill-体系工程落地)
|
||
- [已有经验(知识库/wiki + OpenClaw 现有 Skill)](#已有经验知识库wiki--openclaw-现有-skill)
|
||
- [业界优秀实践对比表](#业界优秀实践对比表课题8)
|
||
- [Skill 三层约束工程化方案](#skill-三层约束工程化方案)
|
||
- [推荐方案(结合 AI Native 目标)](#推荐方案结合-ai-native-目标课题8)
|
||
|
||
---
|
||
|
||
# 课题 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. MetaGPT:SOP 自动链 + _watch 声明式订阅
|
||
|
||
**核心理念**:将人类软件公司的 SOP(标准操作流程)编码为 prompt 序列,Agent 之间通过发布-订阅自动链接。
|
||
|
||
**拆解机制**:
|
||
- **SOP 流水线**:ProductManager → Architect → ProjectManager → Engineer,每步自动触发
|
||
- **_watch 声明式订阅**:每个 Role 通过 `self._watch({UpstreamAction})` 订阅上游产出,上游完成后自动触发下游
|
||
- **Action 基类**:每个 Action 接收 `with_messages`(上游消息),返回 `Message`(结构化产出)
|
||
- **Environment 对象**:所有 Agent 放入同一个 Environment,自动调度订阅关系
|
||
|
||
```python
|
||
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-done:discuss→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 Disclosure**:workflow 按需加载子模块(modes/、templates/),避免一次性注入过多内容
|
||
- **Agent Size-Budget**:XL(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. wanman:Explore→Evaluate→Execute 三阶段 + Token 预算
|
||
|
||
**核心理念**:Agent Matrix 框架,通过 JSON-RPC Supervisor 协调多个 Claude Code/Codex 子进程。
|
||
|
||
**拆解机制**:
|
||
- **Agent 配置**:JSON 文件定义 agents(name, 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**:将软件开发分解为有序的 phases(Demand 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-agent:Goal → DAG 自动分解
|
||
|
||
**核心理念**:Goal-first,用户描述目标,Coordinator 自动分解为 Task DAG。
|
||
|
||
**拆解机制**:
|
||
- **`runTeam(team, goal)`**:一个调用,Coordinator 自动分解目标为任务 DAG
|
||
- **自动并行化**:无依赖的任务自动并行执行
|
||
- **混合 Provider**:10+ LLM 适配器,不同 agent 可用不同模型
|
||
- **Observability**:`onProgress` 事件流 + `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 / Databricks:Supervisor 模式
|
||
|
||
**核心理念**:Supervisor Agent 负责意图分析 + Agent 选择,单次 LLM 调用同时完成两个决策。
|
||
|
||
**拆解机制**:
|
||
- **Supervisor Agent**:接收用户输入,一次性完成意图识别 + Agent 选择 + 参数提取
|
||
- **Hybrid Routing**:确定性快速路径 + LLM fallback(生产系统推荐混合路由)
|
||
- **Message Queue**:Agent 间通过消息队列通信
|
||
- **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 Mode**:`claude -p "task"` 非交互模式,自动处理
|
||
- **Task Tool**:Agent 可 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 extraction(AI 挖掘隐含需求) |
|
||
| TradingAgents | 预定义 analyst 类型(固定节点池) + `selected_analysts` 动态选择 |
|
||
| open-multi-agent | Goal → DAG(AI 动态生成) + 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 Detection**(GSD 思路):
|
||
- 监控规划者是否静默丢弃了需求
|
||
- 如果发现需求消失,自动标记并询问用户
|
||
|
||
#### 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 个固定模板,而是 **模板组件库**:
|
||
|
||
```json
|
||
{
|
||
"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 |
|
||
| 粒度 | ❌ 固定 | ✅ 复杂度自适应 |
|
||
| 铁律保证 | ❌ 无 | ✅ 不可删除节点 |
|
||
|
||
---
|
||
|
||
# 课题 8:Skill 体系工程落地
|
||
|
||
## 已有经验(知识库/wiki + OpenClaw 现有 Skill)
|
||
|
||
### OpenClaw 现有 Skill 体系
|
||
|
||
**SKILL.md 规范**:
|
||
- 每个 Skill 是一个目录,包含 `SKILL.md` 文件
|
||
- YAML frontmatter:`name`、`description`
|
||
- 正文:指令性内容(工作流、最佳实践、指引)
|
||
- 注册:放在 `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 frontmatter(name + description) | 系统启动 | ~100 token/skill |
|
||
| L2: Matching | 检查 description 是否匹配当前任务 | 每轮推理 | 0(已有 L1) |
|
||
| L3: Full Load | SKILL.md 正文 | 确认匹配后 | 完整内容 |
|
||
| L4: Overflow | 低频 Skill description 被截断 | 超预算时 | 降级为更短描述 |
|
||
|
||
**关键设计**:
|
||
- **skillListingBudgetFraction**:技能列表占上下文的百分比(默认约 2%)
|
||
- **Progressive disclosure**:从轻到重,按需加载
|
||
- **Workflow vs Reference**:Skill 正文是"做什么"(workflow),不是"为什么"(narrative)
|
||
- **allowed_tools / model / disable_model_invocation**:frontmatter 可选字段
|
||
|
||
**SKILL.md 结构**:
|
||
```yaml
|
||
---
|
||
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 → Critic(3 个独立 LLM 验证)
|
||
- **deep-interview**:苏格拉底式提问,先澄清再动手
|
||
- **ralph**:持久化执行循环(state 文件跨 session)
|
||
|
||
**优点**:
|
||
- 三层分类清晰(做→增强→保证)
|
||
- Skill 等级系统控制复杂度
|
||
- 跨 session 持久化(state 文件)
|
||
|
||
**缺点**:
|
||
- 三层之间没有明确的接口协议
|
||
- 组合依赖 Agent 自行判断
|
||
- 没有标准化的测试框架
|
||
|
||
### 3. nuwa-skill:5 阶段蒸馏 + 检查点
|
||
|
||
**架构:蒸馏式 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 Protocol**:Skill 不只是"知道什么",还定义了"怎么做"(遇到事实问题先搜索再回答)
|
||
- **诚实边界**:每个 Skill 必须声明自己做不到什么
|
||
- **质量自检脚本**:`quality_check.py` 自动检查 6 项通过标准
|
||
- **心智模型驱动**:从蒸馏出的心智模型推导回答策略
|
||
|
||
**优点**:
|
||
- Skill 可以通过半自动化流程创建
|
||
- 多检查点保证质量
|
||
- 诚实边界增加了可信度
|
||
- 心智模型驱动是创新点
|
||
|
||
**缺点**:
|
||
- 创建流程复杂(6 phase)
|
||
- 主要针对"人物 Skill",通用化需要改造
|
||
- 没有 Skill 之间的组合机制
|
||
|
||
### 4. MetaGPT Action 基类
|
||
|
||
**架构:面向对象的 Action 继承**
|
||
|
||
```python
|
||
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 hints(`TRIGGER when: ...` 行)
|
||
- `gsd-*` 目录识别为框架 Skill
|
||
|
||
**Skill Manifest**(清单):
|
||
```json
|
||
{
|
||
"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 注册**
|
||
|
||
```python
|
||
@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 接口
|
||
|
||
**架构:函数式组合**
|
||
|
||
```python
|
||
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`
|
||
|
||
```typescript
|
||
// 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 示例**:
|
||
|
||
```yaml
|
||
---
|
||
name: code-review-guideline
|
||
description: "代码审查准则。做审查时参考。"
|
||
type: guideline # 区别于 type: procedure
|
||
---
|
||
# 代码审查准则
|
||
|
||
## 必须检查
|
||
- [ ] 是否有未处理的异常
|
||
- [ ] 是否有硬编码的密钥/密码
|
||
- [ ] 是否有死循环风险
|
||
- [ ] 是否符合项目命名规范
|
||
|
||
## 禁止
|
||
- 不得批准自己写的代码(IR-1)
|
||
- 不得在没有运行测试的情况下批准
|
||
|
||
## 诚实边界
|
||
- 审查者可能遗漏深层逻辑问题
|
||
- 性能问题需要实际测试数据
|
||
```
|
||
|
||
**技能型 Skill 示例**:
|
||
|
||
```yaml
|
||
---
|
||
name: quant-backtest
|
||
description: "量化策略回测执行流程。"
|
||
type: procedure
|
||
---
|
||
# 量化回测流程
|
||
|
||
## 步骤
|
||
1. 从 NAS 获取数据(路径:/Volumes/stock/...)
|
||
2. 编写策略代码(模板:...)
|
||
3. 提交回测请求(API:http://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 注册、发现、加载
|
||
|
||
#### 注册
|
||
|
||
```yaml
|
||
# SKILL.md frontmatter
|
||
---
|
||
name: quant-backtest
|
||
description: "量化策略回测执行流程。触发词:回测、backtest、策略测试。"
|
||
type: procedure # procedure | guideline
|
||
version: "1.0.0"
|
||
agents: [zhangfei-dev, jiangwei-infra] # 哪些 Agent 可用
|
||
triggers: [回测, backtest, 策略测试]
|
||
---
|
||
```
|
||
|
||
#### 发现
|
||
|
||
```typescript
|
||
// 启动时扫描
|
||
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,而是通过"推荐"机制松耦合。
|
||
|
||
```yaml
|
||
---
|
||
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 和拆解结果都声明自己的局限
|