AI编程L1-L5超全分级来了!GitHub Copilot仅L1,Devin是L4

  新智元报道

  编辑:英智

  从代码补全到全流程开发,AI 正以前所未有的速度改变软件开发的规则。本文深入解析了 L1 到 L5 五个等级的 AI 编程工具,展望了 AI 编程的全面自动化。

  AI 恰似一把神奇的钥匙,悄然开启了编程领域的全新大门。

  从代码补全到项目级自动化,AI 的角色从「助手」转变为「工程师」,甚至是「开发团队」,极大地改变了软件开发的传统格局。

  借鉴自动驾驶的术语,AI 编程工具可以划分为 L1 到 L5 五个等级。接下来将详细介绍。

  2025 年 1 月 AI 编程领域可视化图

  L1:代码补全

  从基础功能层面来看,以 GitHub Copilot 为代表的 L1 级工具,主要聚焦于代码补全。

  开发者常常会面临一些重复、繁琐的代码输入,这类工具极具实用价值,通过智能建议与代码补全功能,能极大地简化编码流程。

  在现代开发环境中,L1 级的代码补全工具已经极为普遍,为更先进的 AI 编程工具奠定了坚实的基础。

  GitHub Copilot 擅长代码补全

  代码补全(L1)产品

  L2:任务自动化

  L2 级别的工具专注于任务级自动化,LLM 如 ChatGPT 便属于这一范畴。

  这类工具擅长处理各种开发任务,能够依据描述性提示来开发新功能、修复漏洞以及重构代码。

  然而,在实际使用过程中,使用 LLM 进行编码任务也面临着一些挑战。例如,它需要精心设计的提示以及相关源代码上下文,才能生成高质量的代码,而手动创建提示既耗时又繁琐。

  为了解决这一问题,一些工作流自动化工具应运而生,如命令行工具 aider 和桌面应用程序 16x Prompt,它们能够简化提示生成过程,帮助开发者从 LLM 中获取高质量代码。

  此外,Cursor、Continue 和 PearAI 等集成开发环境(IDE)及其扩展,能够将 LLM 无缝集成到开发环境中,为开发者提供更友好的交互界面,让他们在开发过程中能够更便捷地与 LLM 互动,实现编程任务的自动化。

  任务级自动化(L2)产品

  L3:项目自动化

  L3 代表着项目级自动化的早期阶段,像 Codegen、Sweep 和 Pythagora 这样的工具,具备分析项目需求并生成相关拉取请求的能力。

  L3 级工具的一个关键特性在于,它们能够通过与项目管理工具(如 Jira)和源代码平台(如 GitHub)集成,实现软件开发多个步骤的自动化,包括需求收集、代码生成、拉取请求创建和部署。

  然而,目前这些系统尚处于初级阶段,仅能管理较为简单的编码项目,并生成基本的代码片段。在实际应用中,还需要人工进行干预,以确保代码的质量和相关性,这在一定程度上限制了它们的自主性。

  另外,还有一些工具,如 Vercel 的 v0、Tempo Labs 的 Tempo 和 CerebrasCoder,能够帮助用户创建网站,但通常专注于软件技术栈中的某一部分,例如前端开发。

  项目级自动化(L3)产品

  L4:AI 软件工程师

  L4 标志着从人类驱动编码向 AI 驱动软件开发的关键转变,开发过程能够实现从产品需求到生产部署的完全自动化。

  这一级别的工具,如 Devin、Marblism 和 Cosine 的 Genie 等,旨在访问终端和部署工具,管理整个开发活动的流程。

  用 Marblism 制作的示例项目

  SWE-bench 验证排行榜(截至 2024 年 12 月 19 日)

  这些先进的系统不仅能够解读产品需求、管理代码部署,还能维护生产环境中的软件,充分体现了 AI 软件工程师的角色。

  它们的出现,能让非技术人员在短短几分钟内,就能从零开始创建一个功能完整的软件产品,大大降低了软件开发的门槛。

  AI 软件工程师(L4)产品

  L5:AI 开发团队

  在 L5 级别,AI 编程进入了一个全新的领域,可能涉及一个包含多个 AI 软件工程师的 AI 系统。这些 AI 代理能够协作完成项目,各自专注于软件开发的不同方面。

  微软的论文《AutoDev》提出,智能体能够从智能体调度器(Agent Scheduleer)接收目标和对话历史,并根据规则和动作配置做出响应。不过,该论文目前仅使用单个 GPT-4 智能体来进行评估。

  参考资料:https://arxiv.org/html/2403.08299v1

  这一类别中的另一个产品是 MGX,由 MetaGPT 团队设计,目前处于等待名单阶段。

  随着 GPT-5 预计在 2025 年发布,AI 开发团队的梦想正逐渐从蓝图走向现实。

  我们可以预见,在不久的将来,AI 系统能够复制整个软件开发团队,在软件创作的各个方面进行编程和协作,真正实现软件开发的高度自动化。

  AI 开发团队(L5)产品

  如何选择适合的 AI 编程工具?

  面对如此丰富多样的 AI 编程工具,开发者应如何选择呢?这需要依据自身的需求和项目的复杂程度来决定。

  如果仅仅是需要代码补全功能,那么 L1 级别的工具,如 GitHub Copilot,就能够满足需求。

  对于更复杂的任务,如功能开发和漏洞修复,可以使用 L2 级别的 LLM,如 ChatGPT 或 Claude 3,并结合工作流自动化工具,如 aider 或 16x Prompt。

  倘若你勇于尝试新事物,对项目级自动化感兴趣,那么 L3 级别的工具,如 Codegen 或 Sweep,将是一个不错的起点。

  开发者不必局限于使用单个级别的工具,完全可以根据实际需求,组合使用不同级别的工具。

  例如,在遇到简单的代码补全任务,能够在 5 秒钟内解决的,可使用 GitHub Copilot;而对于那些需要花费几分钟来精心设计提示的复杂任务,则可以借助 ChatGPT 和 16x Prompt 来处理。

  AI 在编程领域所扮演的角色,正经历着快速的演变。从最初仅能为开发者提供基本语法层面的辅助,到如今已深度渗透至软件开发生命周期的每一个环节,实现全流程的管理与赋能。

  随着 AI 技术的不断成熟,未来将会涌现出更加复杂、强大的工具,它们将彻底重塑编程领域,让开发者能够专注于高层次的任务,而将软件开发的常规工作交由 AI 来处理。

  从代码补全到全方位开发支持,AI 正在重新定义软件开发的未来。

  参考资料:

  https://prompt.16x.engineer/blog/ai-coding-l1-l5