在尝试用一句话生成软件的过程中,我们发现了一个有趣的现象。表面上看,AI 编程(Vibe Coding)似乎无所不能,但深究下去,它至少面临两大核心挑战:需求细化与复杂工程。前者关乎AI如何从模糊指令中“脑补”出完整功能,后者则触及了软件工程作为社会协作系统的本质。
当我们只说“做一个待办事项软件”时
让我们回到古法编程时代。假设我是一名项目经理,收到一份用户需求文档,满怀期待地打开,却发现上面只赫然写着“做一个待办事项管理软件”这几个大字。
面对这份极简的需求,我的工作开始了。我需要回忆用户可能的使用习惯,并结合自己的经验进行思考。接着,我会组建一个小团队——UI设计师、系统开发工程师、测试工程师。项目推进中,程序员需要鼓励,团队需要定期沟通,开发出的中间成果也要及时给用户演示和确认。
那么,当 AI编程 的时代来临,它如何应对以下两个问题?
- 需求细化:如何通过一句模糊的需求信息,驱动AI实现精细化的软件功能?
- 复杂工程问题:软件工程本质上是包含大量人际协作的复杂工程,AI如何实现并管理这种复杂性?
需求细化:AI的“脑补”与信息真实性的边界
当我们用一句话生成软件时,信息守恒定律告诉我们,信息不会凭空增加。那么,AI在这个过程中,究竟“加”进去了什么信息?这些信息是真实的吗?
在还原“做一个待办事项管理软件”这个需求时,实际包含两部分:共识部分与非共识部分。
- 共识部分:AI为什么能处理共识?因为在AI的模型(先验知识)与你的意图之间,存在巨大的互信息。我们吐出一个关键词,AI就能基于海量语料预测你后面可能想要的100个步骤。这是它强大的地方。
- 非共识部分:当我们想要实现“定制化功能”或满足特定业务场景的独特逻辑时,这部分信息在AI的先验知识库里很可能是不存在的。要消除这部分的“不确定性”,你必须在输入端提供等量的、有效的新信息。
那么,AI“脑补”出的信息真实吗?这个过程更像一场拼图游戏:我们给了AI一小块核心拼图(一句话需求),它则从自己的知识仓库里找出成千上万块看起来匹配、能拼上的边缘拼图,最后拼凑出一个我们想要的轮廓。这种增加的信息,与其说是真相,不如说是基于统计的高可能性。

上图展示了典型的模糊需求输入场景,用户仅输入“帮我做一个操作系统”,这对于AI来说信息量远远不足。
AI尝试根据一句话生成整个程序,就像把一张10KB的低分辨率缩略图强行拉伸到4K画质。由于丢失的细节信息无法凭空产生,AI只能用其语料库里的“平均像素值”(最常见、最通用的模式)去填补空白。最终产出的结果,往往是模糊、平庸且缺乏独特细节的“马赛克”图像。

马赛克效果直观比喻了信息缺失时AI“脑补”出的模糊结果,与清晰、具体的真实需求形成鲜明对比。
复杂工程:AI的“主场”与“滑铁卢”
软件不仅仅是代码的堆砌,更是一个复杂的协作系统。要理解AI在其中的角色,我们先区分两种系统:
-
简单/繁杂系统(有序系统)
这类工程任务量可能巨大、参数繁多,但逻辑关系相对确定,因果关系清晰。例如,航天飞机由超过250万个零件组成,是极其繁杂的机器。但只要你拥有正确的图纸和工艺,拆解后重新组装,它的运行逻辑是可预测的。这类任务逻辑路径清晰,是AI的“主场”,其表现常能接近甚至超越人类。
-
复杂系统
复杂工程指系统要素之间存在高耦合、非线性关系,环境动态变化,并具有涌现性特征的工程。建造航天飞机的过程本身就是一个复杂系统,因为它不再仅仅是物理零件的堆砌,而是一个包含人、技术、政策、供应链和无数不可预见因素的动态生态系统。
软件工程的本质正是一门管理复杂性的社会技术学科。代码是最终的表现形式,而内核是人与人的协作、决策博弈以及对持续变化的适应能力。这正是AI面临的“滑铁卢”。当工程规模扩大,涉及多目标权衡、非线性因果关系和团队动态协作时,AI目前难以应对这种源于人际互动的涌现性挑战。关于工程管理与技术权衡的更多思考,可以在开发者广场找到同行们的讨论。
总结:AI编程的能力地图与能力边界
AI的强大之处:
- 共识碾压:AI学习了人类沉淀的精华知识,它生成的“标准答案”或通用模版,往往比大多数中级以下程序员写得更好、更规范。
- 效率惊人:对于模式化的任务,AI十分钟内完成的代码量,新手可能需要钻研一下午。
- 经验平权:它将许多需要踩坑才能获得的经验知识直接铺开,降低了特定领域的学习门槛。
AI的当前局限:
- 难以实现本质创新:AI擅长对已有知识进行排列组合与优化,但难以进行从0到1的、颠覆性的创造。如果所有人都依赖AI,那么输出可能会趋于人类知识的“平均值”。
- 搞不定“非共识”需求:你对业务的深度理解、对用户的独特洞察、天马行空的创意——这些构成差异化和核心竞争力的“非共识”部分,AI难以从公共语料中学会。
- 做不了复杂的多目标协作:软件工程是人和人之间的协作、博弈与权衡。AI目前只能处理那些“有较优解或标准答案”的局部问题,无法替代项目经理、产品经理在复杂人际和技术网络中做出的综合判断与决策。
最终,AI编程不应被视为替代人类的“银弹”,而应定位为一种强大的“共识加速器”和“经验放大器”。它的价值在于快速覆盖已知领域,从而让开发者能更专注于解决那些真正独特、复杂且充满“非共识”挑战的问题。想要探索更多关于人工智能技术前沿与实际应用,欢迎来云栈社区交流讨论。
|