利益相关声明:作者与文中产品有直接的利益相关(开发者、自家产品等)

我用 20 天时间,做了一张可以沿着山河阅读《诗经》的地图。

最开始,我只是想知道,三千年前,在自己身边这片土地上,传唱着哪些诗篇。但是做着做着,就有点上瘾了,于是我又让这些古老的诗篇,变成了 305 首歌谣。

我不会编程,也没有写一行代码。AI 让我很快越过了「能不能做」的门槛,却把另一个问题推到了我面前:当「做出来」变得容易,什么才算真正「做好」?

项目地址:https://songs.campzhe.com/

第零天:一个想法

我一直很喜欢《诗经》。

有一次,在开车回家的路上,我听杨照老师讲《摽有梅》。它讲的是一个采梅子的女子,等待喜欢的人表明心意。

那天,我一个人在车里哭得稀里哗啦。

《诗经》离我们的时间很远,但那些等待、爱慕、焦急和渴望,并不遥远。它写的是古人的生活,却经常让我觉得,他们与我们并没有什么不同。

我生活在武汉。长江和汉水在这里交汇,《诗经》中的许多歌声也曾在江汉之间流传。那一刻,我心里升起了一个念头:我能不能做一张中国古代地图,把各个地方的诗篇标注在山河之上?当我找到自己生活的地方时,能不能知道很久以前生活在这里的人,曾经怎样歌唱?

在过去,这样的想法大概只能停留在想法里。

但这一次,我问了自己一个问题:我能不能真的把它做出来?

诗篇卡片

第一天:先让一个不存在的东西出现

我当然不是从一片空白开始。

我曾看到过一个开源的中国历史地图项目,它可以在地图上标注历史人物和事件,沿着时间与地点展开一段历史。它没有告诉我应该怎样做《诗经》,但让我第一次觉得,一张可缩放、可交互的历史地图,并不是遥不可及的东西。

2026 年 7 月 2 日上午,我把这个项目和一篇介绍文章发给 Codex:

我想创建一个《诗经》历史地图应用,请参考这个案例实现方式,为我构建这个应用。

不到一个小时,第一个原型就出现在浏览器里。

虽然它还很粗糙,但那种感觉非常奇妙。几个小时前,它还只是一个反复出现在我脑海里的念头;现在,屏幕上已经出现了一张地图、几张诗篇卡片和散落在山河之间的标签。我可以拖动地图,也可以点击一首诗。一个原本不存在的东西,突然有了可以被看见、被操作的形状。

这是我第一次感受到 AI 带来的「超级加速度」:我不必先跨越一整套技术门槛,就可以直接从真正想解决的问题开始。

那一刻,我几乎相信,最困难的部分已经过去了。

后来我才知道,一个东西能够出现在屏幕上,和它真正成为我想要的样子,中间还隔着很远。

原型版本 - 首页

第二天:从粗糙的原型到可用的界面

第一个原型只让我兴奋了几分钟,问题就一个接一个冒出来。

地图显示不完整,标签和卡片也会在操作中四处漂移。它已经能够运行,却还远远谈不上好用。

我看不懂背后的代码,只能像一个普通用户一样反复打开页面、拖动地图、点击诗篇,然后告诉 Codex:我看到了什么,哪里不对,以及我希望它变成什么样。

在这个过程里,我逐渐意识到,我不需要知道每一行代码应该怎样修改,但必须说清楚自己为什么不满意。地图与诗篇谁是主角?读者的目光应该落在哪里?什么样的操作会打断阅读?AI 可以快速给出一个又一个版本,但作品的标准仍然需要由我定义。

原型版本 - 诗篇卡片

第四天:把 305 篇诗放进同一片山河

地图逐渐稳定以后,我开始把注意力转向诗篇本身。

很快,风、雅、颂共 305 篇全部出现在同一片山河之中。项目也从一张地图,变成了一套沿着地理阅读《诗经》的系统。

但我很快发现,把 305 篇内容放进去,和真正完成 305 篇内容,完全是两码事。

例如,《芣苡》翻译解读的初版,没有说清楚「芣苡」就是车前草,也没有让人明白,一群女子为什么会一边采摘一边歌唱。类似的问题,散落在 305 篇诗中。

我当然可以把它们留在那里,大多数读者甚至未必会注意到。但如果一张地图,只是把诗篇摆到了正确的位置,却没能让人进入诗中的生活,那么它仍然只是一个看起来完整的半成品。

我开始为诗篇补充文本注解、风物注、全诗译意和研究来源,也让 Codex 检查缺失、错位和重复。机器很擅长找到能够被规则描述的问题,却无法告诉我一段译文是否自然,一次换行是否破坏了诗歌的呼吸。

不到一个小时,AI 就能让 305 篇诗出现在地图上,但要判断它们是否配得上被放在那里,我只能重新回到每一首诗里。

丰富后的诗篇卡片内容

第十天:诗经山河图 1.0 上线

经历了精疲力竭的 10 天,我终于完成了全部的内容验收,将它发布上线。

当我第一次通过公开网址打开它时,我下意识地把地图移回武汉。十天前,这里还只有一个模糊的念头,现在,长江与汉水之间真的出现了那些古老的诗篇。

我既兴奋,又有些不安。一个只属于自己的东西可以不完整,但一旦把链接交给别人,它就必须接受别人的目光。

我原以为,这就是这段旅程的终点。

第十一天:从地图到歌谣

网站上线以后,我又想起了最初的问题:生活在这片土地上的古人,曾经怎样歌唱?

《诗经》原本就是歌。今天,我们仍然保留着它的文字和节奏,却已经不知道那些旋律究竟是什么。如果这个项目最终只能让人阅读《诗经》,似乎仍然少了很重要的一部分。

我也想起杨照老师说过的一句话:

《诗经》是三千年前的人唱的歌,要用唱歌的逻辑去看。

于是我开始了小规模测试,我先选了《汉广》《无衣》《采薇》《七月》和《清庙》,测试了很多个技术方案,大多数体验都不太好。

因为我不希望它们被套进同一种「古风歌曲」的模板,而是希望每一首都拥有自己的结构和情感。

直到我开始测试 MiniMax-Music,当它生成的《汉广》第一次响起时,我只记得自己突然安静下来,那些隔着三千年的文字,不再像被供在书本里,而像一个人在水边,唱出无法抵达所爱之人的惆怅。

那一刻,我第一次觉得,《诗经》里缺失的声音,也许真的可以回来。

那首歌并不完美,但它不再只是被供在书本里的神圣诗篇,而像一支重新飘荡在人身旁的日常歌谣。

加入音乐的诗篇卡片

第十二天:陷入歌谣地狱

完成技术验证后,我非常兴奋,因为歌谣比文字可有意思多了。

于是,我继续为整部《诗经》制作音乐,这个工作量远远超过了我的预期,最开始我乐观估计 2~3 天就可以完成所有歌谣的制作,但实际上,我又花了整整 10 天时间。

真正折磨人的不是生成音乐,而是一遍遍听见「差一点」。有的旋律很好,却唱错了一个生僻字,有的读音终于正确,情绪却变得平淡,还有的开头让我惊喜,唱到中间却突然失去了诗篇原本的节奏。

我不得不尝试使用各种策略,来替换生僻字、多音字,反复校正模型的发音。

最终,为了这 305 首诗篇,我生成了 2837 个音乐候选版本。

被这些音乐搞得累趴下了

为了处理如此庞大体量的音乐,我做了一个听审台,让机器先检查读音、旋律和情绪,再由人来听。但我很快发现,评分只能帮助我缩小范围,不能替我做最后的决定。有些高分版本听起来工整,却没有生命,有些并不完美,却让我愿意再听一遍。

这时我才真正明白,AI 可以不断扩大选择,却不会替我承担选择的责任。

内部听审台界面

PS:由于自己的能力有限、精力有限,此前也没接触过音乐制作,其中还是有很多错音、漏唱和不自然之处,希望大家也能一起帮忙听一听,告诉我哪里出错了,我会继续维护这个小项目。

第二十天:诗经山河图 2.0 上线

喜大奔普

2026 年 7 月 2 日,这还只是我在开车路上产生的一个念头。

20 天后,我戴上耳机,听见《诗经》的文字,真的变成了一首首歌谣。

其实,AI 并没有让创造变得轻松。它只是加速了这个过程。它迅速越过了过去最显眼的门槛,让我更快、更密集地遇见那些真正困难的问题。

想法刚刚出现,我便被迅速带到下一个选择面前。我要不断回答,这是不是我真正想要的,如果不是,究竟差在哪里。

当「做出来」变得容易,「做好」反而更加依赖人的判断、耐心和审美。

如果你愿意,可以打开《诗经山河图》,在地图上找一片与你有关的山河,选择一首诗,听一听它的歌谣。也许在某个瞬间,你会发现:三千年的时间很长,但古人与我们之间,并没有想象中那么遥远。

很好听,去听一听吧
项目地址:https://songs.campzhe.com/

> 关注 少数派小红书,感受精彩数字生活 🍃

> 实用、好用的 正版软件,少数派为你呈现 🚀