划重点
012024年,AI编程工具如Cursor和Windsurf迅速崛起,成为AI时代的热门产品。
02根据GitHub统计,2024年AI编程工具使用量同比增长300%,Stack Overflow调查显示,60%的开发者正在使用或计划使用AI编程工具。
03AI编程工具具有自动编程能力,能显著提高编程效率,未来有望实现项目级编程自动化。
04然而,AI编程工具目前仍存在局限性,如无法100%完美和正确,需要使用者具备项目代码组织能力、提问能力和迅速学习能力。
05随着AI编程工具的普及,一人公司概念有望在未来科技圈实现,改变社会协作模式。
以上内容由腾讯混元大模型生成,仅供参考
Web3天空之城·城主:
2024即将结束。
在这一年里,AI发展如我们所料,只能用突飞猛进来形容。如果从1月到12月列一个时间表,那每个月都是热闹非凡的AI大模型进展和AI新产品发布;当然,还有各种AI圈子的江湖八卦。
在一整年的AI进程中,原本而言,最引人瞩目的当数AI视频生成的突破性进展。自年初OpenAI发布了Sora的概念性视频,大部分关心AI的人们才忽然意识到,原来除了效果一言难尽的从AI绘画模型衍生出的动画视频生成,AI视频生成还有一个原生方式,即通过transformer模型来直接训练视频片段数据,这个方式能到达的高度我们现在都看到了,那是2023年底大家想都不敢想的AI视频生成效果,2024年的我们习以为常。
视频内容,包含了声音,画面,三维空间动态,以及表现为语音的语言文字信息。除了互动游戏,视频内容的AI生成就是内容生产的金字塔顶端了。自生成式AI诞生以来,从文字内容到音乐,再到视频内容的AI生产,我们可以看到,人类所需要消费的信息内容正完整被AI生产所覆盖,考虑到在2024年里视频AI生成的爆发式成长,本来今年的AI最佳奥斯卡奖大概率就是它了。
横空出世的新一代AI编程工具
但是!Q4到年底的这段时间,另外一个新形态的AI生成产品忽然崛起,在大家措手不及间,迅速建立了自己的大规模用户群体和商业版图,这就是现在最热门的“AI编程”,其中最具代表性的两个产品是Cursor和Windsurf。
有多热门呢?根据GitHub的统计,2024年AI编程工具的使用量同比增长了300%。在Stack Overflow的年度调查中,超过60%的开发者表示正在使用或计划使用AI编程工具,这一数字在2023年仅为15%。更令人惊讶的是,在Q4季度,AI编程相关的开源项目数量激增,GitHub上新增的AI编程相关仓库数量达到历史新高,平均每天新增超过100个。这些数据无不表明,AI编程正在到达一个全新的火爆程度。
AI编程,其实并不是一个新鲜概念,早在OpenAI GPT3级别的模型引入了代码训练后,GPT模型就拥有了初步阅读代码的能力,从而成为了人类编码的辅助工具。在Cursor和WindSurf爆发之前,AI辅助编程的代表性产品,就是微软CEO萨提亚纳德拉永远挂在嘴边的CoPilot了。微软的全家桶CoPilot正是从爆火的Github CoPilot概念衍生而出。在OpenAI一家独大的时代,Github凭借Copilot辅助编程风靡了程序员圈子。
但Copilot和Cursor/WinSurf所代表的新一代AI编程工具相比,差距是巨大而明显的,如以下表格所示:
最关键的一点是,Copilot只能针对局部代码进行辅助提示,基本上还是需要人工去编辑修改验证;而Cursor/WinSurf都是在整个文件甚至整个项目级别来进行AI理解和自动代码生成:
GitHub Copilot:局部代码辅助
核心机制: GitHub Copilot 主要基于上下文 (contextual) 的代码补全和生成。它的核心机制是在你编写代码时,根据当前光标所在位置、周围的代码片段、注释、变量名等信息,预测你接下来可能要输入的代码,并给出建议。
辅助范围: 它的辅助范围通常是局部的,主要针对你正在编辑的代码行或代码块。它会根据你当前正在编写的内容提供建议,而不是对整个文件或项目进行全局的理解和分析。
需要人工编辑: 因此,GitHub Copilot 更像是你的一个智能代码助手,帮助你更快地编写代码。但代码的整体结构、逻辑以及不同代码模块之间的关系,仍然需要你手动进行编辑、修改和验证。
Cursor/WindSurf:全局代码理解和生成
核心机制: Cursor 和 WindSurf 这类工具,更倾向于对整个文件甚至整个项目进行 AI 分析和理解。它们会尝试理解代码的结构、逻辑、不同模块之间的关系,从而进行更智能的代码生成和重构。
辅助范围: 因此,它们的辅助范围更广,不仅局限于局部代码。它们可以根据对整个文件或项目的理解,生成更完整的代码片段、建议重构方案,甚至可以帮你快速生成整个 API 调用的代码。
自动编程倾向: 这类工具在一定程度上具备自动编程的能力。它们可以基于对你意图的理解,生成相对完整的代码逻辑,减少你手动编写代码的工作量。
不仅于此,它们还可以直接运行终端指令,来实时验证代码的运行结果,甚至根据结果的反馈进一步自动的修改代码。整个全局自动化的过程,可以负责任的说,只要是码农用上了,就离不开了。
正因为有这个重要的差别,在推出项目级别的代码自动化能力后,Cursor和WinSurf都迅速实现了自己的商业化,付费订阅收入呈爆发式增长 。当然了,这块大蛋糕,显然已经被各大公司以及其他创业团队盯上了。比如最近有个出了一个火起来的项目级AI编程工具Lovable,号称实现了欧洲创业公司里商业化的最快记录。完全可以判断的是,在2025年,类似Cursor/Winsurf的项目级编程自动化工具将会百花齐放,开源社区也一定会有强大的平替出现。
有趣的是,基本上所有的AI编程工具,都是借助了微软的力量 -- 这些AI编程工具基本都是基于开源的微软VS Code代码编辑器来二次开发-- 基础的编码调试等交互UI都是现成的,苦活脏话累活VS Code全搞定了,创业团队只需要想办法在VS Code里整合进大模型来对代码进行分析修改即可。当下AI编程工具爆发的景象,微软的VS Code开源绝对功不可没。
微软自家的Github CoPilot AI辅助编程概念起了一个大早,目前恐怕有一点点赶晚集的危险。显然,微软绝对不会把AI编程蛋糕拱手让人,在2025年,AI编程工具是大厂和创业公司兵家必争之地。而最终受益的, 显然还是我们这些使用者。
就城主目前使用的情况而言,和大语言模型类似, AI编程工具并没有一个绝对的粘性,除非未来AI编程工具把用户数据/代码以某种云端储存的方式做了绑定,否则项目代码甚至可以在开发中途直接切换到另外一个AI编程工具上(如果工具都是基于VS Code那就更方便了)而不会影响到用户的开发。
(当然,要推动用户换工具就必须要有明显的功能/性能提升。说到这里有一个小插曲是WindSurf的爆火,很大程度上是因为WindSurf在自动化代码模式上步子迈得更快,比Cursor更先一步实现了代码的全自动编写和调试,才在Cursor已然成名之时异军突起,成就了当下双雄的局面。)
有一点是可以确定的, 在2025年,所有专业程序员所用的,都必定是Cursor/WindSurf或者更好的项目级AI编程工具。缺少AI支持的编程工具,现在就可以断言已经被淘汰了。无它,只因项目级AI编程工具的效率提升太明显。根据城主的亲身使用,结合当年的一些工作经验,可以毫不夸张的说,AI时代之前的一个普通软件工程师一天的工作量,在当前AI编程工具的加持下,5分钟即可完成。其效率的提升,是8小时x60/5分钟=96,即100倍左右的提升。考虑到在大规模项目中一些效率损耗,我们把这个打个折上折,最后怎么算下来, 20~30倍的效率提升肯定是有的。
故此,不必展望未来,只看当下,使用AI编程工具的程序猿和程序媛必定胜出。不使用AI编程工具的程序员 - 如果还有的话,需要认真做好首先被公司裁员的准备。
至此,我们完全可以理解为什么Cursor/WindSurf出道即巅峰,商业收入一飞冲天:效率提升太明显,效果太好了,实在忍不住付费了。
普通人的玩具,程序员的神器
尽管一些媒体文章有所渲染,一个完全不懂得编程的人也可以使用Cursor/WindSurf,动动嘴皮子就可以完成脚本编程 - 这在某种程度上的确是事实,也是Cursor/WindSurf强大的地方, 在一个可控的代码规模内(可控的意思,大概在几百行代码之间吧)它们能完全自主的根据自然对话,实现一些简单功能的程序脚本,比如文本处理,或者一些小游戏等等。基于内置的终端运行和调试能力,Cursor/WindSurf还可以丝滑的自动测试甚至进行简单的自动部署。
但至少在当前的大模型状态下, 这个全自动黑盒的完美代码能力是有限的 -- 我们也可以反过来想,如果AI编程工具已经实现了没有复杂度规模上限和代码量上限的完美自动编程,这个工具就不能叫做AI编程工具,必须要称之为AGI编程工具了。到那一天,人类科技历史真的要翻过新篇章。
当下的情况是,在AGI诞生之前, AI编程工具的能力必定在一个有限范围。“不懂编程的人用Cursor/WindSurf就能当程序员”这种炒作听听就算了 。不会编程的同学使用这些AI编程工具,其实有点像哆啦A梦的口袋,可以开出各种好玩的工具,但需要碰运气看看是否好用。
这里的本质问题还是上下文窗口。其中有一个细节, WindSurf一次只能读取200行的代码,超过200行的代码会分批读取,依靠上下文记忆来实现连续性。当代码文件足够长的时候(上千行以上),读取分析代码文件和修改本身都将导致不稳定性。显然,这和当前大模型真正有效的上下文窗口有关。我们可以期待当新一代具有超长上下文窗口的大模型被AI编程工具更好的整合后,这个问题会得到一定的缓解。
只是,在达到AGI之前,我们仍然有这个限制:AI编程工具并不能100%完美和正确;而希望使用AI编程工具的人做出真正产品级别项目的同学必须拥有的三个能力是
1,技能一,具备项目代码组织能力。
简单而言,你大致上要知道做这个事情,有哪几块模块需要实现, 如何分拆这些模块到不同的文件以便更好的组织管理;重要的是,当AI出错时,合理的文件拆解能方便定位错误/恢复正确逻辑。同时,如果需要,这个人必须有对代码片段的阅读理解能力。如果只是指望靠AI来把握一大坨黑箱代码,那么能做的就只有祈祷AI下一次更新代码时项目还能继续保持运转:当代码行数不断增长时,复杂度将很快爆炸到AI无法自持的程度。
所以,这也是为什么,目前还是只有具备专业编程能力的人,才能最大程度发挥AI编程工具的能力。就好比一把屠龙宝刀,拿在一个成人手里和一个小孩手里,那是完全不一样的。
2 技能二,需要会问问题。
学会提问,其实是AI时代的核心技能。
Cursor/WindSurf这些AI编程工具有一个很大的特点,它既是苦力,也是老师,关键是看你能否问得出合适的问题。当然我们可以简单描述一个功能,让AI使劲折腾,然后开一个宝箱看看是否正确。
但如果你能深入的问一些技术向的问题,与AI有更好的互动,甚至给AI一点启发性提示比如使用什么库来实现什么,或者大致怎么划分功能,AI会很轻易的给出更惊喜的表现。
显然,能否问出合适的问题,完全要靠自身实际编程经验的积累。
3 技能三,迅速学习的能力
AI编程工具之于人类程序员的加成,一方面是编码速度;另一方面,则是编程知识能力的扩展。
人的知识库是有限的, 但AI编程时会覆盖已有的所有可能选择,挑选最合适的组件/代码库来实现功能,AI编程工具的专业使用者,需要第一时间跟上AI工具的节奏,迅速理解AI引入的新技术,才能持续把项目牢牢掌控在手里。
这一点听起来玄乎,其实是每一位合格的程序员的标准技能而已。所有靠谱的程序员,都是终身学习的高手,都是在工作中不断学习中成长。因此,与AI老师+劳工的互动交流,只会是一个更良性的循环。
年轻人的双刃剑
全流程AI编码工具的出现,对于专业程序员,意义相当深远,这些工具彻底改变了编码工作的流程和方式。
未来在编程工作岗位能站稳脚跟的只有一种人,那就是掌握AI工具进行代码生产,且同时知道自己在做什么的人。
问题恰恰在于,和AI工具动嘴皮等待输出结果开宝箱很爽;但要知道自己在做什么,同时知道AI在做什么,这就有点难了。
这还是回归了前面一直表达的一点,只有理解编程,具有学习扩展的能力,才能最好的发挥AI编程工具的能力。
这对当下立志进入软件行业的年轻人提出了很大挑战。
有经验的程序员都知道,一个人的编码能力是通过大量痛苦的练习,反复的熬夜调试,各种踩坑积累而来。从一个新人到一个熟练的程序员需要经历千锤百炼。而在现在AI碾压的工作效率下,工作环境里纯新人是没有任何机会的 -- 老板们是愿意付一个ai工具的少许订阅费用,还是愿意花不菲的价格去培养编码新人,不言而喻;更不用说编码新人的能力已经无法和AI工具媲美了。
对今后立志进入软件行业成为“AI编码操作员”的同学们来说,唯一的机会就是在大学学习期间不要只顾风花雪月和游戏天地,而是花足够的时间默默积累足够的编程经验,并向公司证明自己能和老员工一样,熟练使用AI编程软件解决真正的产品级别问题,生成和管理足够复杂度的代码项目。
这些要求其实也是合理的,甚至可以畅想,未来的程序新人面试方式,不再是考现场解算法题目,而是给一个ai编程工具和几个小时时间,现场去实现一个相当复杂度的实际软件项目。
在这样的新形势下,如上一节所提到,技能3 “迅速的学习能力” 就是立志进入这个行业的新同学所必须拥有的,然后选择一个如良师的AI编程软件,陪伴自己走完从新人到熟练老手的那段时光,成为一个合格的代码生产者。
都是AI生成,代码生产和内容生产的最大区别在于,前者是在制造生产工具,这个生产工具可以自行产出包含后者的内容。 比如,最简单的例子,通过AI编程工具, 我们可以很快写出一个对全文进行自动总结的脚本,当然你可以说通过web端的AI问答也可以做到这一点。但如果这个脚本可以自动遍历一个目录自动生成所有文件的总结呢?这就是代码自动化的强大之处了。
AI编程自动化,本质上是在几近科幻的自动打造生产力机器,打造速度超越前AI时代百倍。
未来的AI时代里,人类也许将分几个阶层,最高一个层次是会掌握AI编程软件的人,这是最高级别的生产者,可以生产自己所需的工具。第二个层次是会使用AI生成内容(文字,音乐,视频,等等),这也是合格的生产者,第三种人属于只能当消费者的无法掌握AI的人, 我们的后代最好成为第一层次的人。
一人公司的开端
在AI概念和应用开始普及的2024年,一个有趣的概念“一人公司”开始进入大众话题。顾名思义,就是借助生成式AI的能力,以前需要多人协作的工作有可能一个人就搞定了;聪明人有机会以一人之力,成为一家公司。
这个美好的设想在不同的领域是不一样的,对于需要大量人与人面对面交流的领域,这显然要打一个问号;但对于大量和电脑打交道工作的互联网/科技行业,这个美好的设想的确让人心动。从生成式AI的表现来看,包括财务数据处理,文案处理,市场营销规划等等各方面在过去需要专业人士做的事情,AI已经可以参与并且扮演一个重要甚至独立的角色。
只是,我们都知道,互联网/科技行业的核心还是代码,无论其他各种AI辅助角色多么给力,科技界的一人公司核心问题仍是,一个人的代码输出能力通常很难和一个团队相比。大神可以解决核心问题,但代码生产和软件构架,需要很多基础工作,脏活累活太多了。一个人的认知可能足够,但无奈时间太少,需要做的事情太多,用传统的方式靠一个人去堆代码实现大规模的软件或者在线应用是一个太挑战的事情。
但现在不同了。
按照前面城主所说,即使除去各种可能的效率损耗,AI编程工具对于程序员的效率加成也在数十倍的量级,我们可以说,熟练掌握了项目级AI编程工具的资深技术人员完全相当于传统编码时代的10~20人的技术团队的输出效率。
甚至更高,我们知道,技术团队越大,人与人沟通的边际成本就越高。所以真正核心的技术团队,永远都是小几十人的规模。而且,资深的技术主管往往对下属都有一种恨铁不成钢的情绪,如果不是为了培养团队以及时间不够,还不如自己冲上去手码代码得了。
现在,技术高手拥有了AI编程工具,自己就是一个产品技术团队。这种曾经的奢望,现在已然是现实。
如果这样的高手还拥有产品/运营/市场思维,那就是妥妥的真·一人公司。
(那有些技术大佬不善于运营和marketing怎么办?很简单,求助AI或者拉太太一起嘛)
人类的公司制度已经有不短的时间了。除了个别内容生产者,比如作家,画家,以及最近的自媒体,绝大部分的人的工作都需要在一个团队里完成。
在互联网/科技行业,也有一些独立开发者的例子,以单枪匹马之力,通过web/app/游戏方式实现了一些商业回报。只是,互联网行业的个体生产虽然美好,但在此前的软件编码条件下无法保持规模扩大后的的代码输出效率和版本迭代,因此大多数的结果都需要转化为小团队作坊模式。
如今全域AI编程工具的出现,赋予了一种极大的可能性,在2025年我们将目睹科技圈里真正的一人公司开始涌现。
在中国当下的大环境下,这个可能性显得更有意义。从短期来看,技术的突破性进展为众多有能力的人提供了更多的选择和想象力;长远而言,它将改造我们整个社会协作的模式。
--
谨以一篇小文,送走2024,一起迎接让人憧憬的2025年:)