AI能替代程序员编写所有代码吗?
很多人疯狂的宣传AI自动写应用写网站,AI可以已经可以代替程序员了么?
一段话说重点:目前阶段,不会编程的人让AI写代码,能写写原型玩一玩,但是想直接做到工程化落地,很难。懂编程的人,的确可以利用AI来提效了,甚至产品化落地一些简单的应用/网站。

开头
AI编程的笑话:
- ai写了大量代码,有了bug后,改不动,删又舍不得,且进度大大delay。——成现代鸡肋了,用之无用,删之可惜。
- 这块有问题,调用不通,AI写的,我也不知道为啥。——指望别人帮你debug AI写的代码?
cursor、claude code、codex、winsurf、各种copilot,国内还有一票ide,codebuddy、qoder、trae,还有一些小众一点点的比如amazon的kiro,等等。
还有一些agent写代码的builder,比如百度的秒哒,kimi的okcomputer,其他各种builder。
老实说,一大半都试过,花钱的不多,实在花不起。
日常最常用的还是cursor,和github copilot,主要jetbrain下要用copilot,不然也不需要了。
至少目前,AI代替程序员编写所有代码,不可能啊。
氛围编程
啥是氛围编程,vibe coding?
现在简单的几句话让ai把代码都写了,就是氛围编程。
这是百度AI简单总结的
Vibe Coding的定义与核心理念
- 概念提出:由OpenAI联合创始人Andrej Karpathy于2025年明确提出,被称为"不能算是真正编程"的开发方式。
- 核心机制:开发者用自然语言描述需求→AI生成代码→运行时直接应用→通过自然语言反馈迭代修改。
- 应用场景:快速原型开发(如菜谱APP)、界面设计生成、自动化调试等。
编程方式与应用场景
- 与传统编程对比:
- 传统:需掌握语法、数据结构等底层技能,流程严格如建筑工程。
- 氛围编程:开发者聚焦高层设计,通过"感觉"指引AI生成代码,如描述"太空风格动画背景"即可生成完整代码。
- 典型用户:独立开发者(重创意轻代码质量)、产品经理(无编程经验但有场景构思)、设计师(快速实现视觉概念)。
- 争议:可能出现代码质量隐患(72%生成代码需人工复核)、调试困难(错误提示需反复自然语言交互)、技术债务积累等问题
看,氛围编程不太靠谱吧,大部分都觉得代码能生成个网站,很强,实际上可能出现代码质量隐患、调试困难、技术债务积累等问题,就是正经生产环境中,大家的顾虑了。
amazon的kiro有一个功能,直接区分了氛围编程和code with spec,嗯现在很多都在推了,比如github也出了spec kit https://github.com/github/spec-kit
那这是什么呢? https://kiro.dev/docs/specs/

大概就是先定需求文档,然后设计文档,然后往下去拆解落地。就跟软件工程师开发软件类似的流程,很符合常识。
软件工程
SE software engineering
软件工程是大学的一个专业,而且学费挺贵的一般。
软件工程一般是科班一定会学到的一门课。包括系统工程、需求工程、设计工程、OO/TDD等结构设计理论、软件测试、软件维护与再工程、软件项目管理等一些章节。
更重要的是,软件工程是计算机的一个很重要的研究方向,软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
如果有兴趣深入了解软件工程的话,可以去网上再搜搜。
我读研的时候选择了软件工程理论方向,来自于软件工程课的时候听导师讲的时候,带来的兴趣。
说白了,开发软件不是用泥巴堆城堡,而是要工程化落地的。
最近研究了下AI来coding这事,有一些感想,就顺便请教了一下实验室导师,给了我一些观点
1、需求定义清楚比较困难
2、如果软件规模比较大那么就有设计复杂性,这个也是个难题
3、目前,一种成功的实践模式是开发者本人把软件拆的比较细,然后让大模型生成局部的代码,并及时提供审核反馈。这个一般只有专家才能够掌握,需要具有非常好的需求分析和设计能力
和上面code with spec对上了,需求、设计、细化拆解写代码。
软件工程的学术界,一直在研究需求工程、设计工程、包括测试工程等等,以及最近研究如何让AI更好的写代码。
一些观点
目前AI自主写代码,基本处于氛围编程效果,如果使用的人没有经验不会设计,就完蛋了。
现在不仅程序员,各个领域都在被AI改变,现在各个公司都是在业务增长,不扩招的情况,让你用ai提升效率。如果业务不增长,就砍人,如果效率不提升,就换人呗。
估计未来招研发的一个职位要求:能用好AI,保证AI产出质量,人+AI整体产出达到XX要求。
氛围编程距离ai写代码完全可用,还有挺长一段距离。至于遥远的未来,有可能AI能代替所有代码吧。
而且这还只是氛围编程做做简单的应用。如果是复杂系统,例如游戏项目还涉及到和ide的很多集成,复杂的项目涉及的需求背景,ai目前还不能理解到位等等。
但是目前,作为带研发团队的码农,也在思考AI编程在实践中能做到什么地步,目前氛围编程玩玩还可以吧。别指望太多。
最近尝试完全用ai写稍复杂点的程序,以及一些游戏原型,有一些感受
方法文件级高内聚代码片段/小工具——AI比人写的尽善尽美,大概率可用
落地方式:人要做好测试验证
小规模软件原型——氛围编程能做到勉强可用
目标:希望ai可以帮不会写代码的人写小规模应用
人群:创意者/非专业领域/原型,产品、设计、跨技术栈研发
落地方式:简单定义需求,当然越详细越好,让AI干,看效果。生成原型,反复调试,但质量堪忧
小规模软件产品——需要专业软件工程师
目标:
人群:专业软件工程师
落地方式:需求分析文档、验收文档、(定义技术指标),再反复调试,走测试流程上线。
大规模系统——AI一定干不好
目标:希望ai可以帮架构师写一些初级代码、小模块,降本提效。就好像主程带着几个开发干活一样。
人群:专业领域架构师
落地方式:开发者本人把软件拆的比较细之后,大模型辅助生成局部代码
未来尝试的工作流:需求设计工程、模块拆分,定义好每个模块的输入输出后,让ai去分别生成每个模块,最后组装走集成测试。
挑战:多模块较复杂,产生bug后,多模块协同修bug可能困难。
未来:
1、氛围编程质量不够高,难维护,未来可以用tdd的方式,将需求细化为测试用例,倒逼ai将软件质量向测试用例拟合,也许是个方向。
有点GAN的感觉。人精力放在软件工程流程的需求与测试上,把控输入输出。
2、人开发软件并不全是基于代码文本,要内聚抽象成方法和模块的。
那么ai应该可以【分治的方式,拆分模块并保证每个模块质量达标】,模块对外就只剩接口描述了,可降低ai上下文处理的复杂度。既提升质量,又减少ai丢失注意力的问题
实际项目实践
对团队约束
- 要用ai提效,例如代码补全、生成SQL/脚本/工具、信息查询
- 研发要对AI代码负责——AI只是协助
- 禁止agent直接写大量代码——AI写的是不可靠的
- 研发自测,写自测报告——这个与测试用例无关,也不要求形式,只要研发自己把自己开发的逻辑自测过程截图写进文档,同时还能对测试同学提供帮助。对整体的质量和效率是有很大提升的。
结语
AI来了,简单的工作会被AI替代,人应该将精力放在更高层面的思考设计上,让AI来帮忙提效。
还是不要小瞧人类智慧。

更多推荐



所有评论(0)