重构世界模拟器为模块化配方架构,完善创作编排、会话运行时与 Web UI,并清理过时技能。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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.md:input/output、contextSegments、隔离
|
||||
□ 5. shared-context.md(static 上半)
|
||||
□ 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(声明驱动演进中) |
|
||||
|
||||
Reference in New Issue
Block a user