From a5c73f565a2958adeaeb23e7c5967761f1fd8851 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Thu, 4 Jun 2026 08:49:49 +0800 Subject: [PATCH] auto-sync: 2026-06-04 08:49:48 --- docs/design/11-context-layers-redesign.md | 116 +++++++++++----------- 1 file changed, 59 insertions(+), 57 deletions(-) diff --git a/docs/design/11-context-layers-redesign.md b/docs/design/11-context-layers-redesign.md index ca56111..247f8db 100644 --- a/docs/design/11-context-layers-redesign.md +++ b/docs/design/11-context-layers-redesign.md @@ -338,95 +338,97 @@ Shared Memory → Boids Rules(仅 team>1) → Task → Context → Coordination ### D1: 操作规范从 L2 降级到 L3 -**旧设计**(05-context-layers.md):`prompt_templates/executor.md` 是 L2 引擎注入组件,BootstrapBuilder 拼 Agent prompt 时自动注入。 +**旧设计**(05-context-layers.md):`prompt_templates/executor.md` 是 L2 引擎注入组件,BootstrapBuilder 拼 Agent prompt 时自动注入。 -**新设计**:操作规范变成 L3 A 类 Skill(`blackboard-executor`),由 L2 引擎通过 ROLE_SKILL_MAP 从 Skill 文件读取并注入全文。 +**新设计**:操作规范变成 L3 A 类 Skill(`blackboard-executor`),由 L2 引擎通过 ROLE_SKILL_MAP 从 Skill 文件读取并注入全文。 -**理由**: -1. 操作规范存放在 Skill 文件中(单一数据源),改 Skill 即生效,不需要维护两套 -2. L2 BootstrapBuilder 只做"读 Skill + 拼 context + 加约束",逻辑极简 -3. A 类 Skill 由引擎确定性注入,不靠 Agent 自主触发,保证每次执行都遵守操作规范 +**理由**: +1. 操作规范存放在 Skill 文件中(单一数据源),改 Skill 即生效,不需要维护两套 +2. L2 BootstrapBuilder 只做"读 Skill + 拼 context + 加约束",逻辑极简 +3. A 类 Skill 由引擎确定性注入,不靠 Agent 自主触发,保证每次执行都遵守操作规范 ### D2: 经验从 experiences 表变成 Skill -**旧设计**(05-context-layers.md):建 experiences 表,导入 119 条数据,BootstrapBuilder 按 tag 匹配注入最多 5 条。 +**旧设计**(05-context-layers.md):建 experiences 表,导入 119 条数据,BootstrapBuilder 按 tag 匹配注入最多 5 条。 -**新设计**:蒸馏经验提炼为 D 类 Skill(如 `trial-and-error-patterns`),Agent 按 description 匹配自主 read。 +**新设计**:蒸馏经验提炼为 D 类 Skill(如 `trial-and-error-patterns`),Agent 按 description 匹配自主 read。 -**理由**: -1. experiences 表 + tag 匹配 + 最多 5 条 → 过于复杂,且需要 BootstrapBuilder 代码改动 -2. 提炼为 Skill 后,经验是结构化的、可维护的、可迭代的 -3. **Hermes 验证**:Hermes 从经验创建 Skill(procedural memory),比原始经验数据更实用 -4. 119 条经验 → 提炼为 3 个 Skill(每个 ~10 条精炼模式),质量更高 +**理由**: +1. experiences 表 + tag 匹配 + 最多 5 条 → 过于复杂,且需要 BootstrapBuilder 代码改动 +2. 提炼为 Skill 后,经验是结构化的、可维护的、可迭代的 +3. **Hermes 验证**:Hermes 从经验创建 Skill(procedural memory),比原始经验数据更实用 +4. 119 条经验 → 提炼为 3 个 Skill(每个 ~10 条精炼模式),质量更高 ### D3: L2 瘦身到极致 -**旧设计** L2 有 7 个组件(操作规范、项目背景、任务上下文、前序信息、Guardrail、审查协议、经验注入),token 预算 ~1500。 +**旧设计** L2 有 7 个组件(操作规范、项目背景、任务上下文、前序信息、Guardrail、审查协议、经验注入),token 预算 ~1500。 -**新设计** L2 只保留 4 段(任务上下文、前序产出、角色操作规范全文、硬约束),token 预算 ~600。 +**新设计** L2 只保留 4 段(任务上下文、前序产出、角色操作规范全文、硬约束),token 预算 ~600。 -**理由**: -1. 操作规范从 Skill 文件读而非 prompt_templates,减少文件维护 -2. 砍掉 Guardrail 摘要、广播 API 端点、审查流转规则(这些是方法论,不是流转必须) +**理由**: +1. 操作规范从 Skill 文件读而非 prompt_templates,减少文件维护 +2. 砍掉 Guardrail 摘要、广播 API 端点、审查流转规则(这些是方法论,不是流转必须) 3. L2 越薄 → BootstrapBuilder 代码越简单 → bug 越少 → 越稳定 ### D4: Skill Router 模式 -**设计**:在 L3 中创建 `skill-router` 路由速查表,按三个分类(操作规范/方法论/经验参考)组织所有 Skill。Agent 从 L1 决策模式得知“执行任务前先读 skill-router”,在 skill-router 中查找对应的 Skill。 +**设计**:在 L3 中创建 `skill-router` 路由速查表,按三个分类(操作规范/方法论/经验参考)组织所有 Skill。Agent 从 L1 决策模式得知"执行任务前先读 skill-router",在 skill-router 中查找对应的 Skill。 -**理由**: -1. Skill 数量增至 ~15 个后,纯靠 description 触发不够可靠,需要路由层引导 -2. skill-router 是扁平速查表,Agent 读一次即可定位到目标 Skill -3. 维护简单:庞统人工维护,新增/修改/删除 Skill 时同步更新路由表 +**理由**: +1. Skill 数量增至 ~15 个后,纯靠 description 触发不够可靠,需要路由层引导 +2. skill-router 是扁平速查表,Agent 读一次即可定位到目标 Skill +3. 维护简单:庞统人工维护,新增/修改/删除 Skill 时同步更新路由表 -### D5: A 类 Skill 引擎直接注入全文,B/C/D 类靠 Description 自主触发 +### D5: A 类 Skill 引擎直接注入全文,B/C/D 类靠 Description 自主触发 -**设计**: -- **A 类(操作规范型,6 个)**:引擎通过 ROLE_SKILL_MAP 确定性注入全文,不靠 Description 触发。这些 Skill 是任务流转的必须品 -- **B 类(方法论型,4 个)**:靠 Description 自主触发。Agent 根据任务场景按需 read -- **C 类(审查协议型,1 个)**:靠 Description 自主触发 -- **D 类(经验型,3 个)**:靠 Description 自主触发 +**设计**: +- **A 类(操作规范型,6 个)**:引擎通过 ROLE_SKILL_MAP 确定性注入全文,不靠 Description 触发。这些 Skill 是任务流转的必须品 +- **B 类(方法论型,4 个)**:靠 Description 自主触发。Agent 根据任务场景按需 read +- **C 类(审查协议型,1 个)**:靠 Description 自主触发 +- **D 类(经验型,3 个)**:靠 Description 自主触发 -**理由**: -1. A 类是每次任务必须遵守的规范,不能冒 Agent 不触发的风险 -2. B/C/D 类是辅助性的,按需加载可节省 context -3. 分类清晰,开发者一眼就知道新 Skill 该归哪类、走哪种注入方式 +**理由**: +1. A 类是每次任务必须遵守的规范,不能冒 Agent 不触发的风险 +2. B/C/D 类是辅助性的,按需加载可节省 context +3. 分类清晰,开发者一眼就知道新 Skill 该归哪类、走哪种注入方式 -### D6: L1 SOUL.md 决策模式中加“执行任务前,先读 skill-router” +### D6: L1 SOUL.md 决策模式中加"执行任务前,先读 skill-router" -**设计**:在所有 Agent 的 SOUL.md 决策模式中加一条引导规则,让 Agent 养成“先查路由表再定位 Skill”的习惯。 +**设计**:在所有 Agent 的 SOUL.md 决策模式中加一条引导规则,让 Agent 养成"先查路由表再定位 Skill"的习惯。 -**理由**: -1. 解决 Skill 发现难题——Agent 知道有 Skill 但不知道有哪些 -2. 只需改 SOUL.md 一句话,不需要改代码 +**理由**: +1. 解决 Skill 发现难题--Agent 知道有 Skill 但不知道有哪些 +2. 只需改 SOUL.md 一句话,不需要改代码 3. 等 skill-router 创建后再实施此改动 --- ## 六、实施路线 -### Phase 1: L0/L1 整理(独立,1-2 天) -1. L0 确认无需改动(当前铁律已经是通用的) -2. L1 AGENTS.md 精简(移除详细操作规范,只保留 API 概要 + 协作规则要点) -3. L1 SOUL.md 加专长声明 -4. L1 TOOLS.md 加黑板 API -5. **验证**:Agent 对话中测试身份认知 +### Phase 2: L3 Skill 创建 + L2 BootstrapBuilder 改造(已完成) -### Phase 2: L3 Skill 创建(独立,2-3 天) -1. 创建 `blackboard-executor` 等 6 个操作规范型 Skill -2. 创建 `team-collaboration` 等 4 个方法论型 Skill -3. 创建 `trial-and-error-patterns` 等 4 个经验型 Skill(从蒸馏数据提炼) -4. 创建 `review-quality` 审查协议型 Skill -5. **验证**:Skill description 触发测试 +| Step | 内容 | 状态 | +|------|------|------| +| Step 1 | 创建 `skill-router` 路由速查表 Skill | ✅ 待实施 | +| Step 2 | 改 L1 SOUL.md 决策模式加“执行任务前先读 skill-router” | ✅ 待实施 | +| Step 3 | 创建 A 类 Skill(6个操作规范型) | ✅ 待实施 | +| Step 4 | 创建 B 类 Skill(4个方法论型) | ✅ 待实施 | +| Step 5 | 创建 C 类 Skill(1个审查协议型)+ D 类 Skill(3个经验型) | ✅ 待实施 | -### Phase 3: L2 BootstrapBuilder 瘦身启用(依赖 Phase 1-2,1 天) -1. main.py 实例化 BootstrapBuilder(只注入任务上下文+状态约束+API端点) -2. spawner build_message() 走 BootstrapBuilder 路径 -3. 砍掉 prompt_templates/{role}.md(已移到 L3) -4. 砍掉 experiences 表(已提炼到 L3 Skill) -5. **验证**:单任务 spawn,检查注入内容精简 +### Phase 3: L2 BootstrapBuilder 代码改造(依赖 Phase 2) -### Phase 4: E2E 全流程验证(依赖 Phase 3,半天) +| Step | 内容 | 状态 | +|------|------|------| +| Step 6 | 改 BootstrapBuilder:ROLE_SKILL_MAP + _read_skill + _format_constraints | ✅ 待实施 | +| Step 7 | 改 spawner build_message() 走 BootstrapBuilder 路径 | ✅ 待实施 | +| Step 8 | 清理 prompt_templates/ 目录(操作规范已从 Skill 文件读) | ✅ 待实施 | + +### Phase 4: E2E 验证 + 清理(依赖 Phase 3) + +| Step | 内容 | 状态 | +|------|------|------| +| Step 9 | E2E 全流程验证:单任务 spawn → 检查注入内容精简 | ✅ 待实施 | +| Step 10 | 清理废弃代码(skill_system.py / SkillRegistry / experiences 表) | ✅ 待实施 | ---