【AI原生】深入回答纯Vibe Coding写后端项目的几个问题

【AI原生】深入回答纯Vibe Coding写后端项目的几个问题 近期笔者因为工作原因开始大规模使用Vibe Coding的方式来编写后端项目。说实话笔者目前大概99%的代码都是通过Vibe Coding生成的已经基本不手写代码了。在先前的文章里笔者也聊到了用Vibe Coding写前端原型的经验而这篇文章则聚焦后端侧也是更加偏重于业务工程的研发场景今天这篇文章笔者让AI列举了一些后端项目Vibe Coding场景下各位开发者都比较关心的问题然后做一些简练的回答。一、项目代码量膨胀后AI的上下文管理怎么做除去模型本身能力来看一套好的项目架构好的代码结构化的展现能够让AI更容易理解在不同上下文切换的时候能够更快速知道怎么去改某个内容。所以一个action是在项目代码量不膨胀的时候做好架构设计预防这类问题。当然如果项目本身已经很臃肿了这个时候就需要遵循「好记性不如烂笔头」的原则多沉淀一些memory对于具备业务上下文的逻辑去多打一些注释日常多搞一些脚本或者skill复刻自己的研发习惯。二、怎么减少AI生成代码的坑点比如并发或者DB访问类的后端开发场景下一个项目可能是多人开发如果AI不知道哪块实现是best-practice的那就容易踩坑。所以这里的重点是自己需要判断怎样的实现是best-practice。并发类的以笔者常用的Golang为例可能存在部分地方直接go func也有可能某些地方通过某些并发库起goroutine封装一些异常处理这样会更优雅一点。在某些http框架中随意go func可能带进一些cancel掉的ctx这也可能是坑解决方法就需要独立的ctx复制各类value然后再带进去。DB访问类的比如Update某个RecordAI可能从最小实现原则出发做全量record修改但某些业务场景下可能只需要改某几个字段值这种情况最好的处理方式就是单独抽一个改这些字段值的函数体现其业务属性。如果不告诉AI的话AI也不会立刻明白所以很多坑点其实都还是要经过自己梳理一遍然后再告诉AI怎么做否则当年自己踩的坑AI也会再踩一遍。三、AI写的代码出问题时怎么提升返工效率做好harness这个和上一个问题有关联但更加关注出了一次问题之后怎么避免第二次。自己写的代码出了问题通常能快速定位因为你知道自己当时是怎么想的代码逻辑的来龙去脉都在脑子里。但AI生成的代码不一样你虽然review过但对它的思维方式并不熟悉。出了问题之后你往往需要先花时间理解AI为什么这么写然后才能判断是逻辑错误还是边界条件没考虑到。所以有几个个好的办法要求AI做计划和确认沉淀一个rule实现代码之前需要强制让AI给你代码实现计划做问题澄清和确认然后执行。要求AI写注释在rules里明确要求AI对关键逻辑写清楚注释说明为什么这么做而不只是做了什么这样CR的时候能快速理解代码意图。要求AI生成单元测试是一个可选项更是为了在出问题时有一个回归测试的基础修改bug之后跑一遍单测确认没有引入新问题。单测的内容尽量简洁让自己快速看懂即可。建立CR的CheckList每次实现完之后需要检查是否遵循自己的best-practice。既然代码的负责人是自己那么实现的效果就需要遵循自己的原则。通过以上一些措施就能够让AI生成的代码更加符合自己的taste做好harness。四、作为Old School程序员如何应对Vibe Coding时代带来的焦虑这个问题笔者想认真聊一下因为它比任何技术问题都更真实传统Old School程序员怎么应对AI时代AI可以代替传统程序员的这个事实。笔者的答案是保持学习坚持判断。AI能够代替Old School程序员的是编码本身但是一套程序怎么做最优雅的设计怎么反映业务怎么满足共识这些也都是技术研发的一部分并且都是依赖自己的判断是AI代替不了的。所以一方面对于AI Vibe Coding需要逐步适应逐步学习这样以后能够减少手工编码腾出更多时间另一方面需要把更多精力放在技术架构设计上提升自己在技术上的判断力这样才能够和AI做到更加效率的协作。说白了可以把AI当做一个智商跟知识面顶级但对业务共识不会深刻了解的INTP作为Vibe Coding开发者需要做的一是给AI足够的业务上下文让AI的思路和判断逐渐和你一致从而发挥其最大潜力二是把控好交付效果把更多思考留到怎么样让Vibe Coding出来的产品落地到更多工作场景上这样才能实现工作层面的AI提效。