基于 AI agent 的童话编剧与绘本生成器(五)出图 Prompt 双 LLM 编排、RAG 语料基建、体验焕新与项目交付闭环
项目名称: AI 童话编剧与绘本生成器
本阶段时间: 2026 年 5 月 25 日 — 2026 年 5 月 31 日(第 13 周)
一、引言
继第四篇团队博客完成「图像后端接入、SQLAlchemy ORM、绘本库可持续创作与安全治理」之后,团队进入 生成链路精细化、知识库离线建设、前端体验焕新 与 答辩交付能力补齐 并行的阶段。本期团队博客汇总四位成员本周个人博客成果,内容覆盖:
- 蒋宇宸:在第四篇三层图像架构之上引入 出图 Prompt 编剧 Agent(第二个 LLM),明确「故事 LLM → 出图 LLM → Qwen 执行」双流职责;优化规则层 fallback、收敛出图入口,并修复阅读页 单页插图重绘 的前后端体验断点;
- 黄子祺:建立 英文童话 RAG 离线语料流水线,将
fairy_tales/*.txt收敛为backend/data/knowledge/corpus.jsonl,统一KnowledgeRecord字段与theme_tags规则,为后续后端检索注入奠定「单一事实来源」; - 黄荣涵:推动 全站视觉设计体系升级(暖色手工绘本风、手绘 SVG 图标、首页轮播与多页重构),落地独立 家长中心 页面,并同步完善 users 表、RBAC 角色语义(editor→child) 与 孩子每日使用配额 等数据库与登录能力;
- 李冰川:深化 「我的绘本库」可持续创作(阅读进度恢复、草稿双保险、Workflow 绑定用户),补齐 ZIP 导出闭环、插图就绪自检 与 演示样例文档。
四位成员分别从 分镜—出图契约、RAG 数据地基、产品视觉与家庭治理、体验续读与交付物 四条轴线同时推进,推动项目从「链路能跑」向「出图描述准确、语料可重建、界面可信可运营、答辩可演示可打包」演进,为后续 出图 RAG、中文语料扩展与 Job 阶段可观测性统一 减轻产品与工程债务。
二、蒋宇宸:出图 Prompt 双 LLM 编排与重绘体验修复
2.1 工作背景
第四篇已将 Qwen 图像模块以适配层—执行层—图像核心挂入 FastAPI,但线上使用暴露三类问题:分镜字段与出图 prompt 各说各话(适配层仍用 page.text 填 scene/action,旁白对白混入画面描述);分镜到 Qwen JSON 仅依赖规则拼接,难以稳定产出纯视觉 scene 与全书一致的角色 prompt;阅读页「重试本页插图」 无 loading、成功后图片不刷新,甚至伴随后端 500,严重劝退演示。
2.2 方案设计
在保留第四篇三层架构前提下,于「LLM 剧本」与「Qwen 出图」之间 显式插入第二个文本 LLM 阶段:
用户创作参数
↓
【LLM 1】generation.py scripting:分镜 + 朗读正文
↓
【LLM 2】image_prompt_generation.py storyboarding:出图固定 JSON
↓
【Qwen】ImageGenerator imaging:PNG + VL 重试
job_orchestrator.py 三阶段与前端进度文案对齐:scripting → storyboarding(「正在生成分镜提示词…」)→ imaging(「正在绘制绘本插图…」)。单页重绘 retry-image 走同一 storyboarding + imaging 路径,仅重跑目标页。
2.3 关键实现
- 出图 Prompt 编剧 Agent:新建
ImagePromptGenerationService,输入 仅分镜 JSON(scene、character_action、chapter_title),刻意不传page.text;输出ImagePagePromptLLM(纯视觉 scene、illustration_style、negative_prompt、characters[])。seed_base、角色 id、VL 阈值等 系统字段由_finalize_payloads注入,LLM 只负责「画什么」。 - Agent 优先、规则兜底:
build_page_payloads_with_agent失败时自动build_page_payloads_rule_based;规则层改为 scene/character_action 来源分镜字段,首页才附加故事世界与年龄标签,避免每页重复占满 800 字;画风与前端art_style对齐,负面词抑制对话框、字幕、路人。 - 工程收敛:对外统一
build_page_payloads_from_story、render_story_images、render_story_images_for_story三入口;ImageProvider集中 DashScope Key 与模型名判断。 - 重绘 UX:后端
POST .../pages/{n}/retry-image读取创作参数快照;前端effectiveStoryId()从 localStorage 补全 id,按钮「重绘中…」+ 图片 URL?t=缓存破除。
2.4 问题与取舍
| 问题 | 处理思路 |
|---|---|
| 旁白文本污染画面 | 出图 Agent 输入隔离 page.text,scene 禁止对白 |
| Agent JSON 漂移 | 低温 0.4 + _validate_page_payload,不合格整路 fallback |
| 同步 imaging 耗时长 | 保持 Job 阶段机,imaging 独立超时;后续可完全异步化 |
| 第三篇 Qwen 核心稳定性 | 不改 VL 打分与 generator 内核,只改 prompt 来源 |
2.5 成果与总结
链路从「故事 LLM 写分镜 → 规则拼字符串 → Qwen」升级为 「故事 LLM → 出图 LLM → Qwen(规则兜底)」,分镜与画面描述职责分离,演示时 storyboarding 阶段可见、可解释。阅读页重绘从「点了没反应」变为 可感知、可刷新 的闭环。为下一篇 出图 RAG 语料建设 预留了稳定的 JSON 契约入口。
三、黄子祺:英文童话 RAG 语料离线流水线
3.1 工作背景
第六篇后端将把 reference_material 注入 LangChain 编剧模板,但运行时检索依赖 离线、可版本管理、字段稳定 的语料文件。若仍停留在散落 txt 或临时拼接字符串,则无法 diff、无法重建、也难以在答辩中解释「知识从哪来」。
3.2 方案设计
坚持 「先 jsonl 立住单一事实来源,再谈向量库」:第一版不绑定 embedding 服务,生成侧仅读 data_root()/knowledge/corpus.jsonl。语料为 英文正文(language: en),与前端 zh-CN 成稿 刻意分离,保留「英文参考、中文输出」的产品组合空间(检索桥接见第六篇)。
3.3 关键实现
- 目录与字段:输入
fairy_tales/{n}.txt;输出每行一条 JSON,对齐 PydanticKnowledgeRecord:id、title、theme_tags、body、source、language。 - 标题与标签(无 LLM):
title取首行非空文本;theme_tags在english/fairy_tale/folk_story基底上,用正则从标题抽取 ≥4 字母英文词,去重封顶。 - 构建脚本:
scripts/build_knowledge_corpus_en.py按编号区间扫描,缺失文件[skip],normalize_body压缩空行;id=ft_en_{n:04d}与source=fairy_tales/{n}.txt保持可追溯;全量重建覆盖写 jsonl。 - 运行时路径:
DATA_DIR相对backend,lifespan 确保knowledge/存在;语料文件名经settings.rag_corpus_filename可配置。
3.4 问题与取舍
| 问题 | 解决方案 |
|---|---|
| 中文 txt 误入英文流水线 | tags 弱依赖英文词形;第六篇用 hint / 后续中文库分流 |
| 缺号 txt | 跳过并统计 missing,补齐源文件后重跑即可 |
| 大文件是否入库 | 语料 gitignore,队友本地 build_knowledge_corpus_en.py 重建 |
| 语义检索缺失 | 第一版接受关键词命中 + fallback,换实现不破坏 generation 契约 |
3.5 成果与总结
团队拥有 可重复执行的语料工厂:从 fairy_tales 到 corpus.jsonl 命令一行、字段与加载器对齐。价值不在「立刻更聪明」,而在 路径、字段、重建命令与 source 可追溯——没有这一层,RAG 只能是 demo 级字符串拼接。
四、黄荣涵:视觉焕新、手绘图标与家长端治理落地
4.1 工作背景
前期静态站功能与后端接口逐步对齐,但 纯色底 + Emoji 图标 + 系统字体 与「面向家庭的暖色绘本工坊」定位差距明显;完成页仍混杂家长设置,绘本库与家长能力缺少独立承载;同时前端推进家长中心时,暴露 users 表字段、角色命名与配额策略 与 UI 不同步的问题。
4.2 方案设计
引入 Frontend Design 协作,确立「温暖、可信、童趣但不幼稚、像实体绘本封面」方向;建立 CSS 设计变量 + 手绘 SVG 图标体系 + 分页面信息架构重组;家长能力 从完成页剥离至 parent.html,并与 RBAC、SQLite 用户模型联动。
4.3 关键实现
- 视觉体系:主色陶土橙
#c4704a、纸色底#fbf6ee、衬线标题 + 楷体正文;大圆角与暖色阴影;.bg-soft多层径向渐变 + SVG 纸纹;按钮 primary/ghost 分级与fade-up、gentle-float动效。 - 手绘图标:参考 Doodle Icons,脚本批量生成 27 个 SVG,替换场景/角色/功能 Emoji,覆盖 forest、lion、book、share、pdf 等,统一「绘本感」。
- 页面改造:首页导航补家长中心、示例绘本 4.5s 轮播;完成页简化为徽章—封面—摘要—主操作(阅读/分享/PDF)—底部导航;新增 parent.html 三块卡片(使用时长、内容过滤、分享与隐私);绘本库顶栏与书架筛选器样式统一。
- 数据与权限:
users表完善user_id、role、parent_user_id等;editor 更名为 child,ROLE_ALIASES兼容旧 token;家长权限扩展至家庭设置、孩子账号与绘本治理;count_jobs_today+assert_child_job_create_allowed按家长 每日分钟上限 换算创作次数;登录页支持多角色演示入口。
4.4 问题与解决方案
| 问题 | 解决方案 |
|---|---|
| 视觉与产品定位不符 | 设计 token + 图标资产化,全站复用 |
| 家长能力挤在完成页 | 独立 parent.html,完成页只保留 celebratory 流程 |
| 前端有页、库无表 | 同步 users/RBAC/配额与 job 统计 |
| 旧 editor token | 别名映射到 child,平滑迁移 |
4.5 成果与总结
产品从「能用的静态多页」升级为 有统一视觉语言与家庭治理入口 的演示形态;后端权限与配额不再滞后于 UI。为后续 全站顶栏统一、分享策略与家长开关联动 提供了页面与数据基础。
五、李冰川:绘本库续读、ZIP 交付与答辩自检
5.1 工作背景
第四篇已建立书架分类与草稿接口雏形,但 阅读总是从第 1 页开始、Workflow 深度模式作品 owner 为空导致书库不可见、答辩缺少 「是否有真图、能否打包下载」 的一眼自检,仍影响验收与日常演示。
5.2 方案设计
在「输入 → 生成 → 展示 → 回流」主路径上补齐 进度记忆、草稿双保险、用户绑定、导出与文档化样例 四条短线,使绘本库真正成为 可持续创作中台 而非静态列表。
5.3 关键实现
- 阅读进度:
GET/PATCH .../stories/{id}/meta读写last_page_index与书架;阅读页加载后 自动跳转上次页码;列表展示「读到第 N 页」。 - 草稿续作:
GET .../draft-source返回创作快照;书库「创作中」继续编辑 →create.html?from_story=回填;localStorage自动草稿(storybook.createDraft:*)与「已保存于 HH:MM:SS」提示,生成成功清理。 - Workflow 绑定用户:
WorkflowJob.owner_username入库;POST /workflows/submit-theme鉴权传入当前用户,与一键 Job 行为一致。 - 答辩交付:
GET /health/capabilities自检 LLM/出图/RAG/鉴权;GET .../assets-status统计本书插图就绪页数;zip_export.py+POST .../export-zip打包 story.json、分镜、分页 txt 与 PNG;完成页 ZIP 下载 + 插图状态 N/M;docs/demo-samples.md与 demo payload JSON。
5.4 问题与解决方案
| 问题 | 解决方案 |
|---|---|
| 续读体验断裂 | meta 读 + 阅读页恢复页码 |
| 深度模式书库缺失 | Workflow owner 绑定 |
| 草稿易丢 | 服务端快照 + localStorage 双保险 |
| 答辩不知有没有图 | assets-status + capabilities |
| 仅有 PDF、缺素材包 | ZIP 含文本+分镜+图片 |
5.5 成果与总结
用户侧形成 「分类浏览 → 续读 → 草稿再编辑 → 完成打包」 闭环;团队侧形成 「Capabilities 自检 → 样例 payload → 导出物」 答辩工具链,降低现场「生成了但不知道有没有图」的风险。
六、团队共识与总结
本阶段(第 13 周),AI 童话绘本生成器团队在 生成精度、知识地基、体验与治理、交付可验 上取得同步进展:
- 出图链路分层清晰:故事 LLM 负责叙事与朗读文本,出图 LLM 负责 Qwen JSON,图像核心负责执行与 VL 一致性;规则层是兜底而非主路径。
- RAG 先数据后智能:英文
corpus.jsonl流水线确立字段与重建命令,检索与 prompt 注入(第六篇)有了稳定输入,而非临时拼串。 - 产品形态可感知:暖色绘本视觉、手绘图标与家长中心独立页,使「家庭场景」从文案变为界面与权限结构。
下一阶段计划: 推进 出图 RAG 语料与 harvest 闭环、中文童话语料与 jieba 检索、全站导航统一与创作进度 UI 增强、RAG 开/关对比实验与样例绘本固化;并在 Job 编排下继续细化 imaging 阶段可观测性与异步化 方案。
团队成员个人博客
| 成员 | 主题 | 链接 |
|---|---|---|
| 黄子祺 | RAG 知识库:从 fairy_tales 到 corpus.jsonl | https://blog.csdn.net/2301_80232378/article/details/160856517 |
| 蒋宇宸 | 出图 Prompt 双 LLM 与重绘体验 | https://blog.csdn.net/yu_chen_xiang/article/details/161753915 |
| 黄荣涵 | 前端视觉焕新与家长端治理 | https://blog.csdn.net/2503_94171936/article/details/162014056 |
| 李冰川 | 绘本库续读、ZIP 导出与答辩自检 | https://blog.csdn.net/2403_82681167/article/details/161902783 |
更多推荐


所有评论(0)