feat: expand novel IP and production workflows
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
# 小说引擎现状与设计 V1
|
||||
|
||||
> 文档状态:当前有效
|
||||
> 基线日期:2026-07-15
|
||||
> 适用范围:小说导入、阅读、原创生成、质量循环、版本与派生任务。
|
||||
|
||||
## 1. 当前定位
|
||||
|
||||
小说引擎不是单一“生成一章”接口,而是平台的长文本内容底座。它负责把来源、创作约束、世界观、角色、剧情记忆和质量标准组织成可追踪的章节生产流程,并为短剧、听书等下游提供稳定文本资产。
|
||||
|
||||
## 2. 能力边界
|
||||
|
||||
### 已实现
|
||||
|
||||
- 粘贴、TXT、DOCX、PDF 等来源导入和章节切割。
|
||||
- 小说目录、分页阅读、阅读进度、书签和批注。
|
||||
- 原创小说创作向导与生成计划。
|
||||
- StoryBible、WorldBible、角色和项目规则接入。
|
||||
- Agent Prompt、AgentRun 与章节生成编排。
|
||||
- 上下文记忆、章节版本、质量报告、自动修复和重写。
|
||||
- 小说版本快照和听书/短剧派生任务数据结构。
|
||||
|
||||
### 尚未达到稳定基线
|
||||
|
||||
- 无人值守长批次生产。
|
||||
- 全链路自动测试和正式 E2E。
|
||||
- Agent 策略、质量阈值和人工确认的统一运营界面。
|
||||
- 派生任务的完整异步执行覆盖。
|
||||
|
||||
## 3. 核心对象
|
||||
|
||||
| 对象 | 作用 |
|
||||
| --- | --- |
|
||||
| `NovelSource` | 导入或原创小说的主记录 |
|
||||
| `NovelChapter` | 当前可读章节 |
|
||||
| `NovelGenerationPlan` | 原创目标、结构、节奏和批次计划 |
|
||||
| `NovelChapterVersion` | 草稿、修复、重写和确认版本 |
|
||||
| `NovelContextMemory` | 供后续章节消费的压缩上下文 |
|
||||
| `NovelQualityReport` | 章节质量维度、问题与修改建议 |
|
||||
| `NovelVersionSnapshot` | 可追踪的整书状态快照 |
|
||||
| `NovelDerivativeJob` | 听书、短剧等下游派生请求 |
|
||||
| `AgentPrompt` | 可版本化 Agent 指令 |
|
||||
| `AgentRun` | Agent 实际执行与输入输出记录 |
|
||||
| `StoryBible` / `WorldBible` | 故事、世界规则和不可违反约束 |
|
||||
| `CharacterMemory` / `PlotMemory` | 人物和剧情连续性信息 |
|
||||
|
||||
## 4. 生产流程
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
Brief[创作 Brief / 导入文本] --> Plan[生成计划]
|
||||
Plan --> Bible[故事与世界观规则]
|
||||
Bible --> Context[上下文构建]
|
||||
Context --> Prompt[Agent Prompt]
|
||||
Prompt --> Draft[章节草稿]
|
||||
Draft --> Quality[质量报告]
|
||||
Quality --> Pass{达到阈值?}
|
||||
Pass -- 否 --> Repair[定向修复或重写]
|
||||
Repair --> Quality
|
||||
Pass -- 是 --> Confirm[确认章节版本]
|
||||
Confirm --> Memory[更新上下文与伏笔]
|
||||
Memory --> Snapshot[版本快照 / 下游派生]
|
||||
```
|
||||
|
||||
## 5. 上下文构建
|
||||
|
||||
每章生成不应把整本小说无差别塞入模型。上下文按优先级组成:
|
||||
|
||||
1. 当前项目和生成计划的硬约束。
|
||||
2. StoryBible、WorldBible 中与本章相关的规则。
|
||||
3. 当前角色状态、关系、服装/身份等连续性信息。
|
||||
4. 上一章结尾和当前章目标。
|
||||
5. 尚未回收的伏笔与必须推进的剧情线程。
|
||||
6. 长篇压缩记忆和必要的原文片段。
|
||||
7. 文风、篇幅、视角和禁用项。
|
||||
|
||||
所有自动压缩都必须保留来源章节和版本,以便发现错漏后回溯。
|
||||
|
||||
## 6. 质量循环
|
||||
|
||||
质量检查至少覆盖:
|
||||
|
||||
- 章节目标是否完成。
|
||||
- 因果、时间线、人物动机是否成立。
|
||||
- 角色口吻、能力、关系和状态是否连续。
|
||||
- 伏笔是否误删、提前泄露或遗忘。
|
||||
- 节奏、冲突、信息增量和章节钩子。
|
||||
- 文风、重复、空泛解释和模板化表达。
|
||||
- 与版权、合规和项目制作规则的冲突。
|
||||
|
||||
修复策略应优先定向改写问题段落;只有结构性失败时才整章重写。每次修复生成新版本,不覆盖原始版本。
|
||||
|
||||
## 7. 人工确认点
|
||||
|
||||
建议保留以下人工闸门:
|
||||
|
||||
- 生成计划确认。
|
||||
- StoryBible/WorldBible 锁定。
|
||||
- 核心角色和长期伏笔确认。
|
||||
- 首章与关键转折章确认。
|
||||
- 质量循环多次失败后的人工处置。
|
||||
- 下游改编前的版本冻结。
|
||||
|
||||
## 8. Provider 策略
|
||||
|
||||
- NovelProvider 与 TextProvider 均可参与,但必须记录实际模型。
|
||||
- 章节生成、质量审查和定向修复可使用不同模型配置。
|
||||
- 用户偏好、项目偏好、显式 `provider_code` 与系统默认的优先级必须可解释。
|
||||
- 真实调用失败后可回退,但不可静默切换后仍展示原模型名称。
|
||||
- 成本记录需区分估算值和 Provider 返回的实际值。
|
||||
|
||||
## 9. 与短剧引擎的契约
|
||||
|
||||
下游短剧不直接读取“任意最新草稿”,应消费明确的小说快照或已确认章节版本。派生输入至少包含:
|
||||
|
||||
- 来源小说、章节和版本 ID。
|
||||
- 已确认的人物、世界观和不可更改事实。
|
||||
- 可压缩、可改编和禁止删减的内容范围。
|
||||
- 目标时长、集数、媒介风格和受众。
|
||||
|
||||
改编产生的新事实不得反向污染小说正史,除非人工确认并写入新的 StoryBible/版本。
|
||||
|
||||
## 10. 当前风险
|
||||
|
||||
1. 新增 Prisma 依赖后部分单元测试 mock 未同步。
|
||||
2. Agent、上下文和质量逻辑分布在多个服务,缺少稳定 E2E。
|
||||
3. 长篇记忆任务声明存在,但 Worker 执行映射不完整。
|
||||
4. 状态字符串缺少统一字典,历史数据可能出现兼容问题。
|
||||
5. 批量生产的暂停、恢复、幂等和成本上限需要更强验证。
|
||||
|
||||
## 11. 不可破坏的规则
|
||||
|
||||
1. 所有章节修改必须形成版本,不直接覆盖已确认稿。
|
||||
2. 生成请求必须能追溯到 Prompt、上下文和 Provider。
|
||||
3. 故事圣经的硬约束优先于模型自由发挥。
|
||||
4. 长篇记忆是辅助索引,不是原文唯一副本。
|
||||
5. 下游派生必须绑定明确快照。
|
||||
6. 质量评分不能替代人工对关键章节的确认。
|
||||
|
||||
## 12. 下一阶段
|
||||
|
||||
- 修复小说相关测试桩和状态期望。
|
||||
- 增加“计划 -> 3 章批次 -> 质量修复 -> 快照”的 E2E。
|
||||
- 明确章节状态机和迁移规则。
|
||||
- 补齐长篇记忆与派生任务的 Worker 执行器。
|
||||
- 为 AgentRun 增加成本、实际模型和输入摘要展示。
|
||||
|
||||
Reference in New Issue
Block a user