故事包详解
什么是故事包?
故事包(Story Package) 是 InkPath 平台创作故事的核心配置文件集合,它定义了故事世界的基础设定、叙事规则和创作约束。一个精心设计的故事包是创作高质量故事的关键起点。
故事包采用 Markdown 文件格式,便于版本管理、协作编辑和机器解析。每个故事包由一系列 .md 文件组成,分别负责不同层次的设定工作。
为什么需要故事包?
传统的故事创作往往从"想一个点子"开始,但在 AI 协作创作和多作者共建的环境中,这样做会导致:
- 设定冲突:不同作者对世界观理解不一致
- 叙事失焦:故事走向偏离初衷
- 历史感缺失:世界变成"设定集"而非"活着的文明"
- 角色行为不可信:缺乏真实的约束与代价
故事包通过结构化的方式解决这些问题,让创作者从一开始就建立起:
- 可争论的证据基础(而非全知的设定文档)
- 制度化的立场冲突(而非简单的正邪对立)
- 有限的角色视野(而非上帝视角)
故事包的三层架构
故事包遵循"三层架构"理念:
第 1 层:证据层(Evidence Layer)
- 作用:提供"可争论的历史残片",而非"标准答案"
- 核心:
10_evidence_pack.md - 特点:每条证据都有缺口、矛盾、多种解读可能
第 2 层:立场层(Stance Layer)
- 作用:将观点制度化为利益、恐惧、代价结构
- 核心:
20_stance_pack.md - 特点:立场背后绑定生存路径,不是空洞的价值观
第 3 层:个体层(Individual Layer)
- 作用:让角色"永远在拼图",永远无法获得终极答案
- 核心:
30_cast.md - 特点:明确角色的信息权限、认知盲区和行动代价
必需文件清单
1. 00_meta.md - 故事包元信息
定义故事的基本属性,供系统索引和路由使用。
markdown
---
pack_id: "han-03-214-espionage-0007"
title: "雾中驿"
logline: "边郡驿卒卷入一封真假难辨的军报。"
era: "东汉末"
time_window: ["214-03-01","214-04-20"]
geo_scope: ["陇西","天水"]
genre: ["历史悬疑","谍战","小人物"]
tone: ["克制","冷","现实"]
rating: "PG-13"
canon_policy: "no_new_major_events"
---
# 简介
- 核心冲突:
- 读者预期:
- 你想让读者"误以为知道但其实不知道"的是什么:关键字段说明:
pack_id:唯一标识符,建议格式:时代-序号-主题-版本canon_policy:正史策略,如no_new_major_events(不改写重大事件)tone:叙事基调,影响 AI 写作风格
2. 10_evidence_pack.md - 证据包(第 1 层)
这是故事包最核心的文件,提供"可争论的证据形态"而非标准真相。
markdown
# 证据卡列表
## E-001|驿站交割簿(缺页)
- 载体:簿册抄件(后世誊写)
- 发现渠道:县库旧档(传)
- 时间指向:214年三月(不确定)
- 内容摘述(≤120字):……
- 明显缺口:第3页被撕;交割人姓名涂抹
- 可靠度:B
- 可争论点:是账簿还是伪造的"账簿式密信"?
## E-002|军令副本(两版互斥)
- 载体:木牍转录
- 版本:A/B
- 差异点:A写"守",B写"诱"
- 可靠度:A- / B-
- 可争论点:谁有动机改一个字?设计原则:
- 每条证据必须有缺口(缺页、涂抹、互斥版本等)
- 不写"结论",只写"指向"和"可争论点"
- 可靠度分级(A/B/C),让读者和角色自行判断
- 证据形态多样:碑文、简牍、口述、器物、地理痕迹等
3. 20_stance_pack.md - 立场包(第 2 层)
将观点转化为制度化的利益结构,让冲突不可调和。
markdown
# 立场卡列表
## S-01|边军体系(戍卒-都尉线)
- 解释权来源:军功/军令链条
- 核心利益:边线稳定、军粮不断
- 核心恐惧:被扣"擅动军机/扰军心"
- 典型口号/禁语:……
- 对E-002的默认解读:宁可信"守"而非"诱"
- 代价结构:说错一句=掉脑袋/连坐
## S-02|州郡文吏体系(县令-主簿线)
- 解释权来源:文书、印信、律令
- 核心利益:账面合规、责任可推
- 核心恐惧:被追责/被牵连派系
- 对E-001的默认解读:账簿可信但抄件不可信设计原则:
- 立场不是"观点",而是解释权 + 利益 + 恐惧 + 代价
- 每个立场对同一证据有默认解读
- 代价结构要具体:不是"会倒霉",而是"掉脑袋/连坐/失去官职"
- 立场之间互相制约,无法通过"讲道理"调和
4. 30_cast.md - 角色包(第 3 层)
让角色"永远拼图、永远追求但得不到最终答案"。
markdown
# 角色卡
## C-01|驿卒(主角)
- 身份/阶层:驿站基层
- 可接触信息:E-001、口耳传言、过客碎语
- 无法接触信息:军令原件、州府密牍
- 立场绑定:S-01(被动绑定)
- 个人目标:保住饭碗/保住家人名声
- 认知盲区:不懂军制暗语;把印信当真理
- 触发点:发现同一姓名在两份记录里写法不同
- 禁区:不能公开质疑某上级(否则立刻出局)设计原则:
- 明确可见信息与不可见信息边界
- 定义认知盲区:角色不知道自己不知道什么
- 设置禁区:说出某些话的代价是什么
- 给出触发点:什么会让角色开始怀疑
5. 40_plot_outline.md - 剧情大纲
用"信息流"而非"三幕结构"组织剧情。
markdown
# 信息流大纲(按章节/场景)
## 1. 开端:证据入场
- 角色拿到:E-001(缺页)
- 角色误解:以为是普通交割问题
- 读者知道但角色不知道:E-002存在两版
## 2. 立场施压
- S-01要求:……
- S-02暗示:……
- 主角的选择成本:……设计原则:
- 不写详细剧情,写"信息获得顺序"
- 标注"角色误解"和"读者视角"的差异
- 突出"立场施压"对角色选择的影响
6. 50_constraints.md - 约束与边界
明确"不能写什么",避免创作翻车。
markdown
# 硬约束
- 不改写的大事件:……
- 时间边界:……
- 地理边界:……
- 不引入的技术/制度:……
# 软约束
- 可以:用小人物视角误读大事件
- 可以:制造互斥证词
- 不建议:用现代价值观直接评判古人
# 内容边界
- 分级:PG-13
- 不写:……7. 60_sources.md - 资料来源
保证设定的可追溯性,防止胡编乱造。
markdown
# 史料(公版/原始)
- …
# 现代研究(只做参考,不直接复写)
- …
# 你对证据卡的对应关系
- E-001参考:……
- E-002参考:……可选文件
31_locations.md - 地点卡
- 地点(古/今对照可选)
- 地形、交通、物价/补给
- 信息传播速度
- 管辖权
32_objects_terms.md - 物件/术语卡
- 官职、军制名词
- 度量衡、票据、印信
- 常见器物
- 用于"时代一致性检查"
70_change_requests.md - 变更请求
- 申请新增事实到正史账本
- 系统审批:允许/不允许/标注"传闻"
80_style_guide.md - 文风约定
- 叙述视角
- 对话密度
- 用词禁区
- 章回长度
故事包的核心原则
1. "模糊"不是"未生成"
正确的做法是:
- 背后有完整的生成逻辑
- 明确哪些地方"永远不会被证实"
- 即使你知道真相,也不让故事说出来
错误的做法是:
- 什么都没想好,临时补设定
- 让 AI 随意圆场
- 把不确定性当作偷懒的借口
2. 让角色"永远拼图"
角色必须处在三种"无知形态"中:
- 信息缺失:接触不到关键证据
- 解释冲突:每个权威给不同解释
- 自我风险:说出真相会被惩罚
3. 立场高于观点
不要写"某人认为 X",而要写:
- 某人因为什么制度/教育/利益必须认为 X
- 不认为 X 会失去什么
- 认为 X 能获得什么
4. 证据永远残缺
每条证据必须有:
- 明确的载体(碑、简、口述、器物)
- 可见的缺口(缺页、涂抹、版本冲突)
- 至少两种合理解释
实战案例
参考讨论文档中的科幻案例"Kepler-442b 红林倾斜":
证据设计示例
markdown
## E-003|深处声音:呼吸(音谱异常)
- 载体:Sera 手持拾音器 + 舱体共振记录
- 时间:D+0 09:19
- 摘述:低频周期性波形;周期略有"对齐"痕迹
- 明显缺口:拾音器在第4个周期自动降噪,原始波形被覆盖
- 可靠度:B
- 可争论点:自动降噪是设备策略,还是远程策略更新立场设计示例
markdown
## S-01|舰队指挥链
- 解释权来源:任务章程、风险授权
- 核心恐惧:确认"智识生命"将导致撤离与政治问责
- 对E-003默认解读:先禁止靠近,再评估风险
- 代价结构:违令=撤职/隔离/永久黑名单角色设计示例
markdown
## C-01|Sera(殖民队长)
- 可接触信息:E-001~E-005(但多为摘要版)
- 不可接触信息:指挥舰密令正文、历史档案
- 认知盲区:习惯把命令当作"上层一定掌握真相"
- 代价:违令接近=职业终结;不接近=错过关键证据常见错误与解决
❌ 错误:只写角色+剧情,不写证据包+立场包
问题:AI 会写成"我知道真相,所以我要揭露真相"的全知叙事。
解决:强制要求 10_evidence_pack.md 和 20_stance_pack.md 为必交项。
❌ 错误:证据卡写得太"完美"
问题:没有缺口和矛盾,角色无法"永远拼图"。
解决:每条证据必须标注"明显缺口"和"可争论点"。
❌ 错误:立场写成"观点"
问题:冲突变成辩论赛,缺乏真实的制度压力。
解决:必须写明"解释权来源"、"代价结构"和"传播管道"。
❌ 错误:角色能接触到不符合其身份的信息
问题:驿卒突然能读军令原件,破坏可信度。
解决:严格定义"可接触信息"和"不可接触信息"。
下一步
参考资源
- 完整讨论文档:
/故事编写讨论.md - 故事包模板下载:(待添加)
- 示例故事包:(待添加)