我花了 10 个小时,用AI编了一套精美的诗集:Skills 开源,附 6 套宋代美学模板

0 评论 83 浏览 0 收藏 15 分钟

为了验证百万级上下文,他用 Kimi K3.1 Pro 编了一套苏轼诗集,一千四百四十八页、三千二百条作品,中途废掉一版竖排稿,烧掉一点六九亿 Token,三百多次调用十小时完工。

现在的大模型普遍支持最高 1M 超长上下文

周二我发了 Kimi K3.1 Pro 的实测:国产最强开源大模型,Kimi K3.1 Pro 实测 2 天,有惊喜,有吐槽

当时就说,还有个测试我没有发出来,那就是超长上下文的测试了

本来只是想简单尝试,它能否帮我编撰一套书呢?

结果,试试就逝世……整整花了 10 个小时才做出来

中途我还毙了一个 1483 页的竖排版本(装 x 还行,读起来太费劲了)

几乎推倒重来,累计吞掉 1.697 亿 Token,从需求到最终交付,总耗时 10 小时 35 分 02 秒, 317 次模型调用

成品《用诗词读懂苏轼——一蓑烟雨任平生》,一共 1448 页

收录规模:

  • 诗 2824 首,词 362 首,赋、记、传、铭等 16 篇,合计 3202 条
  • 82 篇名篇有专门题解、字词笺注和朱批
  • 2651 条有古籍互见记录
  • 2394 条有系年或区间依据
  • 剩下 808 条「系年未详」

苏轼编年诗传全书抽样页:封面、凡例、史料、目录、正文、索引

苏轼编年诗传全书抽样页:封面、范例、史料、目录、正文、索引

每首名篇分四层:题解交代写作背景,笺注解释字词和异文(比如通行本「萧瑟处」,开放语料作「潇洒处」),红色的朱批是编者评语,最下面小字是出处,标注系年依据和底本卷页

正文页:定风波,题解、笺注、朱批与出处分层排列

正文页:定风波,题解、笺注、朱批与出处分层排列

折腾完,整条流水线不能浪费,我把它抽成了一个 Skill,叫 Poetry Book,内置 6 套宋代审美模板,诗词能排,Markdown 技术文章也能排,已经放进我的 GitHub 仓库 tjxj/z-skills,大家把下方截图扔给 AI 即可完成安装,更详细用法见文末

纸色、墨色、装帧线、封面构图全部拆成了主题系统

一共 6 套宋代审美模板

六套主题封面:烟雨留白、青瓷天青、墨禅寂照、朱砂印谱、月夜赤壁、竹影清风

六套主题封面:烟雨留白、青瓷天青、墨禅寂照、朱砂印谱、月夜赤壁、竹影清风

1. 烟雨留白song-mist(默认)

烟雨留白封面

烟雨留白封面

米白纸、淡墨远山、细雨、江面小舟、朱印

这个最接近最初那本苏轼诗传,适合诗人编年、古文选本这种需要大量留白的内容

2. 青瓷天青celadon

青瓷天青封面

青瓷天青封面

浅青灰纸色加天青层山,温润清透

我最推荐拿它排技术专题和课程讲义,后面老章那本 AI 技术小册用的就是它

3. 墨禅寂照ink-zen

墨禅寂照封面

墨禅寂照封面

灰白纸色、一笔墨山、一个圆相,极简到有点冷。适合哲学、散文和极简风格的技术文档

4. 朱砂印谱cinnabar-seal

朱砂印谱封面

米纸配朱砂,借鉴宋人鉴藏印谱,封面上「诗」「心」「藏」几方小印散落。适合作品集、专题选本

主题换掉的远不止封面。同样是《定风波》《念奴娇》那一页,墨禅版的批注叫「墨评」,黑灰色;朱砂版叫「朱批」,整页标题都染上朱红:

墨禅寂照内页:批注为墨评

墨禅寂照内页:批注为墨评

朱砂印谱内页:批注为朱批,标题朱红

朱砂印谱内页:批注为朱批,标题朱红

5. 月夜赤壁moon-river

月夜赤壁封面

月夜赤壁封面

蓝灰纸色、一轮明月、江面水纹、夜航小舟,致敬《赤壁赋》。第一版月亮太淡,几乎和纸色融在一起,专门提高对比度又重测了一轮。整套样张长这样:

月夜赤壁 39 页样张联系表

月夜赤壁 39 页样张联系表

6. 竹影清风bamboo

竹影清风封面

竹影清风封面

淡青绿纸色加几竿疏竹,清雅,竹叶避开了文字区

适合诗文笔记、轻松一点的专栏合集

开发过程

最开始我的要求:

  • 广泛搜正史材料
  • 尽可能完整收集苏轼诗词,能下载就下载
  • 按时间排序,用作品串起苏轼的一生
  • 做成古书风格,要有批注,封面要有宋代审美
  • 做完详细测试,不要出 bug

听起来像「整理资料 + 做个封面」,半天的事

真干起来才发现,这玩意同时是五个项目:史料项目、数据项目、编辑项目、排版项目、测试项目。任何一个环节糊弄,最后那本书都会露馅

第一步:让 AI 去找书,别让它背书

正文一个字都不许来自模型记忆

用过大模型的都懂,让它默写一首冷门诗,它能给你写出一首「很像苏轼」的诗,平仄工整,意境到位,就是查无此诗

所以这次实际下载了 11 个古籍与开放资料仓库、18 个文库页面

主要底本是《东坡全集》《东坡诗集注》《施注苏诗》《苏诗补注》《东坡词》,史实部分参考《宋史·苏轼传》、苏辙写的墓志铭、年谱和《续资治通鉴长编》

开放诗词语料用来建检索基线,古籍文本用来互校。每个仓库的提交号、每个页面的修订号、每个文件的 SHA-256 都记进来源清单

这么做的好处:书里任何一首诗,都能顺着出处回到具体文件、具体卷页

最难的一步:把 3202 首诗放回时间线

收集只是开始,真正磨人的是编年和去重

去重这块,坑比想象的多:

  • 同题异作,标题一样内容不同,不能凭题名合并
  • 组诗不能只留第一首,《其一》《其二》都得在
  • 同一个词牌下几十首词,词牌相同完全不代表是同一首

最后用的是「题名 + 首句 + 正文」三者共同识别

原始文本、规范化文本、展示文本、编者批注分四层存,谁也不污染谁

编年更容易翻车:

  • 有些作品只能确定卷次或人生阶段,给不出年份
  • 有些题序在追忆往事,把往事的年份当成写作年份就错了
  • 年号改元、农历跨年、重复干支,都要单独处理
  • 没可靠证据的,统一放进「系年未详」,绝不硬塞

排完之后,作品是这样分布在苏轼人生各阶段的:

卷次 年份 作品数
卷一 眉山与出蜀 1037—1059 42
卷二 名动京师与凤翔 1060—1065 148
卷三 变法风云与外任 1066—1074 404
卷四 密州岁月 1075—1076 114
卷五 徐湖政绩与乌台诗案 1077—1079 289
卷六 黄州突围 1080—1084 295
卷七 元祐再起与四州 1085—1093 623
卷八 惠州烟雨 1094—1096 123
卷九 儋州与北归 1097—1100 120
卷十 常州绝笔 1101 43

10 小时 35 分,到底花在了哪

环节 用时
需求梳理、环境检查与资料调研 15 分
项目骨架、古籍及开放语料下载 15 分
诗词抽取、古籍匹配与编年 2 小时 07 分
名篇批注与补充诗文 8 分
宋代审美封面、竖版初稿与初版全书 2 小时 57 分
测试修复、字体处理、简体横排重建 4 小时 46 分
最终验收、预览与交付 4 分
合计 10 小时 35 分

注意:下载、编译和部分写作有并行

排版占 28%,测试修复占 45%,两项加起来超过七成

批注只花了不到 9 分钟,AI 写赏析确实快

真正吃时间的,是让一本书「每一页都对」

1.697 亿 Token 是怎么烧掉的

首版交付时,一共 317 条模型用量记录:

类型 Token 数
普通输入 3,628,228
输出 274,751
缓存读取 165,809,377
合计 169,712,356

这个数字很唬人,其实 97.7% 是缓存读取

长任务每一轮都要反复带上书稿结构、工具返回、古籍索引、报错日志,这些重复内容大部分走了缓存

真正新输入加输出,大约 390 万 Token(后面做 6 套模板和技术文章模式又烧了一些,没算进来)

往前再走一步:技术文章也能排

只能排苏轼的话,它充其量算一个项目,称不上 Skill

所以我拿自己vLLM 反超 DeepSeek 专用引擎,大模型本地部署首选依然没变! 这文章做了个实验,直接丢 Markdown 进去,出来一本小册子:

老章 AI 技术专题:青瓷主题、「老章」印章、15 页图文混排

老章 AI 技术专题:青瓷主题、「老章」印章、15 页图文混排

怎么用

Skill 已经放在我的 GitHub 仓库 tjxj/z-skills

下载 poetry-book 目录后,在目录里执行安装脚本:

python3 scripts/install.py

最省事儿的是上面我说的,截图扔给 AI 安装

默认装到 ~/.agents/skills/poetry-book/,也可以用 –dest 指定位置

环境依赖比较重:

latexmk、LuaLaTeX、Ghostscript、Python 3,Python 包要 fontTools、PyMuPDF、Pillow,技术文章模式再加 PyYAML

系统字体需要思源宋体 Source Han Serif SC VF、Early Summer Serif、霞鹜文楷 LXGW WenKai

装好后可以直接跟 Agent 说「用 Poetry Book 把这篇 Markdown 做成青瓷主题的图文样张」,它会按 SKILL.md 的流程走

也可以手动跑。先看有哪些主题:

python3 “$HOME/.agents/skills/poetry-book/scripts/build_style.py” –list

排诗集(输入是按约定整理好的 book.json):

python3 “$HOME/.agents/skills/poetry-book/scripts/render_book.py” \

–input “/absolute/path/book.json” \

–theme “song-mist” \

–output “/absolute/path/new-output-directory”

排技术文章(直接吃 Markdown):

python3 “$HOME/.agents/skills/poetry-book/scripts/render_article.py” \

–input “/absolute/path/article.md” \

–theme “celadon” \

–title “文章主标题” \

–subtitle “文章副标题” \

–author “作者或栏目名” \

–seal “印章文字” \

–output “/absolute/path/new-output-directory”

几个细节需要注意:

  • 输出目录必须不存在或为空,防止误覆盖
  • 网络图片只接受 HTTPS,单张上限 25MB,加 –offline 只用本地已有图片
  • –require “某句话” 可以指定 PDF 里必须出现的关键语句,做内容验收
  • 每次产出 PDF、validation-report.json 和一组预览图,报告里 passed 为 true 才算完成

如果你也想给自己喜欢的诗人编一本书

或者把文章攒成一本像样的电子小册,可以试试

作者:Ai学习的老章 公众号:Ai学习的老章

本文由 @Ai学习的老章 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自 Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 目前还没评论,等你发挥!