第一个想取代程序员的AI程序员,失败了?

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
第一个想取代程序员的AI程序员,失败了?
3431点击    2024-11-08 20:18

大家好,我卡颂。


Devin,全球第一款号称「AI程序员」的应用,号称可以完成从写代码、改bug,一直到部署上线运维的软件开发全流程。


这是个宏大的愿景,如果实现了,毫无疑问对程序员岗位将造成极大冲击。


那么,他的现状如何?现状背后反映了什么?程序员又该如何看待「AI程序员」带来的竞争?


本文让我们聊聊这些话题。


简单介绍下Devin


Devin的界面采用左右布局,包括两部分:


左:Devin与用户交流的界面


右:一个集成常用开发工具的沙箱,包括Shell、IDE、浏览器和Devin自身拆解目标形成的执行计划


第一个想取代程序员的AI程序员,失败了?


沙箱里的工具完全受控于Devin,理论来说,程序员用这些工具能办到的事他都能办到。


Devin的现状


根据谷歌指数,Devin的热度出现过两次高峰,分别是:


24年3月,应用发布


24年4月,事件营销产生了极大讨论度


第一个想取代程序员的AI程序员,失败了?


但是热度并没有转化为关注度,后续热度持续走低。


从其油管官方账号的视频播放能看出,3月的首发视频获得了100w+播放,而7月的介绍视频只有3k播放。


第一个想取代程序员的AI程序员,失败了?


是什么原因呢?


虽然凭借「全球第一个AI程序员」的噱头,Devin一经发布就获得极大关注。


但是,应用并没有对公众开放,而是采用「报名等试用名额」的机制。


等到4月,少部分试用视频流出。


大家发现,这些视频中体现的编码能力并不比市面上常见的编码应用(比如v0[1])更厉害。


其中流传最广的是官方发布的视频案例 —— 用Devin在外包网站上接单,并成功交付[2]。


这个视频太火了,以至于被发单的甲方看到,并专门做了个视频Devin didn't solve my computer vision project[3]澄清Devin实际上并没有解决他发单的问题。


这不就尴尬了嘛~


截止目前(24年11月),Devin已发布近8个月,仍未对外开放。


再考虑到他日渐走低的声量,这是否意味着这款应用失败了?其实并不一定。


接下来,我将聊聊「AI程序员应用」背后的逻辑。


AI程序员背后的逻辑


对于大互联网公司来说,程序员薪酬是一笔极大的开销,甚至可能占到总开支的15%~25%。


所以,「对程序员工作环节中任何部分的提效」都是符合公司利益的。


应用侧程序员的工作主要围绕「上线一款应用」展开,让我们将其按“工作环节”拆解:


第一个想取代程序员的AI程序员,失败了?


其中很多环节都需要程序员介入。


我们选择其中的「开发环节」继续拆解,得到如下结果:


第一个想取代程序员的AI程序员,失败了?


再继续对「前端开发环节」拆解,得到如下结果:


第一个想取代程序员的AI程序员,失败了?


如果我们对图中所有环节进行递归拆解,会获得一个「金字塔结构的树状图」,图中每个节点就是一个「工作环节」


「AI程序员应用」就是对金字塔中「与程序员工作相关的环节」进行提效。


那究竟该对哪些环节进行提效呢?


LLM发展的三个约束


Devin的目标可以说是「AI程序员应用」的终极形态 —— 他希望完全取代程序员,完成金字塔模型中“与程序员相关的所有工作环节”。


但正如开篇提到的,当前他还无法胜任这个工作。


究其原因,就像汽车依赖引擎,任何AI应用的底层都依赖LLM(大模型)。


而LLM的能力受到三个约束:


1.理解能力


2.上下文长度


3.私域知识储备


这三种能力互相制约,举个例子:


Claude-3.5-sonnet-200k上下文长度号称200k。也就是说,极限工况下,他能一次性理解“包含大概1.6w行代码的项目”。


但实测发现:


1.越接近上下文上限,理解能力衰减越快


2.代码逻辑越复杂,理解能力衰减越快


经过我的测试,他能胜任“代码量9k行以内的常规项目”。


Devin面对的也是一样的问题:他在工作过程中会不断积累私域知识,并在需要时随时检阅这些知识。


比如:开发环节开发UI组件需要知道设计环节定下的设计规范。


所以,Devin的执行会经历如下过程:


1.随着程序的执行,私域知识储备增加


2.在做一些“需要了解很多私域知识才能做的决策”时,上下文被私域知识占用更多token


3.越接近上下文上限,理解能力衰减越快,越无法做出正确的决策


4.为了弥补错误决策(比如“修bug”),又进入新一轮1~4的循环


最后的结果就是:用Devin实现一些小Demo没问题,实现复杂应用时,他对应用整体理解会逐渐变差。


所以,Devin这么久仍未对外开放,可能是在等待底层LLM能力的提升。


等更大上下文、更强推理能力的LLM问世后,没准儿Devin就能脱胎换骨。


后记


为什么V0、bolt.new[4]、Github Spark[5]、Cursor Composer等「AI程序员应用」都将目标聚焦在「AI生成小应用」上?


因为在当前,「AI生成小应用」是一个同时满足下面两个条件的赛道:


1.在当前LLM能力三重约束(理解能力、上下文长度、私域知识储备)范围内


2.是金字塔模型中「投入产出比很高的环节」 —— 程序员会在“开发早期应用”上花很多时间


当我们面对AI的冲击时,不要被宣传噱头吓倒。


用LLM三重约束评估下,就能知道这些应用是否能达到宣传的效果。


参考资料


[1]v0:


https://v0.dev/


[2]用Devin在外包网站上接单,并成功交付:


https://www.youtube.com/watch?v=UTS2Hz96HYQ


[3]Devin didn't solve my computer vision project:


https://www.youtube.com/watch?v=xE2fxcETP5E


[4]bolt.new:


https://bolt.new/


[5]Github Spark:


https://githubnext.com/projects/github-spark


文章来自于微信公众号“魔术师卡颂”,作者“卡颂”


第一个想取代程序员的AI程序员,失败了?

AITNT-国内领先的一站式人工智能新闻资讯网站