找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3241

积分

0

好友

415

主题
发表于 2026-2-15 08:17:28 | 查看: 28| 回复: 0

作为一个基本不太会手搓代码但又喜欢自己折腾的产品经理,我之前一直很苦恼于很多想要实现的功能没有合适的APP能做到,别人的APP又没办法随心所欲地提需求。所以在AI出来之后,我就很关注AI-Coding工具的发展,一直想着可以自己动手,把想法变成现实。

从2023年智谱清言推出CodeGeeX内测开始,我就在等待一个足够强大的工具。过去一年,AI编码能力和相关工具终于迎来了长足的进步,让我发现靠“说话”来开发APP,好像真的没那么难了。

到目前为止,我已经尝试着做出了几个不同方向的APP。这次,我想以最近在开发的一个火车票记录软件为例,分享我的“用嘴编程”完整过程、用到的工具以及一些心得体会。

Vibe Coding工具箱

工欲善其事,必先利其器。首先介绍一下我构建这套工作流所使用的工具:

  • IDE:Antigravity (Google) 和 Visual Studio Code (Microsoft)
    相较于纯命令行工具,我个人更喜欢带图形界面的IDE。上手更简单,调试(Debug)的难度也低不少。
  • 模型:Opus4.5/4.6、Gemini3Pro 和 GPT-5.3-Codex
    这是我的使用习惯:GPT擅长梳理思路和撰写文档,Opus则负责编写主要的业务逻辑代码,而Gemini在UI和用户体验(UE)设计方面表现突出。
  • 编程语言与框架:Flutter + Dart
    因为我的目标平台是移动端,且拥有Windows和Mac设备,所以从一开始就选定了Flutter + Dart这套组合。它能够实现一套代码多端运行,对新手非常友好。实际上,对于AI来说,选择任何主流编程语言差别都不大。
  • 后端:Appwrite
    选择它是因为我不需要费心去搭建和维护后端服务器。其免费额度对于个人项目来说完全足够,如果未来有需要,迁移到自建实例也很方便。
  • UI 设计:Material 3 Expressive (MD3E)
    由于我的主力机是Android,并且偏好原生设计风格,所以选择了文档丰富、AI也容易理解和实现的MD3E。

🌈 PS:IDE的选择其实很多,国产IDE我基本都尝试过,大致分为VSCode套壳和ClaudeCode套壳两类,核心功能大同小异,主要区别在于支持的模型种类和数量。
主要开发工具与IDE图标展示
我选择Anti和VSC的主要原因,其实是……我白嫖到了这两个的会员,可以近乎无限制地使用各种海外模型。

🌈 PPS:在我写这篇文章时,GLM5发布了,测评看起来不错。不过因为我的Lite套餐暂时还不支持GLM5,所以还没进行实际尝试。

需求梳理:想清楚你到底要什么

有了趁手的工具,下一步就是厘清自己的真实需求。当“产品经理”和“用户”这两个角色合二为一时,事情就简单多了。

通常,我会先问自己三个问题:

🌈

  1. 你最想实现的核心功能是什么?为什么想要这个功能?
  2. 这个功能现在是否有类似的开源项目或成熟软件已经实现?
  3. 如果为了这个需求去学习一套全新的技术栈(或投入大量时间Debug),它的边际收益还高吗?

对于“Vibe Coding”玩家来说,效率和情绪价值是第一生产力。如果一个需求需要我从头啃底层原理,我可能会放弃;但如果只需我把业务逻辑讲清楚,剩下的交给AI,那投资回报率就是无限大。

在这个火车票记录软件的例子里,我的答案很明确:

🌈
核心功能:自动解析12306的购票邮件,生成精美的电子行程卡片用于收藏。(因为12306不再提供纸质车票,且仅保存30天内订单。)
竞品分析:市面上的同类APP几乎都是iOS版本,Android端寥寥无几。
投入产出:我不需要学习复杂的正则表达式或Flutter底层渲染原理,我只需要会“说话”,后续使用也只需复制粘贴即可。

想清楚这三点,就可以正式开工了。

开发思路:将模糊想法转化为精确指令

很多人觉得AI编程难,其实不是难在代码本身,而是难在如何将模糊的想法转化为AI能理解的精确指令。而这,恰恰是产品经理的老本行——写PRD。在Vibe Coding的世界里,Prompt就是你的PRD

我的经验是,不要一上来就对AI说“帮我写个火车票APP”。这就像对开发说“给我做个淘宝”一样不切实际。

通常,在明确需求后,我会让AI扮演产品经理的角色,对我这个“用户”的需求进行深度提问。经过3-4轮的问答后,当AI不再有新的问题,我就会让它输出一份Markdown格式的产品需求文档(PRD),明确第一版要开发的功能、技术路径、前后端设计以及需要建立的数据库字段。这份文档将成为后续所有开发工作的核心纲领。

以下是我正在开发的车票收藏APP的PRD节选,可作为参考:

# XXXX 产品设计文档 (PRD) v2.0

## 1. 项目现状与目标
*   **当前进度**:
    *   ✅ **用户认证**: 登录/注册流程已调通。
    *   ✅ **个人中心**: “我的”页面 UI 及基础交互已完成。
    *   ✅ **App 框架**: 底部导航栏 (BottomNavigationBar) 及 3 个主 Tab 页面框架已搭建。
    *   ✅ **后端**: Appwrite 数据库 (Schema/Indexes/Permissions) 已部署完毕。
*   **本阶段目标**: 完成核心业务逻辑,包括行程展示、票夹堆叠效果、地图轨迹绘制以及“添加行程”的完整闭环。

---

## 2. 信息架构 (IA) & 导航

### 2.1 底部导航栏 (BottomNavigationBar)
包含三个核心 Tab(已存在框架,需填充内容):
1.  **行程 (Journey)**: `[Icon: train]` - 侧重“待办”,展示即将出发的车票。
2.  **票夹 (Wallet)**: `[Icon: ticket]` - 侧重“收藏”,展示历史车票堆叠。
3.  **地图 (Map)**: `[Icon: map]` - 侧重“足迹”,展示可视化轨迹。

关于如何将产品思维与技术实现结合,在 云栈社区前端 & 移动 板块中有很多关于Low-code、BFF(Backend for Frontend)架构的讨论,这对于理解如何用高层视角驱动开发很有帮助。

Coding实战:三步走策略

既然已经生成了PRD,就可以让AI继续干活,甚至生成一份“系统提示词”。你可以将这份提示词和你积累的Vibe Coding经验都写入项目根目录的某个Markdown文件中,并在后续对话中提醒AI参考,以确保它严格按照你的需求实现。

不要期望AI能一次性写完所有代码。我推荐采用“总-分-总”的策略:先搭建整体框架,再逐个击破功能模块,最后让AI进行全局审查。

第一阶段:最小可行产品(MVP)——先跑起来

别管美观与否,首要目标是让功能跑通。我用Opus模型快速生成整个APP的骨架。此时的界面可能很简陋,颜色是默认的,布局也可能拥挤。但没关系,只要点击“导入”按钮后,数据能正确显示在屏幕上,第一阶段就宣告成功。

第二阶段:调整“Vibe”(UI/UX)——让它变好看

这是Vibe Coding中最有成就感的环节。我通常会切换到Gemini3Pro模型,因为它对多模态(尤其是图片)的理解能力极强。我会直接截取一张当前丑陋的界面图,再附上一张我喜欢的设计风格参考图,然后对AI下达这样的指令:

看这张截图,现在的卡片太生硬了。请参考右边的设计风格:
- 所有的设计修改遵循 MD3E 的设计风格。
- 给卡片加上圆角,半径设为 16。
- 使用 Surface Container High 作为背景色。
- 把‘出发时间’字体放大加粗,用 Primary Color。
- 进行所谓的‘Vibe Check’,让它看起来更 Modern 一点。

接着,你会看到代码编辑器开始自动、高效地修改代码。热重载(Hot Reload)后,手机上的APP瞬间就从粗糙的 demo 变成了你想要的精致风格。这种 Flutter 框架提供的快速UI迭代能力,与AI的即时响应相结合,体验非常流畅。

第三阶段:Debug 与优化——解决实际问题

当然,AI写的代码并非完美。偶尔会出现点击无响应或数据加载失败的情况。这时,调试(Debug)的方式极其简单:直接将控制台红色的报错信息,或者APP界面上弹出的错误提示,复制粘贴到IDE的聊天窗口,然后告诉AI:“运行时报了这个错,请帮我修复。”

通常,AI会立刻“道歉”并给出修复后的代码。例如,在解析12306邮件这个功能点上,如果是以前,我得花大量时间研究正则表达式。而现在,我只需要把一封真实的邮件内容(注意隐去隐私)扔给GPT-5.3或Opus4.6:

输入数据: [粘贴一段12306的购票成功邮件正文]
需求: 请写一个 Dart 函数,能够从上述文本中提取出:出发站、到达站、车次、发车时间(精确到分)、座位号。
异常处理: 如果格式不匹配,返回 null 并打印错误日志。

你会发现,AI处理这类具有固定模式的文本解析逻辑,比人类快得多,而且往往能考虑到许多你未曾想到的边界情况。

成果展示

以下是目前开发中的半成品效果,虽然UI仍在优化,但核心功能已可用。

行程页面(展示未出行车票) 票夹页面(堆叠展示历史车票)
火车票APP行程页面截图 火车票APP票夹页面截图
从12306邮件导入行程 行程分享卡片(UI待优化)
12306邮件解析导入界面 车票详情与分享卡片

结语

开发这个火车票APP,前前后后大概用了我四五天的碎片时间。当我打开自己写的APP,看到它成功识别出刚收到的邮件,并生成一张精美的行程卡片时,那种成就感是单纯提需求完全无法比拟的。

我相信,Vibe Coding 的目的不是让AI取代程序员,而是赋予每个人成为创造者的能力。你不需要深究指针和内存管理,只需要清楚你的生活痛点和产品构思。既然工具已经如此强大,为什么不试试动动嘴,把你构思已久的那个想法,变成看得见、摸得着的现实呢?

这个项目的完整思路和代码实践,也欢迎你到 开源实战 板块与我们交流探讨。

(本文项目思路仅供参考,Enjoy Coding!)




上一篇:使用 External Secrets Operator 优雅管理 Kubernetes 敏感信息
下一篇:温州“马斯克”叶文贵:比马斯克早15年,千万资产投入造车梦
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 09:02 , Processed in 0.862373 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表