目录

产品构建师的新玩具

系列 - Vibe Coding

昨天给大家介绍了 Vibe Coding的理念,今天来看看遵循这套理念的工具有哪些,有了这些工具的加持,我们的工作方式又会有哪些转变呢?

先来介绍我的实践经历吧。这要从GPT刚出来时谈起,当时还只是聊天窗口的形式,正巧赶上我对Rust比较感兴趣,就随便问了个性化问题:

  1. 如果你是一位经验丰富的Rust开发工程师,请告诉我最佳的学习路径是什么?
  2. 如果Rust项目践行TDD,注意事项是什么?
  3. 如果从零开始创建Rust项目,我需要如何组织我的代码?有哪些标准可以遵循?

当问到第三个问题的时候,我眼前一亮,顿时就有了一个想法:「既然它啥都懂,干嘛不干脆让它帮我写代码,我只负责描述需求和验收功能。」

想到这里,就想到了我之前bash写的一个脚本——beancount账单导入工具,看是否可以将这个工具用Rust重写一次,有了想法后,我就开始构思我的需求。

图片

第一步:业务需求(Business Requirements) 我的原始需求又称为 业务需求,通常是客户/用户的一句话想法和期望,通常比较粗略和概括性。比如:「我要实现beancount账单导入工具。」

第二步:产品需求(Product Requirements) 通常来讲,产品经理拿到业务需求后,需要经过整理、筛选、评估与设计,与客户沟通确认后,最终形成 产品需求,比如:「需要导入哪几类账单?支付宝,微信,银行卡?」

第三步:功能需求规格说明书(Functional Specification) 接下来进入到详细设计阶段,称之为 功能需求规格说明书,通常会写到 SRS(Software Requirements Specification)文档中,包含具体的功能模块设计,详细的交互流程,可测试的验收标准,比如:「支付宝、微信账单格式定义,命令行功能设计,可能遇到的问题等」

这三步产品经理和开发工程师再熟悉不过了。

关键点来了,这三步我是否可以通过大模型帮我实现?我只说自己的原始需求,让它帮我出产品需求和详细的需求规格说明书

也不跟大家卖关子了,直接说结论:大模型干得很好,完全理解我的需求,兢兢业业,任劳任怨,没有任何怨言,也没有怼过我。

但提问需要有一些技巧,也就是提词技巧,网上烂大街的内容,这里就不赘述了,我只讲一些我总结的经验。

图片

  • 同理心:你没看错,和大模型沟通也要有同理心,站在它的角度考虑问题,比如我要提beancount账单导入工具的需求,先要问问它知不知道beancount是个啥,然后评估它的回答后,我再开始提问。
  • 鼓励与引导:大模型不是万能的,也需要你的鼓励与引导,比如,他的回答跑偏了,你要跟他说「先别急着回答,退后一步思考,或者跳出当前的思维方式,换个方式重新思考」,如果它的回答有进步,要适当的鼓励,接下来的回答,大概率会更好。
  • 压力与危机:如果你有棘手的问题,可以把你的压力传达给大模型,比如:「我遇到了很大的麻烦,如果今天不解决,明天就要卷铺盖走人了,现在只有你能帮助我,我的问题是:xxx,请想尽一切办法帮我解决。」比如,我曾对大模型说:「我明天要给老板演示功能,但现在就卡在命令行参数解析上了,你一定要救我!」结果它不仅给出了代码,还顺带优化了错误处理。

现在的大模型越来越聪明,提词的重要性没有之前那么高了,但这三板斧在关键时候,可能会帮到你。

再深入想一层,这「三板斧」能起作用的根本原因,可能在于大模型的训练数据本身就来自人类。


需求的「三步走」,以及提词「三板斧」是后面使用「Vibe Coding」类工具的基础。

所谓半自动,是需求描述+手动编码联合工作的方式,适合有编码基础的开发人员使用,这类工具通常是IDE+AI辅助的方式来实现,如 Github的Copilot、Cursor、Windsurf、Cline等。

其中 Cursor能力是最强的,支持代码索引、全局与项目级别的规则定义等。

如果从零开始写项目,建议通过如下方式组织项目文档:

  • 项目根目录创建docs文件夹
  • 创建项目介绍文档 intro.md :项目的基本介绍
  • 创建产品需求文档PRD.md :大模型根据项目基本情况生成
  • 创建功能需求说明书文档 SRS.md:大模型根据PRD.md生成
  • 创建技术设计文档 tech-design.md:大模型根据前三个文件生成

以上4个文件,人工编写的只有 intro.md 文件,其他文件都是大模型负责生成,然后人工校验与修改。

目录格式如下:

docs/
├── intro.md
├── PRD.md
├── SRS.md
└── tech-design.md

到这里,手动工作基本上就做完了,剩下的就是打开聊天窗口,选择Agent模式,用前面的提词三板斧指挥AI干活。

Cursor新版本支持定义多个项目规则,也可以尝试将这些文件作为规则,每次提问题前都附加到上下文中。

全自动模式尤其适合产品经理,你可以拿着详细的产品需求文档,或者直接一句话需求,都能给你把项目干出来,目前这类产品分成了2个技术线路:

  1. 多角色模式:模拟现实的研发团队,团队中的角色都是Agent来替代,如项目经理、产品经理、研发工程师、测试工程师。
  2. 单角色模式:只有一个角色,它负责所有的工作。

针对这两种类型,有很多工具可以选择:

多角色模式:

  • MGX 多智能体AI平台,旨在模拟真实软件开发团队的工作流程。
  • CrewAI 多智能体AI平台,专注于构建和部署自动化工作流。
  • CodeGPT 专注于软件开发的AI代理平台,提供多种工具来增强开发效率。
  • Relevance AI MAS Builder 无代码多智能体系统构建器,允许用户创建AI角色来自动化协作任务。

这里面我用过 MGX 和CrewAI,MGX是MetaGTP[5]的商业化版本,国内团队开发,免费版本每天有额度限制,可以体验产品功能和开发流程,不花钱的话无法一次性实现MVP。

单角色模式:

  • Replit 支持多种编程语言,实时协作和 AI 辅助功能,特别是其 Replit Agent 允许用户通过自然语言描述生成代码,适合学习、原型设计和小规模项目。
  • Bolt StackBlitz 推出的一款 AI 驱动的在线开发工具,专注于全栈网络应用开发。
  • Lovable AI 驱动的应用程序构建器,专注于从自然语言描述生成网络应用。
  • Codeium AI 驱动的编码助手,主要集成到 IDE 中,但也提供自己的 IDE Windsurf。
  • Bubble 一个无代码平台,具备 AI 功能,特别适合非技术用户构建网络应用。

我体验了Replit和Bolt两款产品,生成了一个restic备份工具的Web管理端服务,算是个MVP版本,以下是两款产品生成的项目截图:

  • Replit生成的项目,顶级菜单都可点击,可本地部署,Mock数据,后端逻辑未实现。整体生成速度很快,约10分钟,但代码结构略显零散。

    图片

  • Bolt 生成的项目,主菜单的页面都可以点击,包含 Mock 数据,但后端逻辑未实现,界面设计更现代。

    图片

AI辅助编程和Vibe Coding的条件已经成熟,从火热的Cursor到初创的Bolt,这些新玩具正在重塑我们的工作方式。

作为产品经理,你可以用它快速验证想法;作为开发工程师,你可以让它帮你写80%的代码,剩下的20%用来喝咖啡和调试。(新版 Cursor 还新增了 Agent 完成任务后的声音提醒功能,任务完成后它会「叮」一声,提醒正在喝咖啡的你,效率和仪式感兼得。)

未来,开发范式会从 「团队共创」 变成「人机共创」,你准备好了吗?不妨从今天开始,挑一个工具,动手试试——毕竟,技术不会等人,颠覆已经开始了。


👇微信扫描二维码,关注「91智读」,获取每日更新,一起成长。 91智读公众号


👇欢迎加我微信好友,一起聊聊关于成长的故事。

相关内容