V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tf2017
V2EX  ›  分享创造

一个周末从零 Vibe Coding 一个完整产品的一些心得体会

  •  
  •   tf2017 · 1 天前 · 1064 次点击

    周末的时候尝试不写一行代码开发一个 Nano Banana Pro 图片生成工具,一方面是进一步体验 Vibe Coding IDE 的能力,另一方面,确实是觉得现在的 Nano Banana Pro 图片生成工具不好用。

    实验结果已经上线了,希望这篇文章以及这个小工具都能对你有用:https://www.poshcam.app/

    1. 一定要知道 AI 在干什么

    如果这个产品不是一个一次性的脚本,你一定要对整体的方案是有所把控,知道 AI 在干什么。

    不要把 AI 写的代码当成黑盒,不然会非常痛苦(至少目前是这样的),可以不细看每一行代码,但是一定要知道这一段代码在做什么事情。

    不然的话,会遭遇按下葫芦起来瓢的尴尬境地,以至于难以继续修复问题和添加新的功能。

    如果要对项目整体有所把控,让 AI 从写文档开始,是一个不错的选择,尤其是一个新的项目。

    2. 让 AI 编写产品设计文档

    写文档必然是枯燥的,但是让 AI 来写这个事情就变得简单很多了,而且只需要你跟 AI 对齐就可以了,不用考虑其他角色。

    让 AI 编写需求文档只需要告诉用户我们想要实现的核心功能,例如在 PoshCam 中:

    • 首页,可以免登录访问图片生成器
    • 图片库页面,可以管理自己生成的图片
    • 价格页面,供用户购买 Credits
    • 个人详情页面,查看自己的个人信息、剩余 Credtis 对于一些非常细节的想法,可以通过比较粗略的描述生成的初版后,再给 AI 补充,说得太详细,很有可能会限制 AI 的想象力。

    另外,AI 在写产品需求文档的时候,习惯直接在文档中编写示例代码,其实完全没有必要,可以直接在每个调整产品设计文档的 Thread 中告诉 AI ,或者直接写到 Claude.md 中。

    3. 让 AI 编写技术方案文档

    产品设计方案基本确定后,就可以让 AI 基于产品设计文档进行技术方案确定。

    作为一个有开发经验的人,在架构设计、技术方案选型方面,一定会有自己的偏好,作为一个小项目,肯定不希望 AI 在实现的过程中过度设计(例如直接假设我在 AWS 上有全套的基础设施)同时也不希望他设计不足,例如生图片肯定还是个异步任务,就不能设计成同步的,基本的异步任务处理逻辑还是要有的。

    可以告诉 AI 期望使用的框架和工具,例如再 PoshCam 中,有些我是明确要求的:nextjs ,tailwindcss ,antd ,supbase ,stripe 。至于异步任务的实现,我是不确定的,所以我会让 AI 帮我进行选型,我只告诉 AI ,我希望通过一些小型的 Saas 平台来低成本低实现,结果他给我结合我选的 nextjs ,推荐了 Inngest ,我还是非常不错的。

    另外,需要补充一点,数据库的设计往往会在开发过程中频繁地修改,所以要告诉 AI 在调整数据库结构的时候,通过一个新的 SQL 文件来进行更新,而不是直接修改初始的 schema 文件,这样会让迭代过程更顺畅一些。

    4. 设定基本的 UI 风格

    我的感受是,当技术方案确定后,后端的业务逻辑代码基本上一次性就能实现得比较不错,有些地方代码风格可能糙了点,但又不是不能用,而且别人也看不见。

    最关键的是前端的代码,不管是 UI 风格,还是交互逻辑的细节,毕竟直接与用户体验相关,不是能用就可以的,一定要做到好用。所以说,经验丰富的前端程序员相比于业务后端程序员,更不容易被 AI 所取代。

    言归正传,在让 AI 编写前端代码的过程中,我一开始总是使用 “时尚”、“高级” 等词汇,希望不要限制 AI 的想象力,结果 AI 基本上会把这些词映射成:紫色 + 渐变风格 + 非常离谱的阴影。所以,要想有高级一点的的 UI 风格,可以直接在 Claude.md 中说明白:不要使用紫色和渐变效果,禁止使用荧光感的阴影效果。

    5. 最后

    以上,写得有点仓促,希望能对大家有所帮助,也欢迎大家体验 https://poshcam.app 。对于这个小东西,技术方面,如果大家还有什么细节想要了解的,欢迎评论区留言。产品方面,我还有一些小想法,例如把每一个模板做成一个可以独立访问的 mini app 页面,关于这方面大家有什么好的想法,也欢迎跟我交流。

    如果大家确实觉得免费的积分不足以好好体验,可以评论留下你的账号邮箱,我可以免费再送一点。

    12 条回复    2025-12-04 23:25:14 +08:00
    flankerfc
        1
    flankerfc  
       16 小时 35 分钟前   ❤️ 1
    👍🏻 试了下,一个周末的话,完成度很不错啊。

    「不要使用紫色和渐变效果」 => 结果是绿色的渐变效果和阴影,哈哈哈,😆

    从文档开始 AI 编程,可以试试: https://github.com/github/spec-kit
    tf2017
        2
    tf2017  
    OP
       16 小时 28 分钟前 via Android
    @flankerfc 感谢,这就去学习
    lazydog
        3
    lazydog  
       7 小时 24 分钟前
    代码有开源吗?
    tf2017
        4
    tf2017  
    OP
       7 小时 18 分钟前 via Android
    @lazydog 不好意思,代码暂时不会开源,目前会当成一个个人的商业化项目来运营,后面是有可能的。

    当然,如果你也在做类似的项目,如果什么问题需要帮忙,可以随时评论交流,或许能帮上忙。
    lazydog
        5
    lazydog  
       6 小时 58 分钟前
    @tf2017 #4 感谢,有博客分享创作心得吗?
    lazydog
        6
    lazydog  
       6 小时 52 分钟前
    @lazydog #5 请忽略我的这条留言把 ,脑子一时瓦特了
    kenshinhu
        7
    kenshinhu  
       4 小时 5 分钟前
    @flankerfc 已成功使用 spec-kit 完成一个项目,但更加多的时间的是产品的前期准备和思考而不是代码阶段
    tf2017
        8
    tf2017  
    OP
       3 小时 18 分钟前
    @kenshinhu 是的,如果前期考虑清楚了,代码实现是很快的。当然了,也要留点 AI 思考的空间,而不是让 AI 纯执行。
    kulove
        9
    kulove  
       2 小时 51 分钟前 via Android
    好奇这类产品怎么都是先有个 prompt 输入框 然后下面是生成按钮 点击生成按钮跳转到登录页面(有的登录回来甚至输入框的内容都给清了)这样用户体验不会很差吗?

    未登录输入框禁用 生成按钮变成登录按钮会不会体验更好?
    tf2017
        10
    tf2017  
    OP
       2 小时 29 分钟前
    @kulove 感谢,你说的反馈非常重要且正确。而且我已经让 AI 帮我优化并更新了,你可以再体验下。
    tf2017
        11
    tf2017  
    OP
       2 小时 28 分钟前
    @kulove 不会禁止输入,而是登录回来你之前输入的内容还在,继续点击生成即可。
    kulove
        12
    kulove  
       2 小时 22 分钟前 via Android   ❤️ 1
    @tf2017 这个可以 不丢内容就行
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1161 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:47 · PVG 01:47 · LAX 09:47 · JFK 12:47
    ♥ Do have faith in what you're doing.