在氛围编程时代,代码与设计究竟谁主沉浮?
最近有个朋友问我:既然AI都能写代码了,那我们还需要做软件设计吗?这个问题让我想起了当年数码相机刚普及时,人们也在争论摄影师会不会失业。结果呢?真正优秀的摄影师反而更抢手了。 在传统的软件开发中,代码和设计就像是硬币的两面。代码是实现细节,设计是宏观蓝图。但在Vibe Coding的世界里,这个关系正在发生根本性的转变。 让我用一个具体的例子来说明。假设你要开发一个在线点餐系统。在传统开发模式下,你需要设计数据库表结构、定义API接口、规划页面流程,然后一行行地写代码实现这些设计。而在Vibe Coding中,你可能会这样告诉AI: 「帮我创建一个在线点餐系统,用户可以通过手机点餐,商家可以管理菜单和订单,支付要支持微信和支付宝,订单状态要实时更新。」 看到了吗?你描述的是意图,而不是实现细节。这就像是你告诉建筑师「我想要一栋面朝大海的房子」,而不是去指导他每一块砖该怎么砌。 但这里有个关键问题:如果代码可以随时由AI重新生成,那我们真正需要精心设计的是什么?答案很明确:是那些具有长期价值的「黄金契约」——清晰的意图描述、稳定的接口规范、不可妥协的安全准则。 我在实践中发现一个有趣的现象:越是资深的开发者,在转向Vibe Coding时反而越容易陷入「过度设计」的陷阱。我们习惯了先画架构图、设计模式、分层结构,但很多时候,这些设计在AI生成代码时可能根本不重要。 举个例子,上周我帮一个创业团队重构他们的用户系统。原来的架构师设计了一套复杂的微服务架构,有用户服务、权限服务、通知服务等等。但当我们用Vibe Coding重新思考时,发现其实只需要一个清晰的意图描述:「管理用户注册、登录、权限和消息通知」,AI就能生成一个更简洁有效的解决方案。 这并不意味着设计变得不重要了。恰恰相反,设计的重要性反而提升了——只是设计的重点发生了变化。现在我们更需要设计的是: • 如何清晰地表达业务意图 • 如何定义稳定的接口契约 • 如何确保系统的可观测性 • 如何建立有效的验证机制 我记得亚马逊CTO […]
