Vibe Coding后的感受
无用武之地
最开始接触 AI 编程的时候,完全是拔剑四顾心茫然的状态,不知道这玩意能够干什么,也不知道怎么做。看了网上的很多评论,几乎都是从零完全靠 AI 起一个程序,或者独立开发一个很简单的程序。
而我在工作中完全不知道如何让它融入我现在的工作流。
当时比起 Chat 模式,其实我更加依赖 Tab 补全模式,我开始接触 Cursor 也是因为它优秀的 Tab 补全,而 Chat 模式我依然迟迟没有将它融入工作流中。
直到后来我学习了各种提示词的编写,我才真正地将 Chat 模式运用到我的工作中。
提示词的重要性
提示词工程(Prompt Engineering)就像是学会了和 AI 对话的语言密码。刚开始的时候,我的提示就像和朋友聊天一样随意:“帮我写个登录功能”、“这个 bug 怎么修”,结果 AI 经常答非所问,生成的代码要么过于简单,要么完全不符合项目架构。
真正的转折点是我开始系统学习提示词技巧。我发现,好的提示词需要包含几个关键要素:
明确的角色定位:不是简单地说”写代码”,而是”你是一个熟悉 React 和 TypeScript 的高级前端开发工程师”。这样 AI 就能以正确的身份和知识背景来理解问题。
详细的上下文信息:要告诉 AI 当前项目的技术栈、代码风格、文件结构,甚至是业务背景。比如”这是一个使用 Vite+React+TypeScript 的电商项目,采用 Tailwind CSS 进行样式管理,状态管理使用 Zustand”。
具体的需求描述:从”帮我写个组件”变成”创建一个支持懒加载的图片轮播组件,需要支持左右切换、底部指示器、自动播放,并且要考虑移动端的触摸手势”。
期望的输出格式:明确告诉 AI 要生成什么,比如”请提供完整的组件代码、PropTypes 定义、使用示例,并添加必要的注释”。
最重要的是,创建一个你自己的提示词库,将一些表现好的提示词存储到你的提示词库中,下次如果有类似的需求,直接从提示词库中拿出来用即可,往往可以获得和之前差不多一样的效果。
快但不完善
即使我学会编写提示词后,我发现在企业开发中有很多内容并不适合直接交给 AI 去编写,比如修改现有功能、修复 bug、修改 UI 问题、还原设计图等。
这种”快但不完善”的特点在企业项目中体现得尤为明显。AI 很擅长从零开始写一个新功能,但当面对有几万行代码的老项目时,它往往理解不了复杂的业务逻辑和历史包袱。
修改现有功能的痛点:比如要在一个已经运行了两年的电商系统中修改订单状态逻辑,AI 可能只看到了表面的代码结构,却无法理解为什么当初要这样设计,哪些地方有特殊的业务约束。结果就是生成的代码有各种各样的问题,运行一下完全达不到预期效果。
Bug 修复的局限性:当系统出现偶发性 bug 时,真正的 bug 往往隐藏在业务逻辑的深层次交互中,需要对整个系统有深入理解才能定位。这种情况在逻辑比较复杂的情况下尤为明显,几乎全部情况下,我都是自己去找问题所在,找到了问题自己修改,如果是太难处理的问题我再使用 AI 进行修改。如果你是让 AI 定位问题,那基本上是白费力气。
UI 还原的挑战:虽然 AI 能根据设计图生成基础的 HTML 和 CSS,但企业级的设计图还原中几乎是要求 1:1 还原,AI 识图还原 UI 的能力往往达不到要求,所以还原 UI 图这方面,还是得需要自己手动。
所以在企业开发中,我把 AI 更多地当作一个”高级代码助手”而不是”全能开发者”。它擅长的是那些相对独立、逻辑清晰的功能模块,而不是需要深度业务理解的复杂修改。
杂活小助手
直到我开始写一个 SAAS 系统,因为 SAAS 系统需要复用大量的组件,而且页面与页面之间的功能几乎也是独立的,没有太大的关联,这就给了 AI 十分大的发展空间。
在 SAAS 项目中,AI 简直就是我的”杂活小助手”,特别擅长处理那些重复性高但又需要一定技术含量的工作:
组件库开发:当我需要创建一套设计系统时,AI 帮我快速生成了大量基础组件。比如 Button、Input、Modal、Table 等,我只需要描述设计规范和交互要求,AI 就能生成符合要求的代码。
API 接口封装:SAAS 系统往往有大量的 CRUD 操作,AI 能够根据后端 API 文档快速生成前端的接口封装代码,根据接口文档对接字段,这就省去了大量的时间。
表单处理:企业级应用最常见的就是各种复杂表单,AI 在这方面特别有用。它能根据产品要求复用项目中已有的组件,并且自动生成表单验证逻辑,大大提高了开发效率。
这个阶段让我意识到,AI 在处理”模式化”的编程任务时特别强大。这些任务有明确的输入输出,相对独立的功能边界,这正是 AI 的优势所在。
极致的个人开发助推器
我用 AI 辅助编程在很短的时间内就重构了我的个人博客,将它从 Hexo 迁移到了 Astro,并且添加了很多新功能,比如 SEO 优化、评论系统、搜索系统、RSS 订阅等。
这次博客重构让我深刻体会到了 AI 在个人项目中的强大威力。相比于企业开发的复杂性和历史包袱,个人项目给了 AI 充分发挥的空间:
技术选型的自由度:我可以选择最新的技术栈,没有历史兼容性的包袱。当我告诉 AI”用 Astro+TypeScript+Tailwind CSS 构建一个现代化的博客”时,它能给出最优化的架构建议。
从零开始的优势:不像企业项目需要考虑现有代码的改动成本,个人项目可以完全重新设计。AI 帮我重新梳理了整个博客的信息架构,从内容组织到 URL 设计都更加合理。
快速试错的可能性:想要尝试新功能时,我可以让 AI 快速生成一个 MVP 版本来验证想法。比如想要加一个搜索功能,AI 能够快速给出基于本地索引的方案,我试用后觉得不错,再优化细节。
学习新技术的加速器:在迁移过程中,我接触到了很多新概念,比如 Astro 的岛屿架构、内容集合等。AI 不仅帮我写代码,还充当了技术导师的角色,解释概念并提供最佳实践。
一人全栈的可能性:作为前端开发者,以前我对 SEO、RSS、Sitemap 这些东西一知半解。有了 AI,我能够快速补齐知识盲区,实现真正的全栈开发。
最让我感到神奇的是,整个博客重构只用了一个周末的时间,而且最终的代码质量比我预期的要好很多。
所以 AI 辅助编程对于个人开发者而言是一个极其强大的工具,它不仅能提高开发效率,更重要的是能够拓展我们的技术边界,让原本需要团队合作才能完成的项目变成个人就能搞定的事情。