Files
writing-agent/skills/dialogue/roleplay-game-theory/shared-context.md
2026-07-10 08:31:27 +08:00

5.5 KiB
Raw Blame History

角色扮演博弈 · 共享上下文

本文件由 Runtime 注入 本包所有 worker;总管不读。

设计方法见 docs/skill-design-guide.md(抽象循环 → 上下文分层 → 倒推标签)。


定位

角色扮演博弈 = 在简单、类思想实验的博弈处境下,让多个 有鲜明策略倾向的角色 各自决策,观察互动结果。

参考 狼人杀 / 德州扑克 的信息结构:

world-engine     中立;发 L3「可见信息」、收行动、写 L2 事件流与公开结果
role-decide      每个角色独立 LLM读 L0L3写思考+行动
present-round    读 L0 + 本轮产物 + 思考;写用户展示稿
总管             只调度,不替任何一方思考或拼展示

不是:自由剧场、写小说、教学讲义。
是:结构化情境 + 明确规则 + 信息隔离 的多角色决策模拟。


抽象循环

instantiate → run 循环:
  world-engine发牌
    → role-decide × N
    → world-engine裁决 / 序贯公开)
    → present-round
    → 用户验收 → 下一轮 …

即:角色行动 → 世界反应 → 角色行动 → …


上下文分层L0 → L3

Worker prompt 内上下文 按此顺序排列(上层变动更少):

内容 典型 tag 变动
L0 前提 / 境遇 情境.实验.设定、本 shared-context 实例化后不变
L1 人设 角色.{id}.设定 极少改
L2 历史记忆 运行.事件流 每轮 追加,不整段重写
L3 本轮看见 角色.{id}.可见信息场景.公开叙述 每轮更新

L2 原则: 类似聊天记录——world-engine 裁决后追加一条role-decide 读全流作记忆,依赖 L3 重复携带全部历史。


三实体 + 展示

实体 worker
角色 A…N role-decide L0 情境、L1 本人设定、L2 事件流、L3 可见+公开、参数 .思考(仅用户)、.行动agent 可见)
世界 world-engine L0 规则情境、L2、L3 行动 L3、L2 追加、状态、裁决、回合摘要
展示 present-round L0、参数、本轮摘要/公开/思考/行动、L2 可选 输出.用户展示
总管 tag 索引 调度

两层输出(角色)

tag 用户 其他 role-decide world-engine
思考 角色.{id}.思考
行动 角色.{id}.行动 (经 L3 公开)
  • 行动 = 规则上的 行动选择 + 对外 说话
  • 思考 = 内心权衡(思想实验核心观察面,只给用户与 present-round

禁止 role-decide 读 博弈.规则.草稿 全文(不对称信息由 world-engine 裁进 L3
禁止 world-engine 读/写 .思考 或做剧情化推演。
禁止 role-decide 读其他角色的 .思考.行动 原文(仅 L3


经典情境参考worker 可引用)

情境 核心张力 典型角色分化
囚徒困境 个体理性 vs 集体最优 算计者、互惠者、怀疑者
最后通牒 公平 vs 收益最大化 公平敏感、冷酷最大化、面子型
公共池 短期私益 vs 长期共益 搭便车、规范执行、观望
信任游戏 风险与回报 冒险信任、条件合作、防御

自定义须写清 行动集合收益随组合变化(自然语言即可)。


角色设定原则L1

每个 角色.{id}.设定 须含:称呼、策略倾向、信息立场、行为边界。
禁止 空泛人设而无决策含义。


规则表述原则

博弈.规则.草稿 须让 world-engine 能回答:决策时点、合法行动、收益映射、信息对称性、多轮衔接。


决策顺序

写入 博弈.参数.草稿

模式 世界语义 总管调度
同时 互不可见本轮选择,齐后结算 发牌 → role-decide × 全员 → 裁决
序贯 后动者见先动者 已公开 行动 发牌 → role-decide → 公开 → … → 裁决

缺省:同时框架→同时;序贯框架(最后通牒等)→序贯。


输出风格

world-engine 不受风格影响——始终客观事实。

模式 role-decide present-round
分析报告 思考简短 表格化、少戏剧
角色内心 完整 .思考 思考段完整
戏剧化 .行动.说话 可带台词 可润色 已公开 言行

默认:展示思考 + 简短客观摘要。


Book

  • 确认稿(情境、规则、角色设定等)跨 Session 复用,见 orchestrator loadFromBook
  • 实例快照kind: instance):实例化完成后的 对象(情境、规则、角色设定),不含轮次进度;见 docs/run-snapshot.md
  • 运行存档kind: runrun 中某一时刻的完整进度。

单轮流程run

同时决策

world-engine发牌→ L3
role-decide × 全员 → .思考 + .行动
world-engine裁决→ L2 追加、L3、摘要
present-round → 输出.用户展示
用户验收

序贯决策

world-engine发牌
对每个 idrole-decide → world-engine公开非裁决
world-engine裁决→ L2 追加 …
present-round → 用户验收

多轮重复直至终局或轮次上限。