【新智元导读】从代码补全到全流程开发,AI正以前所未有的速度改变软件开发的规则。本文深入解析了L1到L5五个等级的AI编程工具,展望了AI编程的全面自动化。
AI恰似一把神奇的钥匙,悄然开启了编程领域的全新大门。
从代码补全到项目级自动化,AI的角色从「助手」转变为「工程师」,甚至是「开发团队」,极大地改变了软件开发的传统格局。
借鉴自动驾驶的术语,AI编程工具可以划分为L1到L5五个等级。接下来将详细介绍。
2025年1月AI编程领域可视化图
从基础功能层面来看,以GitHub Copilot为代表的L1级工具,主要聚焦于代码补全。
开发者常常会面临一些重复、繁琐的代码输入,这类工具极具实用价值,通过智能建议与代码补全功能,能极大地简化编码流程。
在现代开发环境中,L1级的代码补全工具已经极为普遍,为更先进的AI编程工具奠定了坚实的基础。
GitHub Copilot擅长代码补全
代码补全(L1)产品
L2级别的工具专注于任务级自动化,LLM如ChatGPT便属于这一范畴。
这类工具擅长处理各种开发任务,能够依据描述性提示来开发新功能、修复漏洞以及重构代码。
然而,在实际使用过程中,使用LLM进行编码任务也面临着一些挑战。例如,它需要精心设计的提示以及相关源代码上下文,才能生成高质量的代码,而手动创建提示既耗时又繁琐。
为了解决这一问题,一些工作流自动化工具应运而生,如命令行工具aider和桌面应用程序16x Prompt,它们能够简化提示生成过程,帮助开发者从LLM中获取高质量代码。
此外,Cursor、Continue和PearAI等集成开发环境(IDE)及其扩展,能够将LLM无缝集成到开发环境中,为开发者提供更友好的交互界面,让他们在开发过程中能够更便捷地与LLM互动,实现编程任务的自动化。
任务级自动化(L2)产品
L3代表着项目级自动化的早期阶段,像Codegen、Sweep 和 Pythagora这样的工具,具备分析项目需求并生成相关拉取请求的能力。
L3级工具的一个关键特性在于,它们能够通过与项目管理工具(如Jira)和源代码平台(如GitHub)集成,实现软件开发多个步骤的自动化,包括需求收集、代码生成、拉取请求创建和部署。
然而,目前这些系统尚处于初级阶段,仅能管理较为简单的编码项目,并生成基本的代码片段。在实际应用中,还需要人工进行干预,以确保代码的质量和相关性,这在一定程度上限制了它们的自主性。
另外,还有一些工具,如Vercel的v0、Tempo Labs的Tempo和CerebrasCoder,能够帮助用户创建网站,但通常专注于软件技术栈中的某一部分,例如前端开发。
项目级自动化(L3)产品
L4标志着从人类驱动编码向AI驱动软件开发的关键转变,开发过程能够实现从产品需求到生产部署的完全自动化。
这一级别的工具,如Devin、Marblism和Cosine的Genie等,旨在访问终端和部署工具,管理整个开发活动的流程。
用Marblism制作的示例项目
SWE-bench 验证排行榜(截至2024年12月19日)
这些先进的系统不仅能够解读产品需求、管理代码部署,还能维护生产环境中的软件,充分体现了AI软件工程师的角色。
它们的出现,能让非技术人员在短短几分钟内,就能从零开始创建一个功能完整的软件产品,大大降低了软件开发的门槛。
AI软件工程师(L4)产品
在L5级别,AI编程进入了一个全新的领域,可能涉及一个包含多个AI软件工程师的AI系统。这些 AI 代理能够协作完成项目,各自专注于软件开发的不同方面。
微软的论文《AutoDev》提出,智能体能够从智能体调度器(Agent Scheduleer)接收目标和对话历史,并根据规则和动作配置做出响应。不过,该论文目前仅使用单个GPT-4智能体来进行评估。