Files
sanguo_moziplus_v2/docs/design/topic4-decomposition-skill-proposal.md
T
2026-05-16 22:37:17 +08:00

639 lines
27 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 课题4 设计方案:智能拆解机制 + Skill 体系工程落地
**作者**: 庞统士元
**日期**: 2026-05-15
**状态**: 方案待确认
**前置**: 课题1/2/3 已结题
**调研报告**: `docs/research/v2.6-research-04-decomposition-skills.md`
---
## Part A:智能拆解机制
### 1. 设计目标
v1.0 的拆解是"关键词匹配 → 固定 DAG 模板",问题是:
- 模板太死板(5个固定DAG),无法根据需求动态调整
- 关键词匹配粗糙,复杂需求容易匹配错模板
- 庞统拆解时靠 LLM 理解,没有结构化引导
课题4要解决:**庞统收到用户需求后,如何把它变成黑板上的任务(含依赖关系、角色分配、风险等级)。**
### 2. 和课题1/2/3的关系
课题1-3 已经定义了"任务在黑板上长什么样"tasks 表 schema、状态机、reviews 表、Guardrail 配置)。课题4定义的是"任务怎么被创建出来"。
```
课题4(创建) → 课题2(触发执行) → 课题3(审查) → 课题1(失败处理)
```
### 3. 设计决策
#### D4-1:模板组件库替代固定 DAG
> **参考实践**
> - **MetaGPT**SOP 自动链 + `_watch` 声明式订阅,不是固定 DAG
> - **get-shit-done**discuss→plan→execute→verify→ship 五阶段,但每阶段内部灵活
> - **open-multi-agent**Goal → DAG 自动分解,按 complexity 决定粒度
> - **v1.0**5 个固定模板(full_role_development / circular_review_test / multi_stage_review / data_acquisition / multi_edge_discussion
**方案**:不是 5 个完整 DAG,而是**模板组件库(Phase Components**。庞统按需组合。
```yaml
# template_components.yaml
components:
research:
trigger: "需要调研/分析"
mandatory: false
steps:
- id: lit_search
name: "资料调研"
agent: zhaoyun-data
output: "research_report.md"
- id: analysis
name: "分析总结"
agent: pangtong-fujunshi
output: "analysis.md"
design:
trigger: "需要架构/设计"
mandatory: false
steps:
- id: arch_design
name: "架构设计"
agent: pangtong-fujunshi
output: "design.md"
- id: design_review
name: "设计评审"
agent: simayi-challenger
review_type: plan_review
coding:
trigger: "需要编码/实现"
mandatory: false
steps:
- id: implement
name: "编码实现"
agent: zhangfei-dev
output: "code/"
- id: code_review
name: "代码评审"
agent: simayi-challenger
review_type: output_review
data:
trigger: "需要数据获取/处理"
mandatory: false
steps:
- id: data_acquire
name: "数据获取"
agent: zhaoyun-data
output: "data/"
- id: data_validate
name: "数据验证"
agent: zhaoyun-data
deploy:
trigger: "需要部署"
mandatory: false
steps:
- id: deploy
name: "部署"
agent: jiangwei-infra
output: "deploy_log.md"
- id: deploy_verify
name: "部署验证"
agent: jiangwei-infra
risk_control:
trigger: "涉及实盘/资金/策略"
mandatory: true # 触发条件满足时强制包含
steps:
- id: risk_check
name: "风控检查"
agent: guanyu-dev
review:
trigger: "always"
mandatory: true # 铁律 IR-1
steps:
- id: final_review
name: "最终审查"
agent: simayi-challenger
review_type: final_review
custom:
trigger: "none" # 不自动触发,庞统主动选择
description: "庞统自由定义的 phase,结构与标准组件相同"
steps: [] # 空的,庞统运行时填充
```
**custom 组件接口**:与标准组件同 schemasteps 列表,每个 step 有 id/name/agent/output/review_type)。Plan Checker 对 custom 组件的验证和标准组件相同——检查覆盖性、依赖性、粒度、铁律。唯一区别是 custom 不从库中引用,而是庞统在 Step 2 中自由定义。
```
**庞统的拆解流程**
```
Step 1:需求结构化
- 分析用户输入,提取需求列表
- 每个需求标注类型(数据/编码/分析/部署/风控)
- 评估复杂度(简单/中等/复杂)
- 隐含需求挖掘(如用户说"回测"→ 隐含需要数据获取)
- 产出:structured_requirements → 写入黑板 decisions 表
Step 2:组件选择 + 组合
- 根据需求类型,从组件库选择需要的 phases
- 检查 mandatory 组件是否被遗漏
- 组合 phases,排列依赖关系
- AI 增强:增删调整(如"这次数据已有,跳过 data_acquire"
- 产出:draft_plan → 写入黑板 decisions 表
Step 3Plan Checker 验证
- 独立验证(不是庞统自己验证自己)
- 检查项:
- 覆盖性:每个需求是否被至少一个 step 覆盖
- 依赖性:step 依赖是否合理(无环、无遗漏前置)
- 粒度性:step 是否过大/过小
- 铁律:IR-1(每任务至少2 Agent)是否满足
- 风险:risk_level 是否合理,高风险任务是否有对抗审查
- 不通过 → 回 Step 2 调整(最多 2 轮)
- 2 轮不通过 → 庞统带着 Plan Checker issues 创建任务,标注 risk_level=high,由审查者在 plan_review 阶段进一步验证。不升级用户(庞统能处理)
- 通过 → 进入 Step 4
Step 4:任务创建
- 将 plan 转为黑板 tasks
- 每个 step → 一个 task(含 truths / artifacts / constraints / risk_level / assigned_to
- 依赖关系 → tasks 的 depends_on 字段
- 庞统在黑板上写 scope_declaration
- 产出:tasks 写入黑板 → Daemon 检测 → 开始执行
```
#### D4-2:需求结构化的输出格式
庞统分析用户需求后,输出结构化需求到黑板:
```json
{
"original_input": "实现一个双均线策略的回测",
"requirements": [
{
"id": "req-001",
"description": "获取标的分钟线数据",
"type": "data",
"acceptance_criteria": "数据文件存在于 NAS 指定路径",
"complexity": "simple",
"implicit": true
},
{
"id": "req-002",
"description": "编写双均线策略逻辑",
"type": "coding",
"acceptance_criteria": "策略代码通过单元测试",
"complexity": "medium",
"implicit": false
},
{
"id": "req-003",
"description": "回测并生成报告",
"type": "analysis",
"acceptance_criteria": "回测报告包含收益曲线和关键指标",
"complexity": "medium",
"implicit": false
}
],
"inferred_components": ["data", "coding", "analysis"],
"risk_level": "standard",
"estimated_tasks": 3
}
```
#### D4-3Plan Checker 独立验证
> **参考实践**
> - **superpowers**plan-document-reviewer subagent 独立验证方案
> - **oh-my-claudecode Critic**:预判→验证→自审五阶段
> - **get-shit-done**Scope Reduction Detection(完成后反向检查覆盖)
Plan Checker 是一个 Subagent(不需要 Agent 身份),Daemon spawn 后执行:
```yaml
# review_protocols/plan_check.yaml
name: plan_check
description: "验证庞统的拆解方案是否合理"
dimensions:
- id: coverage
description: "每个需求是否被至少一个 task 覆盖"
weight: critical
method: "需求 ID → task ID 映射矩阵,检查是否有遗漏"
- id: dependency
description: "依赖是否合理"
weight: critical
method: "拓扑排序检查无环,前置是否完整"
- id: granularity
description: "粒度是否合适"
weight: major
method: "检查每个 task 的 truths 是否是一个 Agent 一次 spawn 能完成的"
- id: iron_rules
description: "铁律是否满足"
weight: critical
method: "IR-1: 至少 2 Agent 参与;IR-2: 每个 task 有 truths"
- id: risk_alignment
description: "风险等级是否合理"
weight: major
method: "涉及资金/部署 → high;纯分析 → research"
output_schema: "schemas/plan-check-output.schema.json"
verdict_options: ["approved", "needs_revision"]
```
#### D4-4:复杂度驱动的粒度控制
> **参考实践**
> - **open-multi-agent**:按 complexity 决定是否拆分子任务
> - **wanman**Token 预算控制执行深度
| 复杂度 | 判断标准 | 拆解策略 | truths 定义 |
|--------|---------|---------|------------|
| **simple** | 单一文件、单一操作、< 50 行 | 1 个 task | 1-2 条 truths |
| **medium** | 多文件、有依赖、需要验证 | 1-3 个 task + 依赖 | 每个 2-3 条 truths |
| **complex** | 跨模块、多角色、需要调研 | 多 phase 组件组合 | 每个 3-5 条 truths |
**粒度自检规则**(庞统的 Skill 中定义):
- 一个 task 的 truths > 5 条 → 拆分
- 一个 task 需要跨 3+ 角色 → 拆分
- 一个 task 预计 > 30 分钟 → 拆分
#### D4-5:用户确认点
> **参考实践**
> - **get-shit-done**discuss phase 是必须的用户确认步骤
> - **v2.0 PRD**Phase 1 需求探索(苏格拉底对话)
不是每步都问用户,但在关键节点确认:
| 检查点 | 触发条件 | 用户看到什么 |
|--------|---------|------------|
| 需求确认 | Step 1 完成后 | 结构化需求列表 + 隐含需求 |
| 方案确认 | Step 2 完成后(complex 任务) | 任务列表 + 依赖关系 + 预估时间 |
simple 任务跳过方案确认,直接创建。complex 任务必须确认。
**用户干预三种模式**(来源:2026 human-in-the-loop 综述 + OpenAI Agents SDK):
| 模式 | 机制 | 适用 |
|------|------|------|
| 审批式 | Agent 暂停等用户确认 | high 任务方案确认、部署前 |
| 通知式 | 推送消息,用户可回复可不回复 | standard 任务产出审查后 |
| 中断式 | Agent 主动问用户 | 歧义需求、争议仲裁 |
**当前落地**:通过庞统 sessionwebchat/Signal)。**未来**dashboard Checkpoint 面板。
**干预点由 risk_level 动态决定**low→无干预、standard→通知式、high→审批式、用户随时可中断。
---
## Part BSkill 体系工程落地
### 4. 设计目标
三个课题产出了大量"Agent 需要知道怎么做"的内容(28 项 Skill TODO),需要一个系统的 Skill 体系来承载。
### 5. 核心洞察:被动触发不可靠
> **问题**:我们写了好多个 Skill,但除了用户明文指定"用 PAV""用 delegation",几乎没见哪个 Skill 被主动触发过。
>
> **根因**Agent 不知道自己不知道什么。OpenClaw 的 Skill 列表注入 system prompt 后,Agent 需要自己判断需要哪个——但 Agent 根本不知道"我应该先读一个 Skill 来学怎么做"。
>
> **优秀实践验证**superpowers / GSD / open-multi-agent 没有一个是靠被动 Skill 触发的——全部是编排器构造好 prompt 直接注入。
**结论**:moziplus 的关键操作规范不走被动 Skill 发现,走引擎注入。
### 5.1 铁律定义(L0 内容)
铁律是**所有 Agent 共享的**强制规则,不可定制。角色追加的规则放在 L1(SOUL.md)。
| 编号 | 铁律 | 来源 |
|------|------|------|
| IR-1 | 每个任务至少 2 个 Agent 参与(做 + 挑战) | v1.0 PRD |
| IR-2 | 每个 task 必须有 truths(可观测行为标准) | 课题1 must_haves |
| IR-3 | 结论必须有证据(file:line 或具体引用) | oh-my-claudecode Critic |
| IR-4 | 语义含糊先确认,不擅自执行 | SOUL.md 底线 |
| IR-5 | 改代码先改文档(需求→设计→测试→部署) | v1.0 实践 |
**Token 估算**5 条铁律,每条 ~30 token(编号+一句话),总计 ~150 token + XML 包装 ~50 token = **~200 token**。加上角色追加(L1 SOUL.md 已计入),L0 预算 ~200-300 token,远低于 ~500 上限。
### 6. 设计决策
#### D4-6:四层上下文架构
> **参考实践**
> - **superpowers**:每个 subagent 有独立 prompt 模板(implementer-prompt.md / spec-reviewer-prompt.md),模板里写死操作步骤
> - **open-multi-agent**`buildTaskPrompt()` 拼 task title + description + 依赖产出 + messages
> - **GSD**:每个 executor 拿到 PLAN.md + PROJECT.md + STATE.md + CONTEXT.md,按 context window 大小自适应
> - **OpenClaw**Hook `agent_turn_prepare` 可注入 prependContext/appendContext
共同模式:**操作规范(模板)+ 项目背景(固定)+ 任务上下文(动态)**,编排器拼装,不靠 Agent 自己找。
```
┌─────────────────────────────────────────────────────────────┐
│ Layer 0: 铁律(Iron Rules
│ 机制: OpenClaw Hook agent_turn_prepare │
│ 保证: 每轮强制注入 | Token: ~500 │
│ 内容: IR-1~IR-5(每个 Agent 可定制) │
├─────────────────────────────────────────────────────────────┤
│ Layer 1: 角色(Agent Identity
│ 机制: SOUL.md + IDENTITY.md + AGENTS.md │
│ 保证: 每轮强制 | Token: ~2000 │
│ 内容: 角色定义 + 行为准则 + 记忆 │
│ 变化频率: 极少(换平台不变) │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: 操作规范 + 任务上下文(引擎注入) │
│ 机制: Daemon spawn 时拼装 bootstrap 消息 │
│ 保证: 每次 spawn 强制注入 | Token: ~1000-2000 │
│ 三段式: │
│ ① 角色操作规范模板(executor.md / reviewer.md / planner.md)│
│ → 固定部分,写死关键操作步骤(scope/output/handoff等) │
│ → 变化频率: 很少(moziplus 平台变了才改) │
│ ② 项目背景(项目路径/框架/NAS/回测服务) │
│ → 半固定部分,按项目配置 │
│ ③ 任务上下文(truths/artifacts/constraints + depends_on产出)│
│ → 动态部分,每次 spawn 不同 │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: 参考信息(OpenClaw Skill 被动发现) │
│ 机制: OpenClaw Skill 列表注入 system prompt │
│ 保证: ❌ 不保证触发(锦上添花) │
│ 内容: 具体操作方法(回测流程/数据获取/部署步骤等) │
│ 优化: description 中加触发场景+示例对话+触发词(见D4-8) │
└─────────────────────────────────────────────────────────────┘
```
**张飞编码时靠什么**
- L0+L1:身份和纪律(每轮都有)
- L2 ① executor.md"读黑板→写scope→执行→写output→写Handoff"(引擎注入,不会忘)
- L2 ③ 任务上下文:"这次要做什么、truths 是什么、前序产出是什么"(引擎注入)
- L3 quant-backtest Skill:具体回测代码怎么写(自己判断要不要读)
#### D4-7L2 引擎注入的拼装原则
> **参考实践**
> - **superpowers**implementer/spec-reviewer/code-quality-reviewer 三个独立 prompt 模板,只包含该角色需要的信息
> - **open-multi-agent**`buildTaskPrompt()` 只注入依赖链上的产出(default-deny),不是全量
> - **GSD**:按 context window 大小自适应(200K 只给任务级,1M 给全量)
**原则:按角色和任务阶段精确注入,不统一拼装,不多不少。**
| Agent 角色 | 注入内容 | 不注入 |
|-----------|---------|--------|
| **执行者** | executor.md + Guardrail 配置 + 任务上下文 | Review Protocol |
| **审查者** | reviewer.md + Review Protocol + required_reading | Guardrail 配置 |
| **庞统(规划)** | planner.md + template_components + Plan Checker | Review Protocol |
| **庞统(裁决)** | adjudicator.md + 正方 comment + 反方 comment | Guardrail 配置 |
| **反驳者** | rebuttal.md + 审查者 review + ACCEPT/REJECT 指令 | Review Protocol |
| **Plan Checker** | plan_checker.md + 需求列表 + 拆解方案 | 全部角色模板 |
**拼装逻辑**Daemon 代码):
```python
def build_bootstrap(agent_id, role, task):
parts = []
# ① 角色操作规范模板
template = load_template(f"prompt_templates/{role}.md")
parts.append(template)
# ② 项目背景(半固定)
parts.append(format_project_context(task))
# ③ 任务上下文(动态)
parts.append(format_task_context(task))
# 按角色追加(只注入该角色需要的)
if role == "executor":
parts.append(format_guardrails(task.task_type))
elif role == "reviewer":
parts.append(format_review_protocol(task.review_type))
parts.append(format_required_reading(task))
elif role == "planner":
parts.append(format_template_components())
elif role == "rebuttal":
parts.append(format_review_to_respond(task))
return "\n\n".join(parts)
```
#### D4-8L3 Skill 被动触发的优化写法
> **参考实践**
> - **superpowers code-reviewer**description 里嵌入 `<example>` 标签,用对话示例教 Agent 触发场景
> - **wiki-query**description 里加 Chinese/English triggers 列表
> - **gstack plan-design-review**:加 `Proactively suggest when...` 指令
> - **SkillRouter 论文**2026):Agent 自主搜索(agentic)比纯关键词/纯语义准确率最高
即使 L3 不保证触发,也要优化写法提高命中率。**moziplus 的 Skill 全部按以下规范写 description**
```yaml
---
name: quant-backtest
description: >
标准化量化回测技能。
When to use: 当需要回测量化策略、验证策略历史表现、测试策略参数时。
Chinese triggers: 回测、backtest、策略测试、历史表现验证、参数优化。
English triggers: backtest, strategy test, historical performance, parameter optimization.
Proactively suggest when: 用户提到策略实现完成后,主动建议运行回测验证。
Example: user says "帮我测一下双均线策略" → use quant-backtest skill.
---
```
**description 四要素**
1. **功能描述**:这个 Skill 干什么
2. **触发场景**(When to use):什么情况下该用
3. **触发词**Chinese/English triggers):中英文关键词
4. **主动建议**Proactively suggest):Agent 看到相关场景时主动推荐
#### D4-9Skill 诚实边界
> **参考实践**nuwa-skill Agentic Protocol 要求每个 Skill 声明自己做不到什么
每个 Skill 必须包含 `## 诚实边界` section
```markdown
## 诚实边界
- 本 Skill 不覆盖实盘交易逻辑(实盘请参考 live-trading Skill
- 性能问题需要实际测试数据,纯代码审查无法确认
- 复杂策略可能需要拆分为多个 task
```
#### D4-10moziplus 目录结构
```
sanguo_moziplus/
prompt_templates/ ← L2 ① 角色操作规范(Daemon 读取拼装)
executor.md ← 执行者操作步骤(读黑板→scope→执行→output→handoff
reviewer.md ← 审查者操作步骤(读Protocol→审查→写review
planner.md ← 庞统拆解步骤(需求结构化→组件选择→PlanChecker
adjudicator.md ← 庞统裁决步骤(正方反方→判断→写决策)
rebuttal.md ← 反驳步骤(读review→ACCEPT/REJECT/PARTIAL
plan_checker.md ← Plan Checker 步骤(覆盖性→依赖→粒度→铁律)
review_protocols/ ← L2 审查协议(Daemon 构造 reviewer bootstrap 时读取)
plan_review.yaml ← 方案审查协议
output_review.yaml ← 产出审查协议
guardrail_l2.yaml ← L2 轻量AI检查协议
analysis_review.yaml ← 分析审查协议
plan_check.yaml ← Plan Checker 协议
schemas/ ← CLI 层 Schema 校验(blackboard.py 读取)
handoff.schema.json ← Handoff 格式校验
output.schema.json ← Output 格式校验
decide.schema.json ← Decision 格式校验
observe.schema.json ← Observation 格式校验
review-output.schema.json ← Review 格式校验
template_components.yaml ← 模板组件库(庞统拆解时参考)
guardrails.yaml ← 声明式 GuardrailDaemon 执行检查)
project_context.yaml ← L2 ② 项目背景(NAS路径/回测服务/框架)
```
**各目录作用**
| 目录/文件 | 谁读 | 作用 | 变化频率 |
|----------|------|------|----------|
| `prompt_templates/` | Daemon | 按 Agent 角色拼装 bootstrap 消息 | 很少变 |
| `review_protocols/` | Daemon | 构造审查者的 bootstrap 消息 | 偶尔变 |
| `schemas/` | blackboard.py CLI | 写入时校验数据格式 | 偶尔变 |
| `template_components.yaml` | 庞统(通过 L2 注入) | 拆解需求时选择组件 | 偶尔变 |
| `guardrails.yaml` | Daemon | 自动检查产出 | 偶尔变 |
| `project_context.yaml` | Daemon | 拼装项目背景信息 | 换项目时变 |
**注意**:Agent 不直接读这些文件——全部由 Daemon 读取后拼装到 bootstrap 消息中注入。
#### D4-11:L2 引擎注入示例(张飞编码场景)
Daemon spawn 张飞时拼装的完整 bootstrap 消息:
```
═══ 操作规范(executor.md 模板)═══
你是任务执行者。按以下步骤工作:
## 1. 理解任务
- 读黑板任务详情(blackboard.py read --task {task_id}
- 理解 truths(可观测行为标准)、artifacts(必须产出)、constraints(约束)
## 2. 声明范围
- 写 scope_declarationblackboard.py decide --task {task_id} --decider zhangfei-dev
- 格式:{"decision": "我计划做什么", "rationale": "为什么", "artifacts": ["路径"]}
## 3. 执行工作
- 按你的专业能力完成任务
- 发现风险 → blackboard.py observe --task {task_id} --severity warning
- 需要协作 → blackboard.py comment --task {task_id} @mention
## 4. 提交产出
- blackboard.py output --task {task_id} --summary "一句话" --content-path "文件路径"
## 5. 写交接
- blackboard.py comment --task {task_id} --author zhangfei-dev \
--handoff '{"completed":"...", "artifacts":["..."]}'
## 6. 通知引擎
- 写 inbox 文件通知 Daemon 完成
═══ 项目背景(project_context.yaml)═══
项目:sanguo_quant_live
框架:vnpy
NAS 数据:/Volumes/stock/
回测服务:http://192.168.2.154:8088
编码规范:类型注解必须、禁止 any、match 现有风格
═══ 任务上下文(黑板动态读取)═══
任务 ID: task-001
任务标题: 实现双均线策略
truths: ["策略代码通过单元测试", "回测结果包含收益曲线"]
artifacts: ["task-001/strategy.py", "task-001/backtest_report.pdf"]
constraints: ["使用 vnpy 框架", "不超过 500 行"]
risk_level: standard
═══ 前序信息(depends_on 产出)═══
[赵云 Handoff] 完成了分钟线数据下载,产出 task-000/data/
数据路径: /Volumes/stock/min_data/IF888.csv
═══ 可选参考 ═══
如果需要具体操作方法,用 read 加载:
- 编码:~/.openclaw/skills/coding-implementation/SKILL.md
- 回测:~/.openclaw/skills/quant-backtest/SKILL.md
```
**对比审查者(司马懿)收到的 bootstrap**
```
═══ 操作规范(reviewer.md 模板)═══
你是质量审查者。按 Review Protocol 执行审查:
## 审查步骤
1. 预判:先不读产出,预测 3-5 个最可能出问题的点
2. 验证:读实际产出(不是报告),逐条验证每个 truth
3. 多视角:从安全/新人/运维三个角度看产出
4. 缺口分析:不只看"什么有问题",还看"什么缺失了"
5. 自审:给每个 finding 打 confidence,低 confidence 降级
## 写 Review
- blackboard.py review --task {task_id} --verdict [approved|rejected|needs_revision] ...
[... 对抗性指令 ...]
═══ Review Protocoloutput_review.yaml)═══
[审查维度、方法、输出 Schema 等详细协议内容]
═══ 任务上下文 ═══
[同上]
═══ Required Reading ═══
- 执行者 scope_declaration: ...
- 产出物: task-001/strategy.py
- must_haves truths: [...]
```
---
## 7. 和现有设计的对齐检查
| 已有设计 | 课题4 补充 | 一致性 |
|---------|-----------|--------|
| §3.2 tasks 表 schema | D4-1 模板组件输出 → tasks 写入 | ✅ truths/artifacts/constraints/risk_level/depends_on 对齐 |
| §9.2 分级审查矩阵 | D4-4 复杂度→粒度控制 | ✅ risk_level 在创建时标注 |
| §4.2 Tick+Inbox | D4-1 Step 4 创建任务后 Daemon tick 检测 | ✅ 创建是事件源 |
| §9.4 Review Protocol Registry | D4-10 review_protocols/ 目录 | ✅ Daemon 构造审查者 bootstrap 时读取 |
| §9.9 Agent vs Subagent | D4-3 Plan Checker 走 Subagent | ✅ 无身份一次性检查 |
| Skill TODO 28项 | D4-10 prompt_templates/ 承载关键操作 | ✅ S-01~S-28 的关键操作写死在模板中 |
## 8. 遗留 TODO
| # | 待解决事项 | 归属 | 说明 |
|---|----------|------|------|
| ~~T4-1~~ | ~~template_components.yaml 完整定义~~ | ~~Phase 2~~ | ✅ 方案已定,开发实现 |
| ~~T4-2~~ | ~~Plan Checker 的 plan_check.yaml 实现~~ | ~~Phase 2~~ | ✅ 方案已定,开发实现 |
| ~~T4-3~~ | ~~prompt_templates/ 编写~~ | ~~Phase 1~~ | ✅ 方案已定,开发实现 |
| ~~T4-4~~ | ~~project_context.yaml 定义~~ | ~~Phase 1~~ | ✅ 方案已定,开发实现 |
| ~~T4-5~~ | ~~Daemon build_bootstrap() 拼装逻辑~~ | ~~Phase 1~~ | ✅ 方案已定,开发实现 |
| ~~T4-6~~ | ~~铁律 Hook 实现(L0~~ | ~~Phase 1~~ | ✅ 方案已定,开发实现 |
| ~~T4-7~~ | ~~现有 Skill description 优化(加四要素)~~ | ~~Phase 2~~ | ✅ 方案已定,开发实现 |
| ~~T4-8~~ | ~~Skill 诚实边界补充~~ | ~~Phase 2~~ | ✅ 方案已定,开发实现 |
| ~~T4-9~~ | ~~Skill 测试框架~~ | ~~Phase 3~~ | ➡️ 移至工具链课题(开发工具链的一部分,不属于拆解机制) |
| ~~T4-10~~ | ~~Skill 进化/蒸馏机制~~ | ~~Phase 3~~ | ➡️ 合并进课题6(经验→Skill的进化是经验沉淀闭环,课题6已有两级蒸馏+Skill生命周期) |