也是利用vibe coding ,一行代码没改过做出一个小程序了
也是利用vide coding ,一行代码没改过做出一个小程序了
前段时间,我用 AI 做了一个前额叶训练小游戏的网页版。最初只是想把自己感兴趣的几个训练游戏放到一起,没想到越做越多,最后凑出了十几个项目。
网页版现在还在线,有兴趣可以直接玩:前额叶训练小游戏网页版。
做完网页版以后,我又冒出一个想法:既然游戏已经有了,能不能干脆做成微信小程序?这样不用记网址,打开微信就能练一会儿。再往后想,我又觉得只放一堆小游戏有点单薄,最好还能有首次测评、每日训练、个人档案、历史趋势这些东西。
就这样,原本只是“把网页版搬到小程序里”,慢慢变成了一个比预想大不少的项目。
比较特别的是,整个过程中我没有亲手改过一行代码。不是说我点了一下按钮,AI 就把成品吐出来了,而是代码都让 AI 写,我负责提要求、看效果、找问题,然后让它继续改。
最开始,想得其实很简单
刚开始我对 AI 说的,无非就是“做一个脑力训练小程序”。这种描述当然也能生成东西,很快就能看到首页、卡片和按钮,乍看还挺像那么回事。
但真正点进去以后,问题就来了:有的按钮只是摆设,有的结果是提前写好的,有的页面能进去却走不完一整套流程。那时候我才发现,做出一张像小程序的页面很快,做出一个真的能一直用的小程序,是另外一回事。
后来我开始一点点补需求。用户第一次打开看到什么,测评中途退出怎么办,每天安排几项训练,做完以后记录存在哪里,正式测评和普通练习的数据能不能混在一起……这些原来觉得“到时候再说”的细节,最后都得说清楚。
需求越补越多,最后整理成了一份完整的开发规格书。现在回头看,这份文档可能比我最初那句提示词有用得多。AI 不怕需求多,怕的是需求含糊。只要我自己都没想清楚,它就只能猜,而且经常猜不到我心里想要的样子。
第一版能跑,但确实不太好看
下面是早期的首页。功能已经有了,测评、今日训练、连续天数、等级也都摆在页面上,不过整体比较普通,有点像把几个现成卡片拼到了一起。

我自己不会调 CSS,也说不出应该改哪一个数值,只能把看到的问题直接告诉 AI:第一眼不知道该看哪里;几张卡片差不多重;首页没有记忆点;想要一点游戏感,但又不希望做得太幼稚。
中间来回改了好几轮。有时候一轮改完还不如上一轮,我就把不喜欢的地方继续指出来。后来的版本变成了这样:

它不一定符合每个人的审美,但已经比较接近我想要的感觉了。今日计划是最主要的内容,连续训练和等级放在下面,颜色也活泼了一些。
这一段经历挺有意思。以前我以为不会前端,就很难参与页面设计。实际上,用 AI 做的时候不一定非要会说“边距改成多少”“这里用什么布局”。告诉它哪个地方抢眼、哪个地方看不懂、希望用户先点什么,也能一点点磨出结果。当然,前提是自己真的去看,而不是生成完就算了。
从小游戏合集,慢慢补成一个完整小程序
现在这个版本一共有 21 个页面、5 项正式测评、24 项五维训练,另外还有“心秒”和“眼尺”两个感知力小游戏。
训练中心按注意力、反应力、记忆力、执行功能、逻辑推理和感知力分了类。每个游戏都不是只有一个入口,点进去以后还有准备、规则、正式训练、结果结算和记录保存。

除此之外,我还陆续加了每日训练计划、等级和经验、成就、训练历史、7 天和 30 天趋势、阶段复测、深色模式、高对比模式、数据清除和微信分享。
功能多起来以后,最麻烦的反而不是大页面,而是一些很小的情况。
比如数字记忆,如果连续两次出现同一个数字,用户会以为画面没有变化,所以需要给出切换提示;训练做了一半切到微信后台,回来以后怎么处理;结果页面点两次,会不会重复加经验;正式测评的分数,绝对不能被平时随手玩的一局训练覆盖。
还有最近加的“心秒”。本来只是估计 5 秒、10 秒、15 秒,后来我觉得既然是自由练习,应该允许自己输入时间,于是又加了 1 到 300 秒的输入。看起来只是多一个输入框,实际还要考虑空值、小数、超出范围、输入完成以后显示是否同步,以及长时间计时切后台的问题。
很多问题,光看页面是看不出来的,必须真的玩一遍才会碰到。
我跟 AI 的相处方式也变了
刚开始我很容易一次提一大串要求,希望它一口气全部做完。后来发现这样虽然看着快,但回头检查很痛苦。现在我更习惯一次处理一个页面、一个游戏,或者一组相关问题。改完就检查,没问题再往下走。
我提问题的方式也有变化。比如以前可能会直接说“把这个按钮样式修一下”,后来会说得更具体:“微信小程序里这个确认按钮几乎看不见,但还能点击。”这样 AI 会自己去查到底是颜色、层级还是通用样式覆盖了,不需要我装作知道代码哪里有问题。
还有一个很有用的做法,就是让 AI 自己维护开发日志。每次改了什么文件、跑了什么测试、还有什么没验证,都记下来。项目做久以后,人肯定会忘,AI 换一个对话也未必记得。有了规格书和日志,下一次还能接着上次的地方继续,不用重新讲一遍来龙去脉。
目前项目有 14 个测试文件,一共 66 项单元测试。每次功能修改之后,还会继续做类型检查和微信小程序构建。我其实看不懂大部分测试代码,但我知道不能只看 AI 说“已经修好了”。至少要让它把检查真的跑完,把结果留下来。
一行代码没改,不代表什么都没做
这大概是我做完以后最深的感受。
我确实没有亲手写代码,也没有去学 Vue、TypeScript 或小程序框架。但整个过程并不轻松。我得不停地试、找问题、补需求,有时候还要推翻已经做好的页面。
AI 能把想法变成代码,可它不知道我到底喜不喜欢,也不知道这个功能在我心里做到什么程度才算完成。这些判断还是得我自己来。
所以我现在理解的 vibe coding,并不是“不会编程也能一句话做软件”,更像是换了一种分工。以前做不了,是因为不会写;现在可以先把“写”交给 AI,但做什么、为什么做、哪里不对、什么时候算做完,还是绕不过去。
写在最后
这个小程序最初只是从网页版的十几个小游戏开始,后来一步步加上测评、训练计划、档案、趋势和成长系统,最后变成了现在的样子。
它肯定还有不少可以继续打磨的地方,尤其是真机上的输入、不同屏幕的显示效果,还有一些长时间训练时的体验。不过至少它已经不是一张效果图,也不是只能点几下的演示页面,而是可以完整跑起来、继续往下迭代的东西。
如果你也有一个想做很久、但因为不会写代码一直没开始的点子,我觉得现在可以试试。不要一上来就追求一次生成成品,先做出第一版,自己用一遍,再把不舒服的地方一条条改掉。
网页版可以从这里体验:https://cosmic-shortbread-3c93aa.netlify.app/
微信小程序可以扫码体验:

