重构世界模拟器为模块化配方架构,完善创作编排、会话运行时与 Web UI,并清理过时技能。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-30 00:39:32 +08:00
parent 2b74c30d36
commit e670a5129c
167 changed files with 22955 additions and 5659 deletions

View File

@@ -1,184 +1,136 @@
# Skill 设计指南
# Skill 设计指南(包格式薄层)
指导 **如何从零设计一个 orchestrator 包**skill 能力库 + run skill 组合)。
格式见 `skill-format.md``orchestrator-skill-format.md``worker-skill-format.md`;上下文见 `context-assembly.md`
> **文档层级Skill 包格式薄层(非系统架构)。**
> 运行内核见 [`architecture.md`](./architecture.md);创作方法见下
**设计顺序:**
**创作方法(三大步、表、自检、正推)** 的权威文档是:
**[`design-orchestrator-guide.md`](./design-orchestrator-guide.md)**
本文只保留:**如何在仓库里建包、Worker 集弱结构示例、与旧概念对照**。不要在本文重复长方法文。
格式字段见 `orchestrator-skill-format.md``worker-skill-format.md`;上下文见 `context-assembly.md`
**设计顺序(概念):**
```text
1. 用户意图 → run skill 清单(交互范式 skill 产出)
2. 每个 run skill 倒推需要哪些 instantiate skill / tag
3. 定义各 skill 的 inputTags、outputTags、contextSegments
4. 上下文隔离与验收边界
5. orchestrator manifest能力注册非逐步剧本
1. 用户意图 → design-intake按 design-orchestrator-guide→ 设计.worker集 JSON
2. 需要时合并 worker-templates 默认契约(仅 design 缺省)
3. 用户验收 → 用户手动进 play
4. play按声明调度表维护/副作用边沿触发
```
---
## 1. 实例化agent 选 skill不是填步骤
## 0. 设计.worker集
### 1.1 两层倒推
### 0.1 定位
```text
用户意图(长篇 / 短篇 / 思想实验 / 角色卡扮演 …)
→ 交互范式 skill产出 设计.run_skill清单
→ 每个 run skill 需要什么输入?
→ agent 按需 invoke instantiate skill能力库中的 SKILL.md
→ declare_instance_ready → play stage
**交互范式 / run_skill 清单 / 美学纲领** 合并为单一 tag**`设计.worker集`JSON**。
| 旧概念 | 新做法 |
|--------|--------|
| `设计.交互范式` | `interaction`(站位、系统扮演、输出与轮转) |
| `设计.run_skill清单` | `workers` + 数据依赖 / 表副作用 |
| `设计.美学纲领` | 转述 presentation **或** 常驻上下文;叙事指南 ≠ 文风 |
Worker 集不是闭集枚举,也不是逐步管道。方法见 `design-orchestrator-guide.md`
### 0.2 design-intake
与用户对话增量更新草稿accept 后即实例规格。进 play **由用户手动决定**
### 0.3 弱结构示例JSON
```json
{
"version": 1,
"interaction": {
"user_stance": "单角代入",
"system_role": "世界执行并给出可读叙事",
"output": "输出.用户展示 + 可折叠状态表",
"turn_shape": "对话回合"
},
"experience_check": {
"user_relation": "…",
"focus": "…",
"satisfaction_source": "…"
},
"workers": [
{
"ref": "world-simulator",
"duty": "世界推进与裁决",
"rationale": "删掉则无本轮世界结果",
"acceptance": "continue"
},
{
"ref": "narrator",
"duty": "组装用户可见回复",
"rationale": "核心产出干巴,需要可读终稿",
"acceptance": "review"
}
],
"resident_context": [
{
"id": "tone",
"position": "static",
"content": "文风示例",
"mount": ["narrator"]
}
],
"tables": {
"schemas": [],
"side_effects": [
{
"id": "affinity-romance",
"field": "好感",
"op": "gte",
"value": 60,
"mode": "once",
"action": {
"type": "write_tag",
"tag": "上下文.角色态度",
"content": "恋爱模式"
}
}
]
},
"narrative_guide": "",
"core_premises": [],
"input_protocol": {
"parens": "() 元要求",
"quotes": "\"\" 角色对白",
"bare": "无包裹视为事实陈述"
},
"design_end": {
"opening": "optional"
}
}
```
**能力库**(如 world-simulator 包内十几个 instantiate skill不是 1→N 管道agent 跳过不需要的 skill并记录 `设计.跳过.{skillId}`
`presentation` 主要挂转述类;裁决类不挂展示美学。包级共性可写 `shared-context.md`
### 1.2 示例:不同意图的 run skill 组合
### 0.4 编辑与重 roll
| 用户意图 | run skill 示例 | 实例化倒推 |
|----------|----------------|------------|
| 长篇小说 | 变量管理、大纲推荐、转述者、世界机 | 变量目录 skill、叙事指南、世界蓝图… |
| 短篇 | 情感流生成器 | 美学纲领、情感曲线约定 |
| 思想实验 | 世界模拟器 | 规则、行动格式;**无**转述者 |
| 角色卡扮演 | 转述者(+ 可选世界机) | 角色卡确认稿、口吻、回复格式 |
### 1.3 run 阶段交互形态
agent 在 play stage 的 burst 内调度 run skill形态因包而异
| 形态 | 适用 | sketch |
|------|------|--------|
| 单 skill 直出 | 简单大纲 | `outline` |
| 行动–反应循环 | 博弈、世界模拟 | 世界机 ↔ 角色决策 ↔ 展示 |
| 分叉验收 | 规则怪谈 | `write` → 双 `review` |
形态写在各 skill 的 **能力说明**里,**不**写进全局编排表逐步剧本。
`run-snapshot.md`
**创作**:按创作单位验收后删交互留产物。固定上下文相关名称是 **可向用户询问的示例话题**(非填空表);宜先钉纲领类 tag 再写 worker挂载复用`design-orchestrator-guide.md` §6。
**Run** 验收点(`acceptance: review`):接受后压缩过程 tag。
`acceptance: continue` 的中间 worker 可连跑;面向用户的可读停点由 Worker 集声明。
---
## 2. 暂停与用户
## 1. 暂停与用户
### 2.1 边界 tool 即暂停
agent tool loop 在下列情况 **退出 burst**,进入 `waiting_user`
```text
ask_user / review_blackboard
run_worker + requiresApproval
worker 完成 + user_confirmed → review_artifact
worker ask_user → worker_questions
```
暂停策略写在 orchestrator manifest 的 **验收策略**,不是「第几步必须停」的管道表。
### 2.2 user-turn
用户亲自决策的环节:独立 skill`用户.最新输入` 写入与 LLM 角色同形 tag供世界机裁决。见 `worker-skill-format.md`
边界 tool 即暂停`ask_user``review_artifact` 等)。策略写在 manifest **验收策略**,不是「第几步必须停」。
Play 默认不对每轮终稿强制 accept。详见 `design-orchestrator-guide.md` §0、§7。
---
## 3. 上下文:上半固定、下半动态
每个 skill`SKILL.md`)声明:
```text
inputTags / outputTags 黑板接口
contextSegments static+ dynamic
contextIsolation 谁看不见什么
contextProfile variants 实例化时选档位
```
原则:**稳定在上、增量在下**Runtime 拼接agent 不改。
全文见 `docs/context-assembly.md`
### 3.1 分层示例roleplay-game-theory
| tier | 含义 | tag 示例 |
|------|------|----------|
| static | 前提、实体设定 | `情境.实验.设定``角色.{id}.设定` |
| dynamic | 历史、本轮 | `运行.事件流``可见信息` |
---
## 4. 倒推标签
对每个 skill 填表:
```text
skill id | 职责 | stage(design/play) | inputTags | outputTags | contextSegments | 验收者
```
### 4.1 角色扮演博弈(摘录)
| skill | 读取 | 写入 | 验收 |
|-------|------|------|------|
| setup-scenario | `用户.博弈需求` | 情境、规则、角色设定 | 用户 |
| world-engine | 情境、规则、事件流、行动 | 可见信息、事件流 | 程序 |
| role-decide | 本人设定、事件流、可见信息 | `.思考``.行动` | 程序 |
| present-round | 本轮产物 | `输出.用户展示` | 用户 |
展示类 skill 单独存在agent 调度,不拼长文。
---
## 5. 上下文隔离(必查)
```text
□ 哪些 tag 只给用户、不注入生产 skill
□ 盲读 review 不可见哪些 tag
□ 草稿 vs 确认稿:下游何时可当作事实?
□ 多角色role_pov 是否生效?
```
`inputTags` + `contextIsolation` + Runtime 过滤,不靠 prompt 口头禁止。
---
## 6. orchestrator manifest非编排表
orchestrator.md 应包含:
```text
□ 启动询问(最小 intake
□ instantiate skill 注册表id、stage、description
□ run skill 注册表
□ 验收策略(哪些 skill 产出需 user_confirmed
□ contextProfile 可选 variant 说明
□ declare_instance_ready 最低可行性(按 run_skill清单 动态校验)
```
**不应包含:** 逐步思维链、「第 5 步必须跑 world-engine」类管道脚本。
---
## 7. checklist
```text
□ 1. 一句话:本包 play stage 的交互形态
□ 2. 交互范式 skill 产出 run_skill清单 的 schema
□ 3. 每个 run skill 倒推 instantiate skill 需求
□ 4. 各 SKILL.mdinput/output、contextSegments、隔离
□ 5. shared-context.mdstatic 上半)
□ 6. manifest注册表 + 验收 + readiness
□ 7. skills/README.md 注册
```
---
## 8. 示例包
| 包 | 特点 |
|----|------|
| `basic` | 单 run skill最小上下文 |
| `weird-rules-short` | 分叉验收 |
| `roleplay-game-theory` | 行动–反应循环 |
| `world-simulator`(规划) | 大能力库 + agent 实例化 |
对照时复用 **方法**,不照搬 tag 名或 skill 数量。
---
## 9. 相关文档
## 2. 相关
| 文档 | 关系 |
|------|------|
| `context-assembly.md` | 拼接规格 |
| `creation-playbook.md` | 概念 |
| `orchestrator-skill-format.md` | manifest 写法 |
| `book-storage.md` | 过程与资产归档 |
| **design-orchestrator-guide.md** | ★ 方法 |
| creation-playbook.md | 流程概念 |
| orchestrator-skill-format.md | manifest |
| worker-skill-format.md | 磁盘 SKILL声明驱动演进中 |