auto-sync: 2026-05-16 23:25:31

This commit is contained in:
cfdaily
2026-05-16 23:25:31 +08:00
parent 50500a1f88
commit 39362cab7f
+140 -6
View File
@@ -350,7 +350,141 @@ build_bootstrap() 按 tag 检索 experiences 表,格式化后注入 L2 上下
---
## 7. API 设计
## 7. Skill 体系
### 7.1 Skill 三层载体
| 载体 | 自由度 | 生命周期 | 产出者 | 存储 |
|------|--------|---------|--------|------|
| **Memory** | 高(自然语言) | 短期(30天过期) | Agent 自动沉淀 | experiences 表 |
| **Skill** | 中(模板+约束) | 中期(版本管理) | 二级蒸馏 / 人工编写 | skills/ 目录 |
| **Rule** | 低(脚本/断言) | 长期(代码级稳定) | 人工提炼 | guardrails.yaml |
信息压缩方向:Memory → Skill → Rule(自由度递减,可靠性递增)。
### 7.2 Skill 目录结构
```
sanguo_moziplus_v2/
├── skills/ ← 全局 Skill 库
│ ├── builtins/ ← 系统内置 Skill
│ │ ├── blackboard_operations/ ← 黑板操作规范
│ │ ├── code_review/ ← 代码审查标准
│ │ └── data_validation/ ← 数据验证
│ └── custom/ ← 用户/蒸馏产出 Skill
│ └── {skill_id}/n │ ├── SKILL.md ← 四要素:description/triggers/actions/constraints
│ ├── template.md ← 可选:详细模板
│ └── meta.yaml ← 版本、来源、tag
├── projects/{pid}/
│ └── skills/ ← per-project Skill 覆盖/扩展
│ └── {skill_id}/
│ └── project_override.md
```
### 7.3 Skill 四要素(SKILL.md 格式)
```markdown
# {skill_name}
## Description
一句话描述能力。
## Triggers
自动触发条件(任务类型/关键词/产出类型)。
## Actions
执行步骤和产出要求。
## Constraints
硬性约束(必须满足/禁止做)。
```
### 7.4 Skill 生命周期
```
draft(蒸馏产出/人工创建)
→ active(验证通过,build_bootstrap 可引用)
→ deprecated30天无引用/被更好的替代)
→ deleted(清理)
```
- **draft → active**:二级蒸馏自动标记,或人工在 Dashboard 审批
- **active → deprecated**`expire_days` 无引用自动降级
- **active → deprecated → deleted**:有新版本替代时
### 7.5 Skill 在 Daemon 中的角色
```python
# daemon/bootstrap.py 中 Skill 加载逻辑
def load_skills(task, role, project_config) -> list[str]:
"""L3 被动参考层:按需加载 Skill description"""
skills = []
# 1. 按 task_type 匹配 triggers
builtin_skills = scan_skills("skills/builtins/", task.task_type)
# 2. per-project 覆盖
project_skills = scan_skills(f"projects/{task.project_id}/skills/", task.task_type)
# 3. 经验匹配(experiences 表按 tag 检索,注入 L2
# → 这部分在 build_bootstrap() 的 L2 ⑦ 中处理
# 4. 只返回 description(四要素摘要),不加载完整 SKILL.md
return [s.description for s in builtin_skills + project_skills if s.status == 'active']
```
**四层加载**(来源:课题4 D4-6):
| 层 | 加载时机 | 内容 | 占用 |
|----|---------|------|------|
| Agent 固化 | OpenClaw agent 配置 | SOUL.md/IDENTITY.md/TOOLS.md | L1Agent 自带) |
| OpenClaw 注册 | agent 启动时 | OpenClaw skills/ 目录 | L3(按需) |
| moziplus 注入 | build_bootstrap() | prompt_templates + guardrails + review_protocols | L2(精确注入) |
| 按需检索 | Agent 执行中主动查询 | Skill SKILL.md 全文 | L3Agent 自己读) |
### 7.6 template_components.yaml
模板组件库,build_bootstrap() L2 拼装时引用:
```yaml
components:
- id: executor_ops
file: prompt_templates/executor.md
inject_to: [executor]
- id: reviewer_ops
file: prompt_templates/reviewer.md
inject_to: [reviewer]
- id: planner_ops
file: prompt_templates/planner.md
inject_to: [planner]
- id: guardrails
file: config/guardrails.yaml
inject_to: [executor]
condition: task_type in guardrails
- id: review_protocol
file: config/review_protocols/{task_type}_review.yaml
inject_to: [reviewer, planner]
condition: review required
- id: experience_injection
source: experiences_table
inject_to: [executor, reviewer]
condition: matching_tags > 0
- id: custom
file: null # per-project 自定义
inject_to: []
```
---
## 8. API 设计
### 7.1 黑板 API
@@ -395,7 +529,7 @@ GET /api/events?project={pid}
---
## 8. Hook 系统
## 9. Hook 系统
双重 Hook 架构:
@@ -409,7 +543,7 @@ GET /api/events?project={pid}
---
## 9. 前端架构
## 10. 前端架构
### 9.1 技术选型
@@ -441,7 +575,7 @@ cd src/frontend && npm run build
---
## 10. 测试策略
## 11. 测试策略
### 10.1 单元测试
@@ -468,7 +602,7 @@ per-project 测试用 `:memory:` SQLite。全局注册表测试用临时文件
---
## 11. 实现顺序
## 12. 实现顺序
| Phase | 内容 | 估计时间 |
|-------|------|---------|
@@ -479,7 +613,7 @@ per-project 测试用 `:memory:` SQLite。全局注册表测试用临时文件
---
## 12. 风险
## 13. 风险
| 风险 | 缓解 |
|------|------|