微言码道 · 手记

2024,AI与编程

—— 回顾下2024年的AI与编程

如果说2023年是AI的起始之年,ChatGPT横空出世,给AI时代划出了一个令人惊叹的起点。

那2024年的今年,AI的发展可以说是百花齐放。

从ChatGPT的绝对王者到专有,开源AI模型各相盛放。AI的形态也从单纯的文本聊天这一形态扩展到文生图,图生图,文生视频等更各种新形态的AI模式。

今天,在告别2024年的这一天,我就简单的回顾总结下2024年AI与编程的那些事情。

Github Copilot,AI与编程的完全结合。

最开始,将AI能力注入编程的,就是微软Github的Copilot了。

微软购买的Github拥有世界最庞大的开源代码,甚至可以说是开源的标准平台。而同时微软又是OpenAI的投资人。这两者身份的完美结合,使得通过Github上的开源代码来训练AI,让通用型AI成为编程的专业型AI就成为可能。

而Github Copilot就是这一结合的产物。虽然这个项目很早就受到很多开源程序员的抵制,但最终仍没有影响到它的到来。而Github Copilot的到来,则直接宣告了编程的一个新纪元。

AI参与编程,成为程序员的智能助理,已经从畅想变成事实。

Github Copilot提供的是一整套解决方案,它依托编程能力强大的一些AI大模型,同时又开发了支持Visual Studio Code及Jetbrains等主流IDE插件。这使得它上手与使用非常容易,所以就算它从一开始就是收费模式,仍然吸引了众多程序员的关注与使用。

现在它仍然使用量最多最广的AI编程助手。

Cursor,AI与IDE工具的完美结合

Github Copilot是通过开发插件来支持不同的编程IDE的。但这个其实并不完美。

不同IDE对自己插件的能力其实是有所限制的,但编程这个行为,其实更依赖IDE。除了极少程序员使用类文本工具来编程,大多数都是依托于IDE的强大的代码提示能力,错误检测能力来编程的。

甚至直接点,如果没有Visual Studio Code或Jetbrains这一类IDE的支持,大多数程序员难以编程。

因此,在编程IDE工具中,如何能最大化的让AI能力参与进来,其实是一个非常值得探索的领域。

而这个领域,Cursor就横空出世了。Cursor这个IDE工具并不是自己构建的,其实就是基于开源的Visual Studio Code基础之上,添加了独特的AI编程能力。

Github Copilot提供的插件或其它类似的工具,能力有限,主流模式都是提供一个侧边栏,允许你引用一些代码,基于这些代码与AI聊天,让AI给你建议或回复。

Cursor这个工具的精髓就是Tab与AI的结合。在你编程的过程中,只要按下Tab键,就能基于AI的能力自动提示建议代码。以至于社交网络上有段子说未来的编程工作的核心就是Tab,Tab,Tab

虽然只是段子,但也证明了相比较插件的实现,这种IDE与AI深度定制的IDE,能在编程体验上有更多创新与突破。

而理所当然的,2024成为了Cursor大放光彩的一年,使它从一个名不见经传的IDE变成炙手可熱的IDE。

同样20美元/月的收费,仍然获得了相当多优秀程序员的喜爱与使用,并且这些程序员在社交网络都毫不吝啬的免费的推广与宣传它。

这使得Cursor的热度远超Visual Studio Code.

专有型AI编程大模型的涌现

每个领域都有自己的创新者。AI编程也不例外。

Github Copilot是先行者,但它提供了一个借鉴与参考。开源的代码并非Github私有。事实上这些代码是可公开访问的。

理所当然,基于这些公开可访问的代码来训练AI,让那些通用型AI变成AI编程的专用性AI,就完全成为可能了。

于是在开源大模型不断涌现的背景下,一些AI大模型开始调整自己的方向,从通用型转为专有型AI大模型。

专有型AI模型的训练数据是特定领域,特定行业,这使得它们更适合特定任务。

所以,类似Qwen-Coder或DeepSeek Coder这一类的模型就涌现了。

不过,在2024年快结束时,编程类的专有大模型有式微之势。很多综合通用性的AI模型的编程能力也非常强大。甚至强过一些专门为编程训练的大模型。

Contine.dev通用IDE插件

如果你仍然喜欢使用自己熟悉的Jetbrains IDE或Visual Studio Code工具,又不愿意使用Github Copilot,那Continue.dev这一类的插件就是你所需要的了。

支持主流的IDE,允许你自己选择与设定任何AI大模型,就是这一类IDE插件工具的目标所在。

你可以在你的IDE插件市场中搜索安装它们,然后再配置任何你喜爱的AI模型,如ChatGPT 4o或Qwen-Coder等。这样你可以自由的搭配你的选择。

这一类的工具中,以Contine.dev最值得关注与使用,一方面它对JetBrains和Visual Studio Code都支持,另一方面它又是开源的,使用它几乎无任何负担或潜在的成本,你要做的只是选择适合你的最好的AI模型。

Devin,全自动AI机器人?

前面的所有AI工具,都只是工具的角色。主角仍然是你,你在编程,你在敲击键盘,编程代码,运行程序。

但这也许是会被很快更改的?也许未来有全AI智能机器人来取代你实现编程?

Devin.ai以及OpenDevin就是这一类工具的杰出代表。

与前面所说的各种工具不同,这一类的AI助手,只需要你输入一个目标,其它的全部由AI来实现,包括创建项目,提交代码,运行程序等。

做为程序员,是不是觉得有点恐慌,也许未来的工作机会会被“它们”给抢走?

上述两者之中,Devin.ai是一个私有的付费解决方案,而OpenHands(原OpenDevin)是个开源的解决方案。

无论未来会演变如何,现在你要做的可能就是去了解与使用它们。让它们成为你的助手,提高你的效率。

国内替代选择

2024年国内AI发展也非常迅猛,以前在国内只能想方设想使用国外AI,到现在你都可以找到一些国内替代选择。

Github Copilot在国内面临付费困难及网络通畅等问题,你可以考虑国内的通义灵码腾讯AI助手等替代选择。虽然可能水平不一定齐平Github Copilot,但使用通畅,可能还不需要你付费

claude-3-5-sonnet或chatgpt-4o这一类编程能力强的AI大模型,可能在国内使用困难,原因同上。但你同样可以考虑国内的deepseekQwen-Coder这一类的选择。它们在编程能力上也非常优秀。选择它们,结合Continue.dev这一类的插件工具,你出能轻松使用上AI助手。

虽然从水平上,它们不一定能比得上国外最好的模型,但你也不用轻视国内模型,国内模型的能力也在不断发展中,比如最新的DeepSeek V3,在专业的编程类AI评级Aider LLM Leaderboards中,仅次于OpenAI的O1,强于包括claude-3-5-sonnet的其它国外大模型 。

AI与效率

类似的AI工具,究竟能多大程度上提升程序员的效率与场出,甚至是提高代码质量等当前尚无客观公证的结论。

Github Copilot一类的工具会理所当然的说它成效显著,但也有一些调研说这一类的AI工具容易生成不可维护的代码。

但总而言之,在AI时代,编程拥抱AI,与AI磨合,让它成为你的一个助手,是2024年程序员不可或缺的一门功课。