凌晨两点多喂完奶我坐在沙发上发呆。脑子里反复琢磨今天到底喂了多少毫升、上次是什么时候喂的翻开手机备忘录一看——昨天的记录没写前天写了一条又跟今天对不上。当过爸妈的都懂这种“记不住”真不是懒是事情太琐碎、睡眠太零碎整个人被切成无数个碎片。那一刻我冒出一个念头既然到处找不到顺手的记录工具干脆自己写一个。于是接下来的三周我这个毕业之后基本没写过正经代码的普通上班族用 Trae 从零开始做了一个宝宝喂养记录小程序。从需求整理到页面开发、从真机调试到提交审核上线全程一个人。这篇文章不打算讲高深的技术只讲一个非专业开发者和 AI 编程工具互相磨合的真实过程以及我踩过的那些坑。如果你也想用 AI 工具做点自己的小产品或者正在带孩子记录问题上头疼这篇应该能让你少走不少弯路。1. 一个奶爸的深夜崩溃为什么要自己写小程序1.1 痛点直击记录喂养这件事比我预想的难得多我家宝宝出生后的前两个月喂养记录基本靠“脑记 偶尔随手记”。母乳的时候记大概时间奶粉喂养的时候更糊涂到底冲了几勺、剩下多少毫升全靠隐约的记忆。队友问我“昨晚两点那顿吃了多少”我回答不上来她也回答不上来。两个人主打一个“谁都别问谁”。后来我们试过用纸笔记录床头放个小本子喂完奶就写一笔。优点是直观缺点是纸笔不会提醒你、不会统计翻起来非常痛苦。连续记了一周我自己看着那一页歪歪扭扭的“8点母乳”“10点奶粉60ml”根本分析不出来喂养规律。我们真正需要的是一个能快速记录、自动按时间线整理、能算出每日总量和喂养间隔的工具。更关键的是我们不是只有喂养一件事要记。尿布换没换、睡多久、拉便便是什么颜色这些信噪比很低但真实重要。如果每件事都要开一个 App 记其实记不久。我也试过用系统备忘录和表格工具最后都因为“打开——找到对应位置——输入——保存”这条路径太长而放弃。1.2 市面上的方案为什么不顺手带着这个需求我在应用市场翻了很久。大而全的育儿记录类应用确实不少但往往有个通病功能特别多首页要塞社区内容、推送消息、早教视频真正我要的“快速记一笔”反而藏在二级页面里。有些 App 注册流程繁琐还要填宝宝性别、生日、出生体重点下一步时总担心这些数据会被拿去做什么。为了用个记录功能就交出手机号甚至还要授权一堆通讯录权限我是不太乐意的。更不用提很多应用做了会员体系想看一点统计报表就得包年。作为一个只想记录喂奶时间的奶爸这种使用体验非常痛苦。还有一类工具是“通用打卡模板”能自定义字段听起来灵活。但通用模板的问题是喂养记录有很强的时序特征我希望看完一条记录马上看到“距上次喂养 3 小时”希望今天的一日汇总自动出现在顶部。这些需要一点定制逻辑而不仅仅是打勾。综合比较之后我发现最适合自己的方案竟然不是某个现成产品而是自己做一个刚好够用的小程序。选择小程序还有一层现实考虑让队友用起来成本最低。手机上有小程序入口就能用不用额外装 App也不用教她怎么注册。之前推荐她用某个 App她翻了两页就放弃了嫌麻烦。换成小程序后进去直接点“奶粉”“母乳”“辅食”就能记这个决策门槛低很多。所以“自己做一个小程序”不是一时冲动是被需求逼出来的。1.3 为什么选 Trae而不是先学三个月编程再动手我大学学过一点前端基础但毕业后基本忘光了。一开始我真的纠结要不要先买门课程把小程序开发从头学一遍冷静评估了一下自己的精力白天上班晚上带娃能挤出的完整时间非常少。等我把框架语法、组件生命周期、云数据库都学完宝宝估计都会走路了。后来我注意到 Trae 这类 AI 编程工具。它的思路和传统 IDE 不一样不是让你手动敲每一行代码而是通过对话让 AI 理解你想要的页面和逻辑直接生成代码你再来改、再让它修。对我这种“知道产品该长什么样、但不想从零背语法”的人来说这正好卡在需求点上。Trae 内置了文件管理、终端和预览能力我可以在同一个工具里完成对话、改代码、跑起来看效果。工具选型上我没有纠结太久因为它最大的价值是把“想法到代码”之间的摩擦降到足够低。当然我也很清醒AI 生成代码不等于不用思考。数据怎么存、页面之间怎么跳转、用户操作异常时怎么提示这些产品逻辑还是得自己想清楚。Trae 更像一个随叫随到、手速飞快的结对程序员但产品负责人仍然是我自己。2. 从喂奶日志到产品一个人怎么把想法变成需求2.1 先画清楚核心流程再谈功能很多新手做产品容易掉进“功能堆叠”的坑一上来就想着加提醒、加曲线图、加社区分享。我的建议是先在纸上画出核心闭环。对于喂养记录这个小程序核心流程特别简单添加一条记录——查看今天的时间线——看到统计汇总——回想上一顿吃了多久。按照这个流程我确定最小页面结构是三块首页展示宝宝信息和今日快速入口记录页负责输入喂养、尿布、睡眠等事件统计页按天、按周展示总数和趋势。再加上一个“我的”页面管理宝宝档案就基本闭环了。想清楚这个流程之后再去问 AI 要页面骨架思路会清晰得多。这里有个容易被忽略的细节家人使用场景和单人使用场景完全不同。队友打开小程序时应该默认进首页直接看到当前宝宝不用先在列表里选宝宝。冰箱上贴着的那个宝宝就是天天要喂的那个。所以我把“当前宝宝”当作全局状态进入小程序自动带上而不用每次记录都去选宝宝。2.2 砍需求MVP 的边界怎么定我列过一张“想要但可以不做”的清单疫苗提醒、生长曲线、社区打卡、绑定智能设备、多宝对比、语音记录。每一项看起来都很有吸引力但单靠一个人加上 AI 工具短期内全部做完是不现实的。上线前我砍掉了所有带“推送提醒”的功能一方面是因为要做定时推送涉及的权限和审核要求更多另一方面是宝宝喂养节奏其实很不规律硬套提醒反而会产生焦虑。最终保留的功能墙非常简单宝宝档案昵称、出生日期、头像可选快速记录喂养母乳/奶粉/辅食、尿布换了/拉便便、睡眠开始/结束时间线列表按时间倒序展示当天记录支持删除和备注今日概览喂奶次数、总奶量、最近一次喂养时间、尿布次数简单统计近 7 天每日总奶量走势砍需求的心法就是把“没有它会不会无法使用”作为判断标准。疫苗提醒没有它手动记一笔也没事但首页如果没有“添加记录”的快捷按钮这个小程序就没有灵魂。宁可砍到只剩一个核心按钮也不能让用户进来不知道点什么。2.3 数据结构怎么设计才能让 AI 接得住没做过后端的人一说“数据结构”可能觉得很难。其实在小程序云开发模式里你可以把它理解成数据库里的两张表格。第一张是“宝宝档案表”主要有 id、名字、出生日期、创建时间。第二张是“事件记录表”包括事件类型feed、diaper、sleep、具体字段喂养里的奶量、类型尿布里的类型、发生时间、备注、属于哪个宝宝。这里有一个我后来才补的关键字段记录归属人。因为我和队友都要记录如果没有归属人之后想区分是谁记的就做不到。你在跟 AI 描述数据结构时切忌只说“做一个记录表”。一个好的提示词是“我要做宝宝喂养记录小程序使用云数据库。需要两个集合一个是 babies字段包括 name、birthday、avatarUrl一个是 events字段包括 babyId、typefeed/diaper/sleep、feedTypemilk/powder/food、amountMl、note、operatorName、createdAt。请帮我实现云数据库的初始化代码以及添加喂养记录的云函数。”把字段明确告诉 Trae它生成的代码就基本能对上你的业务。如果你自己都没想清楚字段AI 只能自由发挥后面改起来反而更麻烦。数据模型像房子的地基地基歪了AI 帮你在上面盖再多楼层也会摇摇晃晃。3. Trae 实战AI 辅助编程是怎么把活干完的3.1 从零起项目安装、初始化、跑起第一个页面用 Trae 开发小程序的第一步是先在小程序平台注册账号拿到 AppID。没有 AppID 就没法构建和预览很多新手卡在这一步。AppID 就像你产品在平台上的身份证到平台后台找到“开发管理”就能看到。我这里出于合规就不写具体平台名了不同小程序平台大同小异。拿到 AppID 后我在 Trae 里新建项目目录并把小程序平台提供的项目结构放进去。Trae 会识别目录结构然后我直接开始对话。第一句提示词是“我是一个新手正在做小程序开发项目目录已经初始化好了。请告诉我要完成一个最简单的添加喂养记录功能先帮我生成首页需要一个顶部显示当前时间中间是宝宝信息卡片下方有一个添加记录的大按钮。”AI 很快就生成了首页的页面结构和样式。这里我要提醒一句不要期待 AI 第一次就把所有东西生成对。它给出的代码可能包含某个文件路径不存在、某项样式名称错误等小问题。你要做的是把报错信息原样复制到对话框里让它自己解释并修复。这比你自己去读几百行代码要高效得多。3.2 和 AI“结对编程”生成首页和喂养记录表单首页跑起来后我让 Trae 继续生成记录页。这个页面是整个小程序的核心需要把三种事件的录入放在一起。最初我把它做成三个并列的 Tab切换事件类型。但由于喂养和尿布需要填的字段确实不同我后来改成动态表单选择类型后下方字段跟随变化。我用的提示词设计思路“记录页顶部是三个按钮喂养、尿布、睡眠。默认选喂养显示奶量输入支持数字键盘、喂养方式选择母乳/奶粉/辅食、备注输入框。切换到尿布时显示尿布类型小便/大便/混合不显示奶量。切换到睡眠时显示开始时间和结束时间点击保存就插入一条事件记录。”Trae 把这个表单拆解成“字段配置 动态渲染”整体实现得比较规整。这里还涉及一个交互关键点保存成功后要立刻在首页时间线看到新记录。我请 AI 用事件总线或者在小程序全局对象上发一个自定义事件这样首页不用刷新也可以更新数据。AI 给出的方案是使用全局事件通知机制比重新调用 onShow 更及时。3.3 让 Trae 理解上下文的三个技巧用 AI 编程工具最核心的能力不是会打字而是会描述问题。我总结了三个实际有效的技巧。第一个技巧是“一次只做一件事”。不要一次抛出五六个需求比如“帮我做一个首页、记录页、统计页、个人信息页还要支持提醒”。AI 一旦上下文过长后面的需求容易糊成一团。我把需求拆成小块每完成一个页面再对话下一轮每轮都有明确验收标准。第二个技巧是“说清楚在哪个文件里改”。Trae 能识别项目结构但你不说路径它可能改错地方。比如改首页就要明确“请修改 pages/index/index 这个页面的模板部分把顶部时间改成显示星期几并隐藏头像区域。”它就能精准定位。有一次我没说路径AI 顺手在记录页加了新按钮我还得花时间挪回首页。第三个技巧是“把报错信息直接贴给 AI而不是复述个大概”。比如“保存记录的时候报了一个权限错误云数据库中 collection 不存在”这样的描述比“cant get”详细得多。AI 会给出排查方向是不是集合没有创建、是不是数据库权限规则限制、是不是字段名不一致。通过贴错误信息解决问题通常只需要一两轮对话。还有一项必须提AI 生成的代码尤其是涉及数据操作的部分一定要人肉过一遍。不是说要读懂每一行而是要看关键逻辑是否符合预期。比如保存记录时是否 catch 了异常查询时是否用了正确的条件过滤防止把全家的记录都查出来。AI 只是助手最终签字确认的是你。3.4 统计页背后的计算逻辑纯靠对话也问得出来统计页是我最担心的一块因为涉及按时间聚合、跨天计算、时区处理听起来就很“后端”。但实际跟 Trae 对话下来发现只要把需求表达清楚它完全能生成可用的代码。我给的提示词是“统计页需要展示今日喂养总次数、今日总奶量、最近一次喂养距现在的时间间隔以及近 7 天每日总奶量的柱状趋势。数据来源是 events 集合type 为 feed。注意只统计当前宝宝的数据且 createdAt 要转成本地时间再计算。”AI 生成的逻辑里包含了一个很好的细节把数据库返回的时间字符串转成 Date 对象然后用本地时区计算“今天”的起始时间点。很多新手容易忘记时区直接用服务端时间的零点去算结果宝宝凌晨吃饭会被算到昨天。这个点看明白之后我觉得 AI 编程的价值就体现出来了它不仅写代码还能帮你把容易踩坑的边界条件一起想清楚。柱状图部分我原本以为要引入第三方图表库Trae 给的方案是直接用纯 CSS 画简单的横向柱状条不额外引入依赖加载更快也更简单。这也是 AI 促成的“少即是多”的选择正好符合 MVP 的定位。4. 从小程序预览到正式上线独行侠全流程实录4.1 真机调试和常见环境问题开发阶段我在模拟器里跑得很欢但一转到真机预览就发现两处不一样。第一是字体大小和键盘弹起行为真机上数字键盘会遮挡底部按钮需要在页面配置里开启“adjust-position”或者弹出时滚动页面。第二是首次加载数据的速度模拟器数据本地秒开真机走云服务时明显有延迟需要在列表页加一个加载状态提示否则用户会以为页面卡死。更常见的一个坑是合法域名配置。小程序平台要求所有网络请求域名必须添加到后台白名单且要求 HTTPS 协议。开发模式可以勾选“不校验合法域名”但体验版和正式版都会校验。我在局域网调试时一切正常一提交体验版就报“url not in domain list”。解决方式是在平台后台添加云服务域名或者如果你用了云开发不涉及自定义域名那就相对省心。数据库权限也要在发布前反复确认。我刚开始把记录集合权限设成了“仅创建者可读写”结果队友手机打开后看不到我添加的记录。后来改成“所有用户可读仅创建者可读写自己的记录”才满足家庭成员间共享数据的场景。这里提示一下如果涉及更敏感的宝宝隐私不建议设置成所有人可读更好的做法是利用云开发的安全规则只允许绑定了同一个家庭ID的成员访问。4.2 提审前要过的关卡一个人开发最容易被“提交审核”这一步卡住。我整理了几项必做检查照着走基本能减少返工。第一步是检查类目选择。不同小程序平台对类目要求不一样。我最初以为“宝宝喂养”应该归到健康管理结果平台反馈“健康管理”需要提供相关资质文件个人开发者很难拿到。换成工具类目里的“效率”或“亲子服务”审核就放行了。如果你的内容涉及医疗建议、问诊、测评那要求会更严格。一个喂养记录工具不要碰医疗边缘话术和文案里也不要出现“诊断”“治疗”“推荐用量”这类词。第二步是补齐隐私保护指引。现在平台对用户个人信息保护抓得比较紧只要涉及宝宝姓名、出生日期这种个人信息必须在小程序后台勾选并填写收集信息的目的和用途。我的做法是声明只收集用于喂养记录展示所必需的信息不共享给第三方页面底部也加了隐私说明入口。这一步不做好审核人员看到隐私弹窗缺失直接驳回。第三步是清理开发和测试痕迹。体验版里不能出现“测试”“示例”“demo”等字眼图标和名称不能带测试后缀截图不能有模拟器边框。我第一次提交时首页背景图用的是一张“测试图片”后台审核截图直接标注定位失败。所以正式提审前把所有测试数据和测试文案清一遍保证页面内容对陌生用户是友好的。4.3 审核不通过怎么办我实际踩过的两个理由审核被拒不是滑铁卢而是产品打磨的一部分。我遇到了两次典型的驳回。第一次是“功能过于简单不符合工具类目价值”。因为我提交的第一版只有首页和添加记录没有统计页。审核人员认为这个工具太单薄。我的应对是把统计页做完、补上第一屏的引导说明才重新提交。这件事说明 MVP 可以简单但必须让人一眼看出“拿着它我能完成一个有价值的闭环”。第二次是“页面加载后无内容”。审核人员打开体验版的时候云端数据库是空的首页只有空荡荡的状态。我的修复方式是首页和统计页都加了空状态设计如果没有数据清晰展示“点击下方按钮添加第一条记录”的引导。这既满足了审核要求也顺便解决了一开始用户进来不知所措的问题。有一件事需要特别提醒审核反馈的表述往往是通用文案不会直接告诉你具体是哪个页面有问题。我的排查思路是先下载后台提供的截图和录屏逐帧看往往一眼就能找到问题点。找不到的话就让 Trae 帮我看代码重点检查是否有仅限开发者才能访问的配置以及是否在页面加载时有未捕获的异常。5. 上线之后冷启动、家庭协作和下一步迭代5.1 没有运营的冷启动我做了这几件小事小程序上线前两周我没有任何推广预算用户总数一只手数得过来。但我坚持做了一件别人看不见的事每天真实使用它并且把使用中发现的问题记录下来。用着用着才发现原来记录按钮的点击区域在单手抱娃时不方便够到统计页的数字字号太小夜间模式没做。这些问题如果只是写完就收工根本不会暴露。冷启动最关键的动作是利用好你身边的“种子用户”。我先让队友和我家里老人用起来。老人一开始觉得“麻烦”但发现每次只需要点两个按钮就能记完比手机拍照方便慢慢也形成了习惯。我还把统计页截图发在家庭群里展示“今天一共喂了 8 次、总量 760 毫升”全家都能感受到记录的价值。一个好的家庭工具最先认可它的人往往是家人。另外我没有急着做分享裂变活动。一个工具类小程序分享得再多用户用完就走留不住。我宁愿先把“记一笔”的延迟降到最低、把统计展示做得更清楚让用户真的从中感受到便利再考虑传播。5.2 从“一人用”到“家人一起用”的改动单机版和家庭共享版是两码事。最开始我把所有数据放云数据库没有区分家庭结果理论上任何人知道数据集合路径都能读全部记录非常不安全。上线后我重新设计了家庭绑定逻辑第一次打开小程序时生成本机家庭ID用户可以选择“创建家庭”或“加入家庭”。创建家庭会生成一个邀请口令队友输入口令后就和我在同一个家庭ID下。Trae 在这次改造中帮了大忙。我只需要在对话里描述清楚“家庭ID”的生成规则、加入流程、以及所有查询条件都要带上 familyId 过滤它就把新增的云函数和页面流程全都补齐了。改造之后我也顺手加了“记录归属人”显示列表里每条记录右下角会显示是爸爸还是妈妈记的这在回顾时特别有意义。多人同时使用后我意识到数据同步要处理“记录删除冲突”。简单方案是删除操作直接标记 deleted 字段而不是物理删除列表查询自动过滤已删除记录。AI 生成这个改动很快但我要自己想清楚这个策略。毕竟宝宝喂养记录以后可能是有回忆价值的数据物理删除太可惜了。5.3 后续迭代清单哪些功能我还在补上线并不是终点只是起点。我现在维护的迭代清单大致如下疫苗与体检提醒基于宝宝出生日期自动生成里程碑需要配置通知订阅能力。生长曲线把身高体重数据落到标准参考范围里这个需要谨慎参考权威数据做展示。数据导出一键导出 CSV 或 PDF方便体检时给医生看喂养和生长趋势。周报告每周末自动生成图文汇总家人可以在群里直接转发。多宝宝支持目前支持一个家庭一个宝宝双胞胎家庭需要扩展家庭内多宝模型。迭代优先级我按“使用频率 数据价值”来排喂养记录本身是最高频需求所以先把记录流程打磨到极致疫苗提醒频率低但错过补打比较麻烦放在第二导出和报告属于低频但会加深用户忠诚度放在最后。Trae 在这些迭代里的作用是让我不用从零写模块只要描述清楚需求就能快速拿到可改可跑的版本。从“想给自己记一笔”到真的做出一个上线的小程序回头看这二十多天最深刻的体会是AI 编程工具不是万能魔法它更像给了你一支很顺手的笔但文章的大纲、逻辑和细节还是得你自己来定。把一个复杂想法拆成一个个小问题再让 AI 帮你落地这才是普通人用好 Trae 的正确姿势。最后分享一个小技巧每当 Trae 生成一段你觉得有点绕的代码别急着直接收下试着追问一句“这段代码有没有更简洁的写法有没有我没考虑到的边界情况”它往往会给出让你意外的优化建议。这种互动式开发比闷头自己写代码要快乐得多也比我预想的更能把一家人的碎片生活一点点整理成看得见的成长路径。