大家好,我卡颂。
Devin,全球第一款号称「AI程序员」的应用,号称可以完成从写代码、改bug,一直到部署上线运维的软件开发全流程。
这是个宏大的愿景,如果实现了,毫无疑问对程序员岗位将造成极大冲击。
那么,他的现状如何?现状背后反映了什么?程序员又该如何看待「AI程序员」带来的竞争?
本文让我们聊聊这些话题。
Devin的界面采用左右布局,包括两部分:
左:Devin与用户交流的界面
右:一个集成常用开发工具的沙箱,包括Shell、IDE、浏览器和Devin自身拆解目标形成的执行计划
沙箱里的工具完全受控于Devin,理论来说,程序员用这些工具能办到的事他都能办到。
根据谷歌指数,Devin的热度出现过两次高峰,分别是:
24年3月,应用发布
24年4月,事件营销产生了极大讨论度
但是热度并没有转化为关注度,后续热度持续走低。
从其油管官方账号的视频播放能看出,3月的首发视频获得了100w+播放,而7月的介绍视频只有3k播放。
是什么原因呢?
虽然凭借「全球第一个AI程序员」的噱头,Devin一经发布就获得极大关注。
但是,应用并没有对公众开放,而是采用「报名等试用名额」的机制。
等到4月,少部分试用视频流出。
大家发现,这些视频中体现的编码能力并不比市面上常见的编码应用(比如v0[1])更厉害。
其中流传最广的是官方发布的视频案例 —— 用Devin在外包网站上接单,并成功交付[2]。
这个视频太火了,以至于被发单的甲方看到,并专门做了个视频Devin didn't solve my computer vision project[3]澄清Devin实际上并没有解决他发单的问题。
这不就尴尬了嘛~
截止目前(24年11月),Devin已发布近8个月,仍未对外开放。
再考虑到他日渐走低的声量,这是否意味着这款应用失败了?其实并不一定。
接下来,我将聊聊「AI程序员应用」背后的逻辑。
对于大互联网公司来说,程序员薪酬是一笔极大的开销,甚至可能占到总开支的15%~25%。
所以,「对程序员工作环节中任何部分的提效」都是符合公司利益的。
应用侧程序员的工作主要围绕「上线一款应用」展开,让我们将其按“工作环节”拆解:
其中很多环节都需要程序员介入。
我们选择其中的「开发环节」继续拆解,得到如下结果:
再继续对「前端开发环节」拆解,得到如下结果:
如果我们对图中所有环节进行递归拆解,会获得一个「金字塔结构的树状图」,图中每个节点就是一个「工作环节」。
「AI程序员应用」就是对金字塔中「与程序员工作相关的环节」进行提效。
那究竟该对哪些环节进行提效呢?
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
文章来自于微信公众号“魔术师卡颂”,作者“卡颂”