AI在软件开发领域掀起了巨大变革,从代码补全迈向全流程开发,其角色转变重塑了编程格局。如今,借鉴自动驾驶术语,AI编程工具被划分为L1到L5五个等级,每个等级都代表着不同程度的自动化发展。
L1级以GitHubCopilot为典型,聚焦于代码补全。在开发者面对重复繁琐的代码输入时,这类工具通过智能建议和补全功能,极大简化了编码流程。在当下的开发环境中,L1级代码补全工具极为普遍,为后续更先进的AI编程工具筑牢根基。
L2级工具着重于任务级自动化,像ChatGPT这类LLM便归属此列。它们擅长处理各类开发任务,能依据描述性提示开发新功能、修复漏洞以及重构代码。不过,使用LLM进行编码任务存在挑战,比如需要精心设计提示和相关源代码上下文才能生成高质量代码,手动创建提示既耗时又麻烦。为此,aider、16xPrompt等工作流自动化工具出现,简化提示生成过程,助力开发者获取高质量代码。此外,Cursor、Continue和PearAI等集成开发环境及其扩展,将LLM无缝融入开发环境,提供友好交互界面,方便开发者与LLM互动,实现编程任务自动化。
L3代表项目级自动化的初期阶段,Codegen、Sweep 和Pythagora等工具可分析项目需求并生成相关拉取请求。通过与项目管理工具(如Jira)和源代码平台(如GitHub)集成,实现软件开发多步骤自动化,包括需求收集、代码生成、拉取请求创建和部署。但目前这些系统尚处初级阶段,只能管理简单编码项目,生成基本代码片段,实际应用中还需人工干预确保代码质量和相关性,自主性受限。另外,Vercel的v0、TempoLabs的Tempo和CerebrasCoder等工具能帮助用户创建网站,不过通常专注于软件技术栈的某一部分,如前端开发。
L4标志着从人类驱动编码到AI驱动软件开发的关键转变,开发过程能从产品需求到生产部署完全自动化。Devin、Marblism和Cosine的Genie等工具,旨在访问终端和部署工具,管理整个开发活动流程。这些先进系统不仅能解读产品需求、管理代码部署,还能维护生产环境中的软件,充分展现AI软件工程师的角色。其出现让非技术人员几分钟内就能从零创建功能完整的软件产品,大大降低了软件开发门槛。
L5级别中,AI编程进入全新领域,可能涉及多个AI软件工程师协作的AI系统。微软论文《AutoDev》提出智能体的协作模式,不过目前仅用单个GPT-4智能体评估。MGX由MetaGPT团队设计,尚处等待名单阶段。随着GPT-5预计2025年发布,AI开发团队的设想正逐步成为现实,未来AI系统有望复制整个软件开发团队,实现软件开发高度自动化。
面对众多AI编程工具,开发者选择时需依据自身需求和项目复杂程度。仅需代码补全功能,L1级工具如GitHubCopilot即可满足;处理复杂任务,可选用L2级LLM结合工作流自动化工具;对项目级自动化感兴趣,L3级工具是不错起点。开发者也可根据实际情况组合使用不同级别工具,比如简单代码补全用GitHubCopilot,复杂任务借助ChatGPT和16xPrompt。总之,AI在编程领域角色不断演变,未来将有更强大工具涌现,重塑编程领域,让开发者专注高层次任务。