最近读到少数派作者 LOSSES 的 《Vibe Coding 时代的角色与架构》。它讨论的不是“AI 能不能写代码”这么简单,而是一个更值得认真对待的问题:当代码生成变得极快,软件团队真正该把省下来的时间放在哪里?
我的答案越来越明确:放回思考、约束和验证里。生成代码只是软件研发链条靠后的一环。越是容易得到实现,越要防止团队把问题定义、用户理解和架构维护一起跳过。
AI 让“做出来”变容易,也让“做错了”变容易
以前,一个模糊需求会在开发阶段遭遇很多阻力:要拆任务、查资料、写代码、调试。现在这些阻力被模型抹平了一部分。一个想法听起来不错,几分钟后就能得到页面、接口、数据库迁移和一串看似合理的提交。
这当然是好事。但它改变的不是软件的物理规律,而是错误进入系统的速度。需求没想清楚、边界没划清楚、已有能力没盘点明白时,AI 会非常勤快地把这些不确定性翻译成更多代码。短期看像推进,长期可能只是把返工从白板搬到了仓库里。
代码产出加速以后,技术债也不会自动消失。相反,架构劣化往往更快到来:相似能力被重复实现,临时分支绕开既有约束,数据流和状态管理越来越难解释。等到每次改动都要担心牵一发而动全身,前面的“快”就会连本带利地还回来。
软件不是从代码开始的
一个功能真正的起点,是有人在某种情境里遇到了麻烦。谁遇到、为什么此刻需要解决、现在是怎么处理的、愿意付出什么代价,这些问题都不是让模型凭空编一份用户画像就能回答的。
LLM 可以很擅长整理访谈记录、归类反馈、找出多份材料里的共性,也可以帮助把模糊描述改写得更清楚。但前提是材料来自真实世界。用户研究、现场观察和一次不那么顺利的沟通,仍然是理解产品的原始数据。模型能压缩材料,不能代替材料发生。
对我来说,一个值得进入开发的需求,至少应能回答三件事:
- 它服务的是谁,以及发生在什么具体场景;
- 用户想完成什么,而不只是“想要一个什么功能”;
- 这次迭代解决到哪里,哪些事情明确不做。
这些答案不需要写成很厚的文档,但应该留下来。它们是之后讨论设计、实现、优先级和取舍时的共同坐标。
架构是把未来的改动提前考虑进去
我很喜欢把架构理解为“让后续变化还有地方可去”。它不只是代码目录、模块名或某一种设计模式。产品的边界、信息的组织、交互的路径、数据的归属、接口的约束,都是架构的一部分。
因此,架构不是等功能堆起来再“优化”的装饰工程。每一次“先塞进去,之后再说”都会留下一个欠账;欠账并不羞耻,关键是团队有没有承认它、记录它,并在合适的窗口偿还它。最危险的是把临时补丁当作永久设计,再让 AI 以更高速度复制这种模式。
AI 在这里其实可以帮上不少忙:快速梳理依赖关系,搜索重复实现,生成迁移方案的草案,协助把测试补到变更周边。但架构选择仍需要人理解约束,并对结果负责。模型可以给出候选路径,不能替我们决定哪条路值得承担。
把 AI 当成快一点的执行者,而不是项目的免责条款
Vibe Coding 最容易诱发的一种误会,是“会提需求的人就不再需要工程判断”。实际上,越是直接驱动代码生成,越需要知道什么是好问题、什么是可验证的结果、什么变更会影响既有系统。
我更愿意把 AI 放进一个明确的工作闭环:
- 先由人定义问题、范围和不可触碰的约束。
- 让 AI 帮忙调研代码、列出影响面、提出实现候选。
- 把选择写成可以被审查的计划,再分小步实现。
- 用测试、代码审查和运行中的反馈来验证,而不是用“看起来能跑”结案。
- 把这次学到的约束沉淀成文档、测试或静态规则,减少下次重复提醒。
这并不是要把每个小改动都变成仪式感很重的流程。它更像是一种判断:越靠近底层、越难回滚、越会影响用户的事情,越应该把思考前置。AI 负责把可重复的工作做快,人负责决定哪里不能快得含糊。
提示词有用,规则更可靠
与模型协作一段时间后,会发现同一种提醒总是反复出现:不要绕开类型系统,不要重复造轮子,不要改了逻辑却不补测试,不要把历史故事写进代码注释。这类问题如果每次都靠一句提示词提醒,迟早会漏。
更稳的办法是把能量化的要求变成项目约束:格式化、类型检查、lint、测试、提交前检查、CI 门禁。规则不会因为上下文变长而忘记,也不会在赶时间时选择性失明。至于真实用户是否被理解、某个取舍是否值得,则仍应留给人来讨论和承担。
这也是我认为 AI 时代工程实践会变得更重要的原因。代码更便宜了,判断、审查和可追溯性反而更值钱。
人的位置没有缩小,只是往前移了
模型没有生活在用户的场景里,也不会为上线后的故障、浪费的预算或失去的信任负责。它可以成为一个很强的协作者,却不是项目的所有者。
所以 Vibe Coding 并没有把产品、设计和工程的边界抹掉。更准确地说,它逼着每个角色回到自己最不可替代的部分:产品更认真地定义问题,设计更认真地组织体验,工程更认真地维护系统的可演化性。大家都可以碰代码,但不能因此放弃自己在决策链条中的责任。
我希望 AI 带来的不是“少想一点也能交付”,而是“把机械劳动交出去以后,终于有时间把重要的事情想清楚”。这才是它最让人兴奋的地方。
这篇文章是读 《Vibe Coding 时代的角色与架构》 后的个人整理与延伸,不代替原文观点。原文对用户研究、产品定义、架构腐化、Agent 审查与文档实践有更完整的展开,推荐直接阅读。
评论