文章目录一、先看成品背单词也可以像打怪升级Boss 战不是随机抽题而是阶段测验爬累了也可以回塔里复习每天一次用同一套装备重新挑战二、我理解的 Vibe Coding不是“许愿式编程”三、两周开发到底做了什么四、让 AI 真正帮上忙的 5 个做法1. 不只告诉 AI“要什么”还要告诉它“什么不能动”2. 文档要短而有用不能只追求“看起来很全”3. 测试不是为了数字好看而是防止同一个 Bug 再犯4. AI 批量生成内容必须配一条校验流水线5. 大改之前先对齐方案提交之前一定自己看一遍五、几个真实翻车现场AI 说修好了还不算修好1. 下楼以后单词和选项对不上2. 药水怎么喝都喝不完3. 测试全绿游戏却可能不好玩4. AI 生成的词义也不能照单全收六、做完以后我对 Vibe Coding 的 5 点建议七、欢迎来爬几层写在前面大家好我是晴空๓。之前我在博客和公众号里聊过 Token、大模型是如何“思考”的这次想分享一次更完整的 AI 实践我怎样用 Vibe Coding从空文件夹做出一款可以上线的微信小程序。这不是一个“输入一句话AI 自动生成整个项目”的故事。相反这两周让我更加确定AI 可以显著加快开发但产品判断、真机验收和质量底线仍然需要人来负责。10 月 14 日我建了一个空文件夹。10 月 28 日这个文件夹里多了一款名为「单词塔背单词」的微信小程序400 层可供挑战博主正在精修400以上楼层欢迎大家来爬塔背单词6,044 个去重单词104 次Git 提交4 个页面、5 个云函数37 个测试文件全部通过。它把背单词和爬塔游戏放在了一起答对单词就发起攻击击败守卫继续上楼答错会被反击扣血血量归零就会坠落。这篇文章既是这个项目的开发复盘也是一份 Vibe Coding 的真实使用记录。当然如果你只是对小程序感兴趣也可以直接微信搜索单词塔背单词来爬几层。一、先看成品背单词也可以像打怪升级「单词塔背单词」的核心规则并不复杂每层有一个守卫给出一个英文单词玩家从四个中文释义中选择答案答对就攻击守卫击败后向上爬答错或超时会被扣血每 10 层出现一个 Boss检验这一阶段的单词。我很早之前就有做一个背单词的小游戏之前再某款背单词APP上面见到过滑动选字母拼成单词的小游戏如果拼对了就打一下对面的小怪打错了就被对面锤。可惜后来这个小游戏不知道为什么下架了我后来还去问了客服客服说让我回退旧版本试试看……。把背单词做成小游戏我觉得很有意思先让它有游戏该有的反馈、目标和成长感让学习在游玩过程中自然发生。极大的减少了背单词的“痛苦”。答对时有挥剑、受击、连击和得分反馈答错时会扣血也能马上看到释义和例句继续向上还有新的词池、装备、勋章和排行榜。以前打开单词书目标是“今天背完这一页”现在打开小程序目标变成了“我再答对几题就能过这一层”。Boss 战不是随机抽题而是阶段测验普通层主要负责接触和学习单词Boss 层则负责复习。Boss 的题池来自本大层前 9 层出现过的单词并优先把多义词和例句变成语境题不再只是问“这个单词是什么意思”而是给出一句话问“它在这里是什么意思”。这样一来Boss 战就不只是血量更厚、答题更多而是真正成了一次阶段验收。爬累了也可以回塔里复习已经通关的楼层可以重新进入。系统会保留本次爬塔中的楼层记录玩家可以回到下一层复习原题也可以进入“塔内研习”查看更详细的释义、例句、常用短语和搭配并播放单词发音。这个入口只放在已通关楼层。原因其实很简单当前题还没有答对就不应该提前进去看答案。很多类似的细节都不是第一版就想到的而是在真机试玩时发现“这里说不通”再一点点改出来的。每天一次用同一套装备重新挑战游戏里还有一个我比较喜欢的模式每日一爬。每天从第 1 层出发看看今天能爬多高。为了让成绩更公平这个模式里所有人统一使用初始装备不吃自己已有的护甲、武器和药水加成倒下就结算。老玩家可以重新挑战自己新玩家也不用先追别人的装备进度。除此之外目前还有楼层榜与连击榜每日签到武器、护甲和自由换装勋章墙与已学单词明细错题重考与漏词补漏。二、我理解的 Vibe Coding不是“许愿式编程”这次开发之前我对 Vibe Coding 的期待也很简单把想法告诉 AI让 AI 写代码自己少敲一点键盘。真正做完以后我发现更有效的合作方式应该是角色主要负责什么我决定做什么、明确验收标准、选择方案、真机试玩、最终提交AI写代码、补数据、写测试、整理文档、排查问题、提供备选方案测试与真机检查“看起来完成了”的功能是不是真的能用换句话说AI 负责提高实现速度人负责判断方向测试负责守住底线。如果只说“帮我做一个背单词的小程序”AI 确实可以很快生成一堆页面。但“能运行”与“好玩”“词义正确”“老存档还能用”“换台手机不出错”中间还有很长的距离。Vibe Coding 并没有省掉这些工作只是让我能把更多时间放在它们上面。三、两周开发到底做了什么整个项目大致经历了下面几个阶段阶段主要产出第 12 天需求文档、核心爬塔循环、基础界面、Boss 战第 35 天词库管线、装备成长、商城、勋章、倒计时第 68 天微信云开发、登录与存档合并、真实排行榜、服务端发奖第 911 天单词发音、每日签到、每日一爬、漏词补漏、真机问题修复最后 3 天文档整理、词质复核、经济与难度校验、上线合规收尾技术栈没有刻意追求复杂客户端原生微信小程序无框架、无构建工具云端微信云开发使用云函数、云数据库和云存储词库开源英汉词典数据、Node 处理脚本、AI 分片补全发音腾讯云 TTS同一个词合成后缓存复用测试Node 直接加载页面逻辑模拟微信 API一条命令跑回归。选择原生小程序是因为项目没有跨端需求少一层框架就少一层心智负担选择云开发则是因为个人项目不需要自己维护服务器可以把更多精力放在玩法和数据上。104 次提交听起来很多但它们并不是 104 个大功能。更多时候一次提交只解决一个问题修一个倒计时边界、补一组例句、调整一个弹窗、增加几条测试。这也是我在这个项目里一直坚持的习惯小步实现小步验证小步提交。四、让 AI 真正帮上忙的 5 个做法1. 不只告诉 AI“要什么”还要告诉它“什么不能动”项目里有两类文档需求文档.md记录产品要做什么、规则是什么、哪些事情暂时不做AGENTS.md记录当前项目状态、文件入口、验证命令和不能破坏的约束。比如需求文档可以写“答错扣血”交接文档则必须进一步明确扣血统一读取当前守卫伤害不允许在代码里写死一个数字新增用户字段必须进入默认数据结构否则旧存档无法兼容。前一类文档帮助 AI 理解目标后一类文档防止 AI 在实现目标时顺手改坏别的地方。我还逐渐养成了一个习惯把已经否决的方案和踩过的坑也写下来。因为新会话里的 AI 不知道上次为什么否决很可能又会热情地把旧方案做一遍。2. 文档要短而有用不能只追求“看起来很全”项目中期交接文档一度膨胀到约 100 KB。结果某次会话只读进了其中一部分后面的约束根本没有生效。这件事让我意识到文档写进去不等于 AI 真的读到了。后来我把长文档拆成“索引专题文件”出题和战斗看一份装备和日常玩法看一份渲染和布局看一份云同步、排行榜和发音看一份测试、字段和历史记录各自独立。每次开工让AI先从AGENTS.md文档读索引再按任务读取一两份专题不再把整本“项目百科”塞进上下文。Vibe Coding 里很重要的一项能力其实不是写提示词而是管理上下文。3. 测试不是为了数字好看而是防止同一个 Bug 再犯项目目前没有复杂 CI但保留了一条很简单的命令nodetests/run-all.js现在共有 37 个测试文件其中 31 个核心测试文件约有 1,000 条断言另外 6 个是早期回归校验脚本。真正有价值的是这条规则每个真机 Bug 修完都要留下至少一条防回归断言。因为 AI 很可能在下一次修改时忘掉这个坑人也一样。只有测试会在代码再次被改坏时直接停下来。4. AI 批量生成内容必须配一条校验流水线这款小程序不只是代码还有大量词条、例句、翻译、多义词语境题和搭配。如果只对 AI 说一句“帮我把这些单词补全”得到的内容看起来可能很像样但真正使用时会出现各种问题例句里的词性和释义不一致、选项重复、句子不含目标单词、常用词被解释成生僻义。所以我把内容生产拆成了一条流水线拆分批次 → AI 按 STYLE.md 生成 → 脚本检查格式与完整性 → 不合格项返修 → 人工抽查 → 回填词库规范里的要求尽量写成可以机器检查的规则例如例句必须包含目标单词例句长度必须在限定范围内多义词必须恰好有四个不同选项释义不能残留英文或无关领域标签凑不出合格内容时宁可留空也不要硬编。AI 适合批量生产但批量生产之后更要批量验收。5. 大改之前先对齐方案提交之前一定自己看一遍AI 最大的浪费不一定是写错而是没有问清楚就直接写出一大屏代码。所以涉及数据结构、玩法数值或云端逻辑时我会先让它给出准备分几步做会修改哪些文件可能影响哪些现有功能哪些地方需要我确认。完成后再由 AI 整理提交信息我自己检查变更并提交。这个习惯让我始终保留一次“停下来看看”的机会也让 104 次提交基本都能对应到一个清晰的问题。五、几个真实翻车现场AI 说修好了还不算修好这部分可能是整篇文章最值得参考的地方。1. 下楼以后单词和选项对不上有一版在真机上出现了很奇怪的问题回到下一层后单词卡显示的是 A正确答案却属于 B。第一次排查时数据层看起来已经修好了但真机问题仍然复发。继续往下查才发现这里其实有两层原因楼层记录保存的是页面中正在使用的对象引用恢复时可能出现数据错位单词卡使用的某些渲染属性在部分安卓设备上会让卡片缓存成旧快照。最后的修法包括保存和恢复时都使用拷贝、恢复前校验词与答案是否匹配、去掉容易触发缓存的样式并在换题时强制重建卡片节点。这件事给我的教训是数据正确不代表屏幕显示正确模拟器正确也不代表真机正确。2. 药水怎么喝都喝不完上线前复核时我还发现过一个更隐蔽的问题玩家使用药水后本地背包确实扣了一瓶但下一次云端对账又把旧数量发了回来。从单个页面看“点击使用”完全正常把客户端和服务端连起来看才发现它等于可以无限喝药。最后的解决方法是使用药水也必须经过服务端校验和扣减不能只修改本地状态同时补上对应测试。所以验收一个功能时不能只问“这个按钮有没有效果”还要问本地、云端、重新登录以后结果是不是仍然一致3. 测试全绿游戏却可能不好玩上线前我重新跑了一遍经济与难度审计发现当时的数值虽然能运行却存在明显问题玩家爬到 400 层按原规则大约只能获得 640 钻石护甲和武器全部买满却需要 2,570 钻石中后期不是单词太难而是装备买不起高护甲成型以后又可能因为伤害封顶而变得过于轻松。后来补充了大层通关奖励、调整后期武器价格和守卫反击曲线并用模拟脚本重新验证。这让我再次确认单元测试能保证公式按预期执行却不能保证公式本身合理。游戏平衡、使用手感和学习节奏仍然需要单独验收。4. AI 生成的词义也不能照单全收词库复核时发现过一些很典型的问题例句里的can明明是“能够”释义却保留成了“装罐”一些高频词带着很冷僻的词性还有些词一下列出五六种意思根本不适合做四选一题目。最后只能通过自动审计、规则修正和人工抽查一起清理。AI 很擅长生成“看起来合理”的内容但学习内容不能只追求看起来合理。在背单词产品里数据质量本身就是产品质量。六、做完以后我对 Vibe Coding 的 5 点建议如果你也想用类似方式做一个自己的项目我建议从下面几件小事开始先写半页需求再写代码。明确给谁用、第一版做什么以及明确不做什么。每个功能都写验收标准。“优化一下”很难验收“连续下楼 10 次单词和答案都不能错位”才可以。尽早留一条能跑通的测试命令。不等项目变大以后再补否则补测试本身就会变成大工程。让 AI 批量产内容前先制定可检查的规则。少用“写好一点”多写可被程序判断的条件。把最终判断权留给自己。方案要自己选真机要自己试提交要自己看。两周下来我最大的收获并不是“以后不需要写代码了”而是更清楚地知道怎样和 AI 分工把重复实现交给 AI把模糊的问题拆清楚把重要的判断留下来。Vibe Coding 降低的是从想法到原型的成本但从原型到一个真正可用的产品仍然要靠一轮轮反馈、验证和修正。七、欢迎来爬几层如果你想背单词却总是停在单词书的前几页想利用等电梯、坐地铁之类的碎片时间喜欢像素风、爬塔和一点点装备成长欢迎微信搜索「单词塔背单词」体验。不需要额外注册打开就能开始。当前版本没有充值入口钻石主要通过爬塔、通关和签到获得。你可以先定一个小目标今天先过第 10 层的 Boss。玩的过程中如果遇到 Bug或者觉得某个单词、某一层的设计不合理也欢迎通过小程序内联系作者或者评论区留言告诉我。后续我还会继续整理这次开发中的文档方法、测试实践和词库处理经验与大家交流。用知识改变命运用知识成就未来一起加油
阅读完成 · 觉得有帮助?