book-agent: 纯Shell驱动AI小说管线——6 Agent × 14 Flow × 零Python依赖

GitHub:https://github.com/jermaine7511261/book-agent

摘要:book-agent 是一个零 Python 依赖、纯 Shell + Agent Prompt 驱动的 AI 长篇小说创作管线模板。6 个智能体协同 14 道工序,覆盖从大纲到多格式发布的全流程,已支撑 2 部小说共 34 章、38 万字的实战产出。本文全面介绍其架构设计、120 维质量体系、Truth 真值系统,以及从 Python 重依赖到纯 Agent 驱动的架构演进过程。

1. 项目起源:让 AI 写长篇小说的工程挑战

用大语言模型写出一条高质量长篇小说,面临三大核心挑战:长程一致性——200 页之后主角的年龄不能变;风格统一性——第三章的叙事节奏不能和第十五章截然不同;生产力瓶颈——靠一个 Prompt 写出整本书的幻想早已破灭,真正的生产力来源于系统化的管线设计。

book-agent 正是为应对这些挑战而生的低代码智能体小说系统。核心理念是:Prompt is Code, Wiki is Database——将知识存放在结构化 Wiki 中,而非散落在对话历史里;将创作流程编码为 Agent 的 Prompt,而非硬编码的业务逻辑。

项目地址:https://github.com/jermaine7511261/book-agent

2. 架构全景:6 Agent × 14 Flow

book-agent 核心架构概括为“六个智能体、十四道工序”。每道工序都有明确的输入、输出和质量标准,每个 Agent 都有清晰的职责边界。

2.1 六个 Agent 角色

Agent 角色 职责
🎬 导演 (Director) 全局调度 定调定方向、修改闭环决策、多格式发布(Flow 0, 11, 13)
🎭 编剧 (Screenwriter) 剧本结构 将导演意图转化为可执行的剧本结构(Flow 1)
📚 设定守护 (Lore Keeper) 知识一致性 事实核查、设定一致性审计、120 维质量评分(Flow 2, 3, 4, 7, 8, 12)
✍️ 主笔 (Writer) 正文创作 按结构+风格+设定写出正文草稿(Flow 5)
✨ 精修师 (Polisher) 语言润色 120 维度精修、去 AI 味、文字锤炼(Flow 6)
💬 反馈师 (Feedback) 质量反馈 试读反馈、场景设计、AI 检测(Flow 9, 10)

六个 Agent 遵循严格串行管线——前一道工序的输出是后一道的输入,每一步可审计、可回溯。

2.2 十四道工序

  • 0_outline(导演笔记) — 章节定位、情绪基调、节奏要求、关键伏笔
  • 1_world(剧本结构) — 段落分析表、悬念管理表、场景编排
  • 2_characters(调研报告) — 逐项对照 truth 文件做事实核查
  • 3_arcs(设定审核) — 章节间设定一致性交叉审计
  • 4_truth(真值预检) — 在动笔前预填 truth 增量,锁定写作参数
  • 5_drafts(正文草稿) — 核心创作,生成完整章节
  • 6_polished(精修正文) — 120 维度质量精修
  • 7_feedback(审计) — 120 维质量评分+分级审计
  • 8_promotion(连贯性) — 跨章节一致性检查
  • 9_iteration(试读反馈) — 模拟读者反馈
  • 10_illustration(场景设计) — 关键场景视觉化
  • 11_notes(修改闭环) — 导演审核修改建议并决定是否执行
  • 12_beta(最终审计) — 全书一致性校验
  • 13_release(发布) — 产出 .md / .html / .txt 三格式

3. 120 维质量体系:可量化的质量评分

book-agent 设计了一套可量化、可审计的 120 维质量评分体系——12 组 × 10 维 × 10 分 = 1200 分满分。

名称 关注领域
A 基础写作质量 语法、句式、错别字、标点
B 叙事结构 起承转合、情节密度、节奏
C 角色塑造 一致性、动机、对话贴合度
D 世界观一致性 设定逻辑、前后一致性
E 文风与语感 修辞、叙事视角、张力
F 去 AI 化 禁用句式检测、模板化表述
G 敏感内容检测 政治、伦理、合规检查
H 跨章连续性 时间线、人物状态、道具追踪
I 读者体验 悬念设置、信息释放、代入感
J 发布质量 排版、格式、目录结构
K 类型贴合度 类型元素完整度
L 创新性 叙事手法、设定创新

F 组(去 AI 化)维护精心设计的禁用句式黑名单,包括“在他的眼中”“他感受到……”“或许…或许…或许…”“深吸一口气”“瞳孔骤缩”“嘴角勾起一抹……”等 50+ 高频 AI 模板句式。配合 de-ai-scan.sh 脚本,数秒内扫描整章内容。

4. Truth 真值系统:为小说建立“数据库”

长篇小说最大杀手是前后矛盾。book-agent 的 Truth 系统由 8 个 JSON 文件组成结构化“事实数据库”:

文件 内容
truth_characters.json 角色信息:姓名、年龄、外貌、性格、关系
truth_concepts.json 核心概念:世界观设定关键术语
truth_plot.json 情节线:主线/支线的关键事件
truth_power.json 力量体系:能力等级、天赋、限制
truth_props.json 道具:关键物品、属性和出现章节
truth_relationships.json 关系网:角色间的情感/利益关系
truth_tech.json 科技:技术设定、设备参数
truth_timeline.json 时间线:事件发生的具体时间节点

5. 实战验证:两部小说的完整产出

5.1 判断权 — AI 时代的文学实验

类型:都市 / AI 伦理 / 文学小说 · 章节:24 章 · 字数:约 30 万字 · 状态:✅ 已完成并发布

《判断权》讲述程序员陈默在 AI 时代面对技术焦虑、职场生存和家庭责任的故事。经过 14 道工序打磨,产出了 72 个发布文件(每章 .md + .html + .txt),120 维质量体系平均得分 93 分。

5.2 峡谷至尊 — 电竞网文的自动化生产

类型:电竞 / CP 网文 · 章节:10 章 · 字数:约 8 万字 · 状态:🚧 进行中

峡谷至尊采用 book-agent 的项目继承机制——去除本地 prompt 副本,从 book-agent 模板继承所有 Agent 定义,仅在一个 project.json 中覆写 model 和 book_dir。

6. 架构演进:去 Python 化的必然之路

6.1 为什么要去 Python?

book-agent 早期版本包含 2,349 行 Python 代码——18 个审计工具、4 个测试文件、3 个辅助脚本,试图用程序化方式实现 120 维质量检查。但我们发现了根本性矛盾:

既然 Agent 本身已经通过 Prompt 执行质量检查,为什么还要再写一套 Python 实现同样的逻辑?

答案是不应该。维护两套并行逻辑意味着任何维度修改都需要同步更新 Python 代码和 Agent Prompt——在实践中几乎做不到,最终必然导致代码腐化。此外,pytest、mypy、flake8、pyyaml 这些开发工具在 Agent 驱动的管线中属于不必要的噪音。

6.2 去 Python 化的具体步骤

操作 影响范围
删除 18 个审计工具 check_group_a.py ~ L.py, audit_120.py, auto_check.py 等
删除 4 个测试文件 test_agent_config.py, test_pipeline_integrity.py 等
删除 Python 辅助脚本 init_project.py, word_count.py, validate_yaml.py
创建 Shell 替代 word-count.sh, validate-yaml.sh
重写 CI Python 矩阵测试 → 纯 Shell 验证
精简 pyproject.toml 63 行 → 6 行

6.3 统一 CLI:一个命令管理全流程

去 Python 化后,17 个 Shell 脚本通过统一的 book-agent 命令访问:

./scripts/book-agent start          # 启动 Hermes Agent 服务
./scripts/book-agent status 24      # 管线状态检查
./scripts/book-agent produce 1 5    # 批量生产第1-5章
./scripts/book-agent de-ai src/     # AI味检测
./scripts/book-agent wc --by-file   # 字数统计
./scripts/book-agent validate       # YAML 语法验证

7. 项目结构

目录 内容 数量
prompts/ 6 个 Agent 完整提示词定义 24 文件
scripts/ 全流程 Shell 脚本 + 统一 CLI 17 个 .sh
config/ 管线配置、默认参数、审计配置 3 文件
genres/ 7 种小说类型创作指南 8 个 .md
style/ 120 维质量体系 + 去 AI 规则 + 文风 9 文件
truth/ 设定事实模板(8 个 JSON) 9 文件
projects/ 项目模板 + 注册表 8 文件

8. 快速开始

git clone https://github.com/jermaine7511261/book-agent.git

# 创建新小说项目
mkdir -p mynovel/config mynovel/truth
cp projects/templates/project.json.example mynovel/config/project.json
# 编辑 project.json 填入书名、类型、章节数

# 启动管线
./scripts/book-agent start

9. CI/CD

CI 仅 34 行,零 Python 依赖:

  • Shell 语法检查find . -name '*.sh' -exec bash -n {} \;
  • JSON 语法检查jq empty
  • YAML 语法检查scripts/validate-yaml.sh -q
  • Markdown 链接检查 — Shell 内联 grep/find

10. 当前数字

指标 数值
Python 代码 0 行
Shell 脚本 17 个 · 约 1,400 行
产出小说 2 部 · 34 章 · 38 万字
Agent 数量 6
管线工序 14
质量维度 120
小说类型模板 7 种
CI 步骤 4(全部 Shell)

11. 核心方法论

  • Prompt is Code — Agent 的 Prompt 是经过严格版本管理的结构化文档,修改 Prompt 等于修改代码
  • 不要为 Agent 已做的事写代码 — 避免 Agent 和程序化工具之间的功能重复
  • 文件结构即文档 — 目录命名直观反映内容,减少上下文切换成本
  • 平台无关 — 统一使用正斜杠路径和占位符,消除环境故障

GitHub:https://github.com/jermaine7511261/book-agent

技术栈:Hermes Agent · Shell Script · JSON Schema · Markdown Wiki · Bash CI · 零 Python

发表评论