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)
查看工具