6岁娃背诗坐不住,程序员爸爸用AI两天撸了个古诗网站

两天,一个人加 AI,从第一行代码到网站上线:108 首小学统编版古诗、1769 段真人级发音、237 个页面、零广告零会员。
这不是什么创业项目。起因特别简单:我家娃 6 岁,背《咏鹅》背不进去。
「鹅,鹅,鹅」念了三遍,人已经去抠橡皮了。我在旁边讲意思,她眼神慢慢涣散。那一刻我认了:不是娃的问题,是我讲得太干。
市面上的古诗 App 我下了一排,体验完全劝退:开屏广告、会员弹窗、动画花里胡哨但诗没讲透,娃当动画片看,背诗倒是没背下来。有的还要按月收费,算下来比我服务器都贵。
那就自己写一个。我是干云计算运维的,家里正好有台备案过的服务器——这个项目,就这么开始了。
先看数字
| 项 | 数据 |
|---|---|
| 开发周期 | 2 天上线 + 1 天语音重做(41 个 commit,AI 结对编程) |
| 内容量 | 1-6 年级统编版古诗 108 首 + 古文 14 篇 |
| 语音 | 预生成神经语音 1769 段(男童朗读 + 奶奶讲故事双音色,含 427 个字音 + 427 条字卡讲解) |
| 页面规模 | 237 个静态页,秒开 |
| 费用 | 一台已有服务器 + MiniMax 语音合成约 30 元 |
| 广告 / 会员 | 无 |

这是娃看到的主界面:一台红色小战车「疾风破雾号」,每天三个任务——学 1 首新诗、复习 2 首小诗、认识 5 个字。地图上一个个岛屿,就是一年级的「晨光岛」、第一站「咏鹅湖」。
设计逻辑就一条:娃以为在闯关,其实把诗学了。
五步闭环:一首诗是怎么被「玩」下来的
第 1 步:看一看——先懂,再背

每首诗开场的不是诗,是一个小剧场。《咏鹅》讲的是 1300 多年前那个 7 岁的骆宾王,跟你差不多大,客人指着池塘让他写诗,他张口就来。
娃听完眼睛是亮的:原来写诗的人是个小孩!
先懂再背,是我给这个项目定的第一条铁律。不理解意思的背诵,就是折磨。
第 2 步:学一学——逐句点读

每句诗都有拼音,点一句读一句,下面配一句大白话翻译。「曲项向天歌」就是「弯着长长的脖子,对着天空唱歌」。
随手还埋了个「随诗识字小宝库」,这首诗里的鹅、白、水、红、天,点开就能认。
第 3 步:识字卡——一个字讲一个故事

识字卡是娃最喜欢的。「鹅」字怎么来的?古人照着大白鹅的样子画画,画着画着就成了字。还有一句口诀:「左边是我,右边是鸟——我家的鸟儿长着长脖子,就是鹅。」
内容上我卡得很死:注音和译文全部对底部编版教材,多音字一个个人工复核。孩子的第一印象只有一次,教错不如不教。
第 4 步:跟一跟——一句一句学着念

示范音读一遍,娃跟着念一遍,念好了一句再下一句。4 句诗,两三分钟就过了一遍,一点压力没有。
发音是重点。我没有用浏览器自带的机械 TTS,而是用 MiniMax 神经语音提前把 1769 段音频全部生成好放在服务器上——所有设备听到的声音完全一致。而且不是一个声音念到底:点读、跟读、鼓励语是可爱男童,像个小同学陪娃学;讲故事是花甲奶奶,慢悠悠的哄睡腔。多音字做了同音字替换 + 发音词典双保险,「风吹草低见牛羊」的「见」老老实实读 xiàn。
第 5 步:挑一挑——和迷糊兽对战

学完了得检验。战车 VS 迷糊兽,三道题:哪句诗是在夸大白鹅红红的脚掌呀?答对,战车往前冲。
答错也不批评,重来就是。闯关游戏的精髓不是难,是让娃敢试。
通关:会背印章点亮

三颗星,一枚「会背印章」,《咏鹅》正式装进小脑袋。
整个过程大概 10 分钟。当天晚上,娃主动把《咏鹅》背给她妈听——一字不差。那一刻我觉得这两天没白熬。
上线第二天,我把声音整个重做了一遍
第一版语音用的是微软免费的「晓晓」,能听,但顶多算「不扣分」。娃用了半天我就发现问题了:一个成年女声从头念到尾,讲故事像念新闻。
于是把语音当成正经功能重做了一天,这块踩的坑值得单独说说。
先定角色,再选音色
我把 MiniMax 音色库翻了一遍,挑了 4 个候选(可爱女童、可爱男童、播音腔、花甲奶奶),每个生成 12 条试听样音,全家投票。结果很一致:朗读用可爱男童,讲故事用花甲奶奶。
理由不是「好听」,是角色设定:男童是陪娃闯关的小同学,奶奶是讲故事的人。5 岁小孩对「谁在跟我说话」比我们敏感得多——声音对了,娃才坐得住。
坑一:AI 不会读拼音字母
「四声小火车」教 mā má mǎ mà,我把拼音直接喂给 TTS,读出来乱七八糟。最后绕开的办法很土但有效:不给拼音,给同音汉字——「妈麻马骂」四个字替它把四个声调立住,前端播放时画面显示的还是拼音。清单层做了文本和发音的分离,展示一套、发音一套。
坑二:多音字,验收不靠耳朵靠 ASR
「风吹草低见牛羊」的「见」要读 xiàn,「两岸青山相对出」的「相」要读 xiāng。我加了发音词典,但合成的对不对不能靠我一条条听——1769 条呢。
最后是用本地的 Whisper 语音识别反向验收:把合成的音频再识别回文字,「见」如果读成 xiàn,识别结果就会写成「现/献」;读错成 jiàn 就会写成「见」。8 处多音字全部自动验过,全对。
坑三:最扎心的——一句鼓励语骗了我们
娃点亮「会背印章」时,网站会说「哇!你都会背啦!真棒!」。我用 Chrome 无痕模式测试时发现:这句话一直是浏览器机器人的声音,什么音色切换都对它无效。
查到最后是个竞态 bug:点按钮那一刻,代码先触发页面重渲染,重渲染的清理函数把刚开播的音频文件掐断了,播放器报错被当成「文件损坏」,于是默默回退成浏览器 TTS。也就是说从这句鼓励语上线起,娃听到的就一直是机器人。
修复后又顺藤摸瓜,把拼音基地「摘苹果」里同类的问题也修了——「摘到啦!」刚出口就被下一句目标音盖掉。给娃做产品,鼓励语是灵魂,灵魂不能是机器人的。
顺带做了个备胎体系
旧的两版音色没删,服务器上留着;又顺手把得票第二的「萌萌女童」也全量生成了一份当备用。家长中心最底下加了个不起眼的「备用音色」下拉,随时能切。成本顺便说一句:1769 条全新合成 + 1769 条备用,MiniMax 一共收了三十块左右,一杯奶茶钱。
家长这边,另有一套
孩子端看到的是游戏,家长端是控制台。
- 学情看板:每首诗学到哪一步、几颗星、该复习哪首,一张表看清;
- 「会背」要家长确认:娃自评背会了不算,家长抽查过了才点亮印章——这是每周亲子抽查的抓手;
- 云同步:爷爷奶奶的手机登录同一账号,进度自动合并,谁带娃都不丢档;
- 每周战报:一键生成一张图片发家庭群,学了几首诗、认了几个字、连续打卡几天。
防沉迷,是产品自带的
这是我和市面产品分歧最大的地方。别家盼着娃多待,我盼着娃准时下线。
- 每日学习时长到点,战车「没电」,直接收工,明天再来;
- 连续使用 10 分钟,弹出 20 秒「远眺休息」,盯着屏幕数数都不行;
- 家长中心有个算术门,娃自己进不去。
产品有伦理。给孩子的产品,克制是加分项。
两天到底怎么做到的
真正的效率杠杆是 AI 结对编程。我在 ZCode + GLM5.3 里把需求讲清楚——PRD、设计稿、内容红线——AI 负责写代码、跑构建、部署上线,我负责验收和拍板。33 个 commit,每个功能都是「我提需求 → AI 实现 → 我挑毛病 → AI 修」这么滚出来的。语音部分用的Codex + kimi k3
AI 时代,个人的执行力上限被抬高了。一个人 + 一条清晰的需求,就是一支产品团队。
当然要说清楚:AI 写代码很快,但 108 首诗的注音复核、多音字校对这些事,是我一首首对着教材过的。机器提效,责任还是人的。
上线与合规
网站部署在自有腾讯云服务器上:HTTPS 证书自动续期,管理后台上了账号密码 + TOTP 两步验证,nginx 日志每 10 分钟自动分析一次,恶意 IP 直接进黑名单。ICP 备案号挂在每个页面底部。
网站地址:shici.chemppt.cn(浏览器打开即用,也可添加到手机主屏,像 App 一样)。纯文字贴出来,需要的自取。
老张评价
优点很直接:内容扎实、理念正确(先懂再背)、防沉迷自带、零广告零会员,且全部数据在自己手里。
局限也说清楚:插画是我自己画的 SVG,风格是「手绘朴素」不是「精美动画」;适合 5-8 岁、幼小衔接到小学低年级;想找「放娃 30 分钟随便看」的,这产品不合适,它需要家长陪前三关。
🎯 老张建议
- 孩子的学习产品,「先懂再背」比「多背快背」重要——理解是记忆的挂钩,没有挂钩,背了也挂不住;
- 有服务器、有想法的,真的可以试试用 AI 把想法做出来——把需求写清楚,比写代码难,但也只是写清楚而已;
- 给娃用的东西,防沉迷请当核心功能做,不是补丁。
💬 互动话题
- 你家娃背古诗,是先讲意思还是直接背?
- 给娃听的内容,你在意「谁的声音」吗?男童陪读 + 奶奶讲故事这个搭配,你觉得靠谱吗?
- 你会用 AI 给家人做点什么东西?评论区聊聊,说不定下一篇就写你的点子。
🔗 关注老张
公众号:老张聊运维 小程序:观简国学 个人博客:https://www.shanwaiyun.top/