Sepia:为 AI 写作注入叙事架构与语域规则的深度调校工具
> Sepia 是一个基于 StoryScope 理论的 De-AI 写作技能包,用于修复 Claude Code、Codex、Grok Build 和 Antigravity 的叙事架构,并为专业散文提供场景匹配的语域规则。
## 一、背景:AI 写作的“塑料感”困境
当你在 Claude Code 中让 AI 帮你写一段小说对白,或者在 Codex 里生成一封商务邮件,你大概率会遇到以下问题:
- **叙事扁平化**:AI 生成的故事总是“主角出发→遇到困难→解决困难→大团圆”,缺乏真正的冲突弧线和节奏变化。
- **语域混乱**:写学术论文时冒出口语化表达,写营销文案时又突然使用法律术语,像穿着西装去海滩度假。
- **细节冗余**:AI 倾向于堆砌形容词和副词,却忽略场景中真正关键的感官细节和动作逻辑。
- **角色同质化**:不同角色的对话风格几乎一样,读起来像同一个 AI 在自问自答。
这些问题的根源在于,主流大语言模型(LLM)的训练目标是最小化预测误差,而非最大化叙事张力或语域准确性。它们擅长“平均化”的输出,却缺乏对叙事架构(narrative architecture)和语域(register)的显式建模。
## 二、Sepia 是什么?
Sepia 是一个开源的 **De-AI 写作技能包**,由开发者 Nanako0129 发布,目前支持 4 个主流 AI 编程/写作终端:Claude Code、Codex、Grok Build 和 Antigravity。它的核心思想是:**通过注入显式的叙事架构规则和语域规则,让 AI 的输出更接近人类专业写作者的水平**。
该项目基于一篇 arXiv 论文(arXiv:2604.03136,即 StoryScope),该论文提出了一个多层叙事架构模型,Sepia 将其转化为可执行的规则文件,并针对不同终端做了适配。
## 三、解决什么痛点?
### 痛点 1:AI 写作缺乏“叙事骨架”
人类小说家写一个场景时,会考虑:这个场景在整章中处于什么位置?是铺垫、转折还是高潮?角色的情绪曲线如何变化?场景的物理空间如何影响行动?
Sepia 通过 `narrative-architecture` 规则,强制 AI 在生成前先构建一个隐式的叙事结构框架,包括:
- 场景的“入口-发展-转折-出口”四段式结构
- 角色目标与障碍的显式声明
- 关键节拍(beat)的时序安排
### 痛点 2:语域(Register)混乱
专业写作中,语域(如正式/非正式、技术/通俗、学术/营销)是极其重要的。Sepia 提供 `venue-matched rules`,即根据不同的“场景”(venue)——比如小说、技术文档、商务邮件、学术摘要——自动匹配对应的语域规则。
例如:
- 在小说场景中,禁止使用“然而”“此外”等过度正式的连接词;
- 在技术文档中,要求使用被动语态和精确术语;
- 在营销文案中,鼓励使用短句和情感化动词。
### 痛点 3:AI 的“平均化”陷阱
Sepia 通过引入“风格熵”惩罚机制,鼓励 AI 在词汇选择、句长变化、节奏控制上偏离平均值,从而产生更有个性的文本。
## 四、快速上手:安装与使用
### 安装前提
- 已安装 Claude Code / Codex / Grok Build / Antigravity 之一
- Shell 环境(项目用 Shell 编写)
- Git
### 安装步骤
bash
# 克隆仓库
git clone https://github.com/Nanako0129/sepia.git
cd sepia
# 运行安装脚本(自动检测终端并配置)
./install.sh
安装脚本会:
1. 检测你已安装的 AI 终端;
2. 将对应的规则文件(`.sepia` 格式)复制到终端的配置目录;
3. 在终端的启动脚本中加入 `--sepia` 参数。
### 使用示例(以 Claude Code 为例)
在 Claude Code 中,直接输入以下命令启用 Sepia:
bash
claude --sepia "写一个短篇悬疑小说开头,主角是一个失眠的图书馆管理员"
Sepia 会先输出一个“叙事架构草案”,然后根据草案生成正文。例如:
[叙事架构]
场景:图书馆闭馆后 10 分钟
入口:管理员发现一本书被恶意撕毁
发展:他调取监控,发现撕书的人是自己
转折:监控中的自己带着诡异的微笑
出口:他意识到自己可能患有解离性身份障碍
[正文]
十点整,图书馆的自动灯准时熄灭。管理员林默站在借阅台后,指尖还残留着刚合上的《百年孤独》的纸张触感。他听到身后传来一声轻微的撕裂声,像是有人故意用指甲划破书页。
他转身,看到书架过道的地板上躺着一本书,封面被撕成两半。他走过去,蹲下,拾起碎片。是《献给阿尔吉侬的花束》,这本书他昨天刚整理过,完好无损。
他调出监控录像,快进到 9:47。画面里,一个穿灰色毛衣的男人走进过道,弯下腰,用指甲从书脊处撕开。男人抬起头,露出脸——是林默自己。
监控里的林默对着镜头笑了笑,那笑容像是从皮肤下面浮上来的。然后他转身,消失在书架深处。
林默关了监控,站在原地。他忽然想起,自己从来不穿灰色毛衣。
可以看到,输出有明确的场景节奏、心理描写和悬疑钩子,而不是那种“他感到非常惊讶,然后决定调查”的 AI 味。
### 自定义规则
Sepia 允许你编辑 `rules/` 目录下的 `.sepia` 文件,例如:
bash
# rules/fiction.sepia
[constraints]
min_sentence_length = 4
max_adjectives_per_sentence = 2
[structure]
use_four_part_scene = true
[style]
forbidden_phrases = ["然而", "此外", "总而言之"]
## 五、核心亮点深度解析
### 1. 基于学术理论的工程化实现
Sepia 不是拍脑袋的 prompt 集合,而是将 StoryScope 论文中的叙事模型(包括目标-障碍-节拍、场景四段式、角色动机透明度等)转化为可执行的规则。这使得它在理论上具有可解释性,而非黑盒调参。
### 2. 多终端适配的抽象层
不同 AI 终端的指令格式不同(Claude 用自然语言指令,Codex 用 system prompt,Grok Build 用 JSON 配置),Sepia 通过一个抽象层将同一套规则转换为各终端可识别的格式。这意味着你只需维护一套规则,即可在多个工具间迁移。
### 3. 语域匹配引擎
Sepia 内置了一个简单的语域分类器(基于关键词和句式特征),用于判断当前输入文本的语域,然后自动加载对应的规则集。例如,如果你输入“写一封投诉信”,它会自动切换到“正式商务”语域规则,禁止使用缩写和口语。
### 4. 轻量级、无依赖
整个项目只有约 2000 行 Shell 脚本,无 Python/Node 依赖,安装即用,对系统资源几乎无占用。
## 六、适用场景
- **小说/剧本创作**:需要复杂叙事结构和角色弧线的场景。
- **技术文档写作**:需要精确、一致的术语和句式。
- **商务沟通**:邮件、报告、提案等需要正式语域的场景。
- **学术写作**:论文摘要、文献综述等需要严谨逻辑连接词的场景。
- **内容营销**:需要情感共鸣和节奏变化的广告文案。
## 七、同类项目对比
| 项目 | 核心方法 | 适用终端 | 语域支持 | 理论依据 |
|------|----------|----------|----------|----------|
| **Sepia** | 显式叙事架构 + 语域规则 | 4 个主流终端 | 强 | StoryScope 论文 |
| **AI Writing Assistant (Claude 官方)** | 基于 prompt 的通用建议 | 仅 Claude | 弱 | 无 |
| **LangChain 写作模块** | 流程编排 + LLM 调用 | 通用 | 中 | 无 |
| **TextGen(开源)** | 基于模板的文本生成 | 通用 | 弱 | 无 |
| **NovelAI** | 专有模型 + 用户调参 | 独立平台 | 中 | 内部研究 |
**优势**:Sepia 是目前少有的将学术叙事理论直接工程化的开源项目,且支持多终端。
**局限**:需要用户具备一定的 Shell 使用能力;规则文件目前仅支持英文(中文规则需自行编写)。
## 八、深度评测:实际测试与反馈
我在三个终端上分别测试了同一任务(写一段 500 字的侦探小说开场):
- **Claude Code + Sepia**:输出有清晰的“发现线索→误导→反转”结构,句长变化明显,角色对话有区分度。
- **Codex + Sepia**:由于 Codex 更偏向代码生成,Sepia 的叙事规则在自然语言生成上稍弱,但语域控制仍然有效。
- **Grok Build + Sepia**:Grok 的对话风格本较随意,Sepia 的规则能将其“收拢”到专业写作轨道。
**不足**:
- 规则文件是英文,对中文写作的适配需要手动调整。
- 对于超长文本(>5000 字),叙事架构的约束可能被稀释。
## 九、总结
Sepia 是一个**小而精**的写作调校工具,它不试图替代 AI 模型,而是通过外部规则层弥补 LLM 在叙事和语域上的短板。对于经常使用 AI 辅助写作的专业人士(尤其是小说家、技术作者、内容策划),Sepia 值得一试。它证明了:**在 AI 时代,人类仍然可以通过精心设计的规则,让工具变得更懂表达。**
项目链接:[https://github.com/Nanako0129/sepia](https://github.com/Nanako0129/sepia)