我用 AI 做了个小程序,代码不是最难的部分
- 2026-10-28 08:38:22
我做舞台和智能化工程,不写代码。
前阵子把一个项目里反复要算的东西,做成了小程序「智能舞台设计计算」:14 个计算器,从监控存储要几块硬盘,到舞台负荷要多大的变压器,再到限幅器该填什么参数。
代码是 AI 写的,我一行没敲。
但这一路走下来我发现:写代码是整件事里最简单的一环。

做出来的样子:四个模块,14 个计算器
先说 AI 强得离谱的地方
一开始有 28 个计算器,我觉得太杂,说"砍到 13 个"。
它一个下午重构完了:改注册表、删页面、清测试、同步云函数、更新文档,一条链没漏。这种事我自己做,一周起步。
后来我说"再加一个 UPS 电池配置,按 T/CECS 486-2017 第 6.4.6 条恒功率法算"。它去查了规范、写了公式、顺手把我给的一个算例复现出来:
300 kVA、功率因数 0.9、后备 15 分钟、12V 电池 38 节一组 → 单格需求功率 1259.8 W,查厂家恒功率表,要配 2 组 200 Ah,共 76 只。
这个数我拿计算器核了三遍,一位不差。
但它也在三个地方给我埋了坑。 麻烦的是,每一个坑看上去都很合理。
坑一:它按"常识"写了一个加号
我给的需求是"400 路监控,每路 3 Mbps,存 30 天,单盘 4 TB,算硬盘数量"。
它的链路是对的:码流 → 日存储 → 裸容量 → 数据盘。388.8 TB 除以 4 TB,98 块。
然后它加了校验:+1 块。

实际界面:码流、路数、天数、单盘容量,四个输入决定容量
RAID5 是 n 块盘可用 n−1 块,加一块校验,99 块,看起来完全正确。
问题是这个 +1 的潜台词:98 块盘全在一个 RAID5 组里。
现实里不可能。12 盘位机箱,一组最多 12 到 16 块,98 块要拆成 9 组,每组各留一块校验——校验盘是 9 块,不是 1 块。
一组到底为什么不行?不是阵列不支持,是重建。RAID5 只容一块盘故障,盘越大重建越久;组越大,重建期间第二块盘再挂的概率越高,整组数据一起没。
所以正确答案是 107 块,差了 8 块——够一个机柜的盘位。
AI 不是算错了除法,是用了行业里最流行的那句话,却没问这句话在什么前提下成立。
坑二:它能对上截图,但截图本身是错的
做限幅器的时候,我需要一组参数:低切 100 Hz 时,启动时间和释放时间该填多少。
我手上没表,就找了一张同类小程序的截图:启动 20 ms,释放 200 ms。
AI 照着反推了一个规律:启动 = 2 个低切周期,释放 = 10 倍启动。100 Hz 周期 10 ms,2 个周期 20 ms,10 倍 200 ms。
两个数字同时吻合。 它告诉我"找到了规律"。
我信了。直到有人一句话否掉:
不要反推,要找官方依据。
去翻厂家手册。XTA 和 MC2 两家给了同一张表:
| 63~125 Hz | 8 ms | 128 ms |
100 Hz 落在 63~125 Hz 段,是 8 ms / 128 ms,不是 20 / 200。

现在界面里直接内置那张表,低切频率一填就自动给倍数
更要命的是:Powersoft 的技术文档里写着"启动时间不宜长于被保护最低频率的一个周期"。100 Hz 一个周期 10 ms,我反推的 20 ms 已经超了。
也就是说,那张截图本身违反原则。
能对上截图,只能证明抄得像,不能证明它对。
AI 特别擅长这种"看起来对"——它会给你一个自洽的推导过程,而自洽不等于正确。
坑三:它自己写的公式,自己不校验
这条最隐蔽。
LED 屏配电那个计算器,它写的是:算出电流 → 选断路器 → 选电缆。
代码是这样的:
断路器 = 32 A电缆 = 按 23.6 A 选的 2.5 mm²,载流量 25 A25 A < 32 A。 断路器的整定值比导线载流量还大——真过载的时候,线先烧,开关还没跳。
这个 bug 在界面上完全看不出来,数字都"有",单位都对。
是我后来做了一件事才发现:把工程约束写成测试,让 14 个计算器跑 300 组随机输入,检查"载流量必须 ≥ 断路器"这类铁律。8000 多项检查,它自己撞出来了。

舞台负荷:算完变压器容量,顺带把进线断路器和电缆一起给出来,并校验 Iz ≥ In
同一个测试还抓出另一类问题:投影亮度的"经验速算"标签写着 300~500 lm/m²,代码实际算的是 167。标签和算式差了 2 倍,谁都发现不了。
所以 AI 需要什么
不是更聪明的提示词。是三样东西:
一、依据。 "某个软件这么算"、"截图上是这样",都不算依据。要具体到哪本规范、第几节、哪张表。AI 不会主动替你要这个——你说"按规范来",它可能给你一个长得像规范的公式。
二、判据。 把"必须成立"的工程约束写成测试。人不可能逐行看代码,但可以让机器替你撞墙。上面那个 25 A < 32 A,就是这么出来的。
三、拍板。 它给方案,你签字。这三条我否了它两次:不要反推、要找原文;功能太多、砍掉一半。它每次都照做,但它不会自己意识到该被否。
写完了,真正的麻烦才开始
代码能跑,和小程序能上架,是两件事。
微信那边的要求,AI 基本只能帮你查资料,剩下的得自己走:备案号、客服联系方式、隐私保护指引、权限声明、版本号与备注。
我踩的坑:
提交了 9 天前的旧包。 后台开发版本的备注还写着"28 个计算器",而我已经砍到 13 个。差点把一个月前的东西提交上去。
声明了一个从没用过的权限。app.json 里挂着位置权限,说明写得很像回事,但全项目搜不到一处调用。
隐私指引写"读取剪贴板",其实只写入。 后台按 API 自动生成了一条,可代码里只有 setClipboardData,从来没有读取。
这些 AI 都不会主动提醒你——它不知道审核员会看什么。
我的办法是:把提审当成一次需求评审,逐条对——联系方式真不真、权限用没用、版本对不对、备案号有没有。这些检查项我也写成了脚本,跑一遍四十秒。
做出来了,还得有人知道
小程序没有自然流量。上架那天,用户数是零。
所以开始写这个号。第一篇就写它怎么来的——因为做的人比用的人多,而做的人更需要知道坑在哪。
后面会写三件具体的事:
小程序审核怎么一次过(我整理的检查清单) 小程序怎么挂到公众号(菜单、卡片、关键词回复) 每个计算器的算法依据,一篇讲一个
想请你帮个忙
如果你的项目里也在用 RAID5 配监控存储,你们一般几块盘一组?
我们按机箱 12 盘位配,听说有的设计院直接按 16 块一组算。后台回复「RAID」告诉我,我统计完写一篇。
关注「碳基围观」,每周一篇 AI 落地实操。 不聊概念,只写能直接拿去用的流程和坑。
后台回复这些词:
回复 计算器 → 小程序入口(14 个计算器) 回复 RAID → 分组自查表与完整算式 回复 限幅器 → MC2 / XTA 那张原表的整理版
如果这篇让你少踩一个坑,点个「在看」,转给同样在用 AI 干活的人。