Sandbox World Agent Skill
一个能够基于现实时间创建平行沙盒世界、推演因果历史并持久化保存的 Agent Skill。
核心概念
世界三要素
- 现实锚点(Reality Anchor):世界从哪个真实时间点分叉,锚点之前的历史与现实相同
- 偏差设定(Divergence):与现实的具体差异,可以是单点事件、持续状态、或结构性差异
- 世界状态(World State):当前推演到的时间点,以及已发生的关键事件链
推演原则
- 现实优先(Reality-First):推演前必须先用
web_search搜索相关现实情况,以真实数据、政策、事件为推演基础,不得依赖记忆中可能过时的知识 - 因果一致性:每个推演事件必须从已有条件中导出,不能凭空出现
- 现实参照:除偏差外,其余规律(经济、技术、人性、地缘政治)遵循现实世界规律
- 不确定性标注:高不确定性事件用
[推断]标注,几乎确定的用[必然]标注 - 时间戳锚定:每个历史事件必须有明确时间(精确到季度或年份)
- 搜索结果引用:每个关键推演节点需注明其现实依据来源
工作流程
Phase 1: 世界初始化
当用户描述一个新的平行世界时:
-
现实调研(必须执行)
- 用web_search搜索偏差涉及领域的现实背景:相关政策、现状、关键事件
- 搜索示例:偏差="无防火墙" → 搜索 "中国防火长城历史" "GFW政策演变" "谷歌退出中国原因" 等
- 至少执行 2-4 次搜索,覆盖偏差的直接领域和主要次级影响域
- 将搜索结果作为推演的现实基线,记录在世界元数据的reality_baseline字段 -
解析偏差
- 识别现实锚点时间(divergence_date)
- 列举所有偏差项(可能有级联依赖)
- 标注偏差的性质:structural(结构性)/event(事件性) -
生成世界 ID
- 格式:world-{主题缩写}-{年份}-{随机4位}
- 示例:world-nfw-2025-3a7c -
构建初始状态快照(基于搜索到的现实数据)
-
存储到持久化存储
Phase 2: 事件推演
接收推演请求("推演到XX时间"、"XX事件会发生吗")时:
-
确认当前时间线位置:从持久化存储读取
current_date -
搜索该时段的现实情况(必须执行)
- 每个推演时段开始前,搜索该时段内现实世界发生的相关事件
- 搜索目标:与偏差领域相关的现实政策、技术进展、市场动态、地缘事件
- 搜索示例:推演 2023年AI政策 → 搜索 "中国生成式AI监管2023" "OpenAI中国政策2023" 等
- 至少 2-3 次搜索覆盖该时段关键维度
- 现实事件作为推演的"外部输入",在本世界中依据偏差逻辑判断其是否发生、如何变形 -
逐步推演(每步跨度:3-12个月,视复杂度而定)
- 基于搜索到的现实数据,列出该时段内的驱动因素
- 推导关键事件(3-7个),每个事件标注其现实依据
- 评估每个事件的确定性
- 分析对下一时段的影响 -
事件记录格式:
[YYYY-QQ] 事件标题 确定性: [必然/很可能/推断/存疑] 现实依据: [对应现实中的XXX事件/数据] 描述: ... 因果链: 由"..."导致,导致"..." -
更新并持久化世界状态
Phase 3: 跨会话延续
用户说"继续上次的世界"或提供 world ID 时:
- 从持久化存储读取完整世界状态
- 展示世界摘要(偏差设定 + 已推演历史时间线)
- 询问继续推演的方向或具体问题
持久化数据结构
世界元数据 (world:{id}:meta)
{
"id": "world-nfw-2025-3a7c",
"title": "无防火墙平行中国",
"created_at": "2026-05-06",
"divergence_date": "2000-01-01",
"current_date": "2025-03-01",
"divergences": [
{
"type": "structural",
"domain": "internet_policy",
"description": "中国大陆无防火长城,谷歌等境外互联网服务正常运营",
"since": "2000-01-01"
}
],
"reality_baseline": [
{
"topic": "中国互联网监管现状",
"source": "搜索于创建时",
"key_facts": ["GFW封锁范围...", "现行《网络安全法》..."]
}
],
"summary": "一句话世界描述"
}
历史事件链 (world:{id}:events)
[
{
"date": "2023-Q1",
"title": "ChatGPT进入中国大陆市场",
"certainty": "很可能",
"reality_basis": "现实中OpenAI于2022-Q4发布ChatGPT,封锁中国IP;中国《生成式AI管理办法》于2023年8月施行",
"description": "OpenAI正式向中国大陆用户开放服务...",
"causes": ["无防火墙", "OpenAI全球化战略"],
"effects": ["中国AI监管压力上升", "百度文心竞争加剧"]
}
]
活跃世界列表 (sandbox:worlds)
["world-nfw-2025-3a7c", "world-xyz-2024-1b2d"]
推演质量标准
好的推演
- 每次推演前都执行了 web_search,以现实数据为基础而非依赖训练记忆
- 从偏差出发,有清晰的逻辑链条
- 每个事件都有对应的"现实依据"字段,说明推演参考了哪个真实事件/政策/数据
- 承认不确定性,给出概率性表述
- 区分"结构性必然"(如经济规律)和"偶发性事件"(如个人决策)
- 给出反事实对比:"在现实中,此时XXX;在本世界,因为YYY,所以ZZZ"
避免的错误
- 跳过 web_search 直接推演:这是最严重的错误,会导致推演基于过时或错误的现实认知
- 直接给出"会/不会"的二元答案,忽略概率
- 推演脱离偏差逻辑,变成随意创作
- 忽略次级效应(偏差会引发一系列连锁反应)
- 混淆已推演的"世界历史"和未推演的"未来"
输出格式模板
世界创建输出
🌍 平行世界已创建
━━━━━━━━━━━━━━━━━
世界ID: world-xxx-xxxx-xxxx
标题: [世界名称]
现实锚点: [时间]
偏差设定:
• [偏差1]
• [偏差2]
当前推演时间: [同锚点]
[简要分析:此偏差对世界格局的即时影响]
推演输出
📅 推演时段: [开始] → [结束]
━━━━━━━━━━━━━━━━━
[YYYY-Q?] 事件名称 [确定性标签]
→ [事件描述,2-4句]
→ 对比现实: [现实中是什么]
→ 影响: [对后续的影响]
[重复3-7个事件]
━━━━━━━━━━━━━━━━━
世界状态更新至: [结束时间]
关键变量:
• [指标1]: [状态]
• [指标2]: [状态]
附录:常用偏差类型参考
| 偏差类型 | 示例 | 推演难度 |
|---|---|---|
| 互联网/信息政策 | 无防火墙、无内容审查 | 中 |
| 地缘政治格局 | 冷战未结束、某国家不存在 | 高 |
| 技术发展节点 | 互联网早10年发明 | 高 |
| 企业/组织存续 | 谷歌未退出中国 | 低-中 |
| 个人历史节点 | 某领导人未上台 | 高 |
| 自然事件 | 某次疫情未发生 | 中 |
推演难度越高,越需要标注不确定性,越需要承认多种可能路径。
在 Artifact 中使用持久化
当在 Claude Artifact(React/HTML)中实现此 Skill 时,使用 window.storage API:
// 保存世界
await window.storage.set(`world:${id}:meta`, JSON.stringify(worldMeta));
await window.storage.set(`world:${id}:events`, JSON.stringify(events));
// 读取世界
const meta = await window.storage.get(`world:${id}:meta`);
const events = await window.storage.get(`world:${id}:events`);
// 列出所有世界
const worlds = await window.storage.get('sandbox:worlds');
当在对话中使用(无 Artifact)时,将世界状态以 JSON 块呈现给用户,并告知用户保存或粘贴回来以延续。