auto-sync: 2026-06-04 13:09:12
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# #11 上下文四层架构重新定位方案
|
||||
|
||||
> 版本: v2.0
|
||||
> 版本: v2.1
|
||||
> 日期: 2026-06-04
|
||||
> 作者: 庞统(副军师)
|
||||
> 状态: **待确认**
|
||||
> 状态: **实施中**
|
||||
> 来源: 用户设计思路 + NAS 知识库调研(ClawTeam/Superpowers/GSD/Hermes/oh-my-claudecode)
|
||||
|
||||
---
|
||||
@@ -169,7 +169,9 @@ Shared Memory → Boids Rules(仅 team>1) → Task → Context → Coordination
|
||||
- ❌ 经验/知识 → L3 D 类 Skill
|
||||
- ❌ `prompt_templates/` 目录 → **废弃**,操作规范从 Skill 文件读
|
||||
|
||||
**token 预算**:~600 tokens(任务上下文 ~200 + 操作规范 ~300 + 硬约束 ~100)
|
||||
**token 预算**:~800 tokens(任务上下文 ~200 + 操作规范 ~500 + 硬约束 ~100)
|
||||
|
||||
> **注**: A 类 Skill 实际约 500-800 tokens(远超原始估计的 300),已调整总预算。build() 中加 token 计数 + 日志告警(超出预算时 warn 但不截断)。
|
||||
|
||||
**设计理由**:
|
||||
1. **A 类 Skill 引擎直接注入**:操作规范是每次执行必须遵守的,不能靠 Agent 自主触发,必须确定性注入
|
||||
@@ -392,7 +394,7 @@ Shared Memory → Boids Rules(仅 team>1) → Task → Context → Coordination
|
||||
2. B/C/D 类是辅助性的,按需加载可节省 context
|
||||
3. 分类清晰,开发者一眼就知道新 Skill 该归哪类、走哪种注入方式
|
||||
|
||||
### D6: L1 SOUL.md 决策模式中加"执行任务前,先读 skill-router"
|
||||
### D6: L1 SOUL.md 决策模式中加"执行任务前,先读 skill-router Skill 查找相关操作规范和方法论"
|
||||
|
||||
**设计**:在所有 Agent 的 SOUL.md 决策模式中加一条引导规则,让 Agent 养成"先查路由表再定位 Skill"的习惯。
|
||||
|
||||
@@ -405,30 +407,30 @@ Shared Memory → Boids Rules(仅 team>1) → Task → Context → Coordination
|
||||
|
||||
## 六、实施路线
|
||||
|
||||
### Phase 2: L3 Skill 创建 + L2 BootstrapBuilder 改造(已完成)
|
||||
### Phase 2: L3 Skill 创建 + L2 BootstrapBuilder 改造
|
||||
|
||||
| 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个经验型) | ✅ 待实施 |
|
||||
| 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 2)
|
||||
|
||||
| Step | 内容 | 状态 |
|
||||
|------|------|------|
|
||||
| Step 6 | 改 BootstrapBuilder:ROLE_SKILL_MAP + _read_skill + _format_constraints | ✅ 待实施 |
|
||||
| Step 7 | 改 spawner build_message() 走 BootstrapBuilder 路径 | ✅ 待实施 |
|
||||
| Step 8 | 清理 prompt_templates/ 目录(操作规范已从 Skill 文件读) | ✅ 待实施 |
|
||||
| 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 表) | ✅ 待实施 |
|
||||
| Step 9 | E2E 全流程验证:单任务 spawn → 检查注入内容精简 | ⏳ 待实施 |
|
||||
| Step 10 | 清理废弃代码(skill_system.py / SkillRegistry / experiences 表) | ⏳ 待实施 |
|
||||
|
||||
---
|
||||
|
||||
@@ -996,8 +998,22 @@ class BootstrapBuilder:
|
||||
def _read_skill(self, skill_name: str) -> str:
|
||||
"""从 Skill 文件读取全文"""
|
||||
path = os.path.join(self.SKILL_BASE_PATH, skill_name, "SKILL.md")
|
||||
with open(path) as f:
|
||||
return f.read()
|
||||
try:
|
||||
with open(path) as f:
|
||||
return f.read()
|
||||
except FileNotFoundError:
|
||||
logger.error("Skill file not found: %s", path)
|
||||
return ""
|
||||
|
||||
# v2.1: 仲达评审 Q4.1 — role 未映射时 warn
|
||||
def build(self, task: dict, role: str) -> str:
|
||||
...
|
||||
skill_name = self.ROLE_SKILL_MAP.get(role)
|
||||
if skill_name:
|
||||
skill_content = self._read_skill(skill_name)
|
||||
sections.append(skill_content)
|
||||
elif role not in ("discussion",): # discussion 不走 build()
|
||||
logger.warning("No skill mapping for role: %s", role)
|
||||
|
||||
def _format_constraints(self, role: str) -> str:
|
||||
"""格式化硬约束"""
|
||||
|
||||
Reference in New Issue
Block a user