编译丨诺亚
出品 | 51CTO技术栈(微信号:blog51cto)
上个月,成立不久的初创公司Cognition推出了全球首位“AI工程师”——Devin。
凭借自动生成代码、调试错误及自行部署应用等能力,Devin充分实现了软件开发过程的部分自动化,因此一经发布就引起了热议。
当然,提到AI自动化编程,Devin并不是唯一选择。下面将盘点六种Devin的替代方案,供君参考。
1.Devika
Devika是由Lyminal和Stition.AI创始人Mufeed VH(Hamzakutty)研发的一款开源AI软件工程师。该系统能够理解人类指令,将其拆解成具体任务,并通过自主研究和编写代码来达成预设目标。
与Devin相比,Devika力求成为一个有竞争力的开源替代方案。它运用了LLMs、规划与推理算法以及网络浏览功能,能够智能地进行软件开发工作。
Devika的一大亮点在于其充当AI配对编程角色的能力,能在复杂的编码任务中大幅减少对人力介入的需求。这意味着它可以协助开发者在遇到复杂问题时共同完成编程工作,提升开发效率。
Devika能够简化各种软件开发流程,包括创建新特性、调试代码,乃至从零开始构建整个项目,从而有效提高开发工作的整体效能。
Devin与Devika之间的主要区别除了后者是开源性质之外,还在于Devika所采用的基础技术不同——Mufeed在构建Devika时选择了Claude 3而非GPT-4作为核心技术。这一选择可能影响到两者在处理软件开发任务时的具体表现和能力范围。
2.Replit Code Repair
Replit的Code Repair是一款低延迟的代码修复AI工具。它利用了基于大量代码示例及其相应修复方案训练的大型语言模型。这种LLM能够分析你的代码,并识别潜在的错误或低效之处。
Replit团队将一个规模达70亿参数的代码LLM进行了微调,使其行为模式模拟LSP(Language Server Protocol)代码操作。
其特殊之处在于训练数据——精心混合了来自真实世界的错误案例(在Replit平台上收集)以及通过合成方式生成的代码修复方案。
Replit采取的方法包括使用操作转换(Operational Transformations,OTs)和会话事件,构建包含(代码,诊断)对的数据集。他们利用大型预训练代码模型合成差异,并针对代码修复任务对其进行精细调整优化。
3.SWE Agent
SWE Agent 是一款开源的软件工程助手,与Devin和Devika类似,由普林斯顿大学John Yang、Carlos E. Jimenez和Alexander Wettig带领的团队开发。该工具旨在将诸如GPT-4这样的语言模型转变为能够在真实GitHub仓库中修复bug和处理问题的软件工程代理。
在完整的SWE-bench测试集中,SWE-Agent成功解决了其中12.29%的问题。SWE-Agent之所以能取得这样的成果,关键在于其创新的Agent-Computer Interface(ACI,代理-计算机接口)。这一接口极大地优化了语言模型与代码仓库之间的交互流程。
不同于传统的做法,SWE-Agent的ACI设计简化了命令和反馈格式,使得模型更容易在仓库内部导航、编辑及执行代码文件。
开发者可以通过Docker和Miniconda轻松设置此工具,并按照项目文档中详述的简单安装和配置步骤来完成部署工作。
4.OpenDevin
OpenDevin,顾名思义,是一项旨在模仿Devin的开源项目。如同Devin一样,OpenDevin期望能够处理软件开发的各种方面,包括代码生成、调试和部署自动化等功能。
该项目的alpha版本已经可供测试,展示了其处理复杂任务并与用户协作的能力。
OpenDevin项目的主要关注点在于实现一系列关键里程碑,例如打造带有聊天和命令功能的用户友好型界面,构建稳定的支持命令执行的后端架构,不断提升AI代理的功能性能,并建立一套完善的评估体系。
5.MetaGPT
MetaGPT是一个多智能体框架,它本身就像一家虚拟的软件公司。该系统接受一条简洁的需求描述,并能输出全面的用户故事、竞品分析、需求规格说明、数据结构设计、应用程序接口(APIs)定义以及相关文档。
在MetaGPT内部集成了产品经理、架构师、项目经理和工程师等多种角色功能,这些“角色”遵循精心制定的标准操作程序(Standard Operating Procedures, SOPs)。
通过模拟实际工作流程中的各个环节,MetaGPT能够自动生成一整套软件开发前期所需的关键材料,从而极大地提升软件开发过程的效率和标准化程度。
6.ChatDev
ChatDev与MetaGPT相似,其运行同样基于一系列扮演不同角色的智能代理,包括首席执行官、首席产品官、首席技术官、程序员、测试员以及美术设计师等。
这些智能代理共同构成了一个多智能体组织结构,并以“通过编程革新数字世界”为使命紧密相连。它们在ChatDev的特定职能工作坊中协作互动,参与从设计构思、编码实现、测试验证到文档编撰等一系列活动。
这意味着ChatDev能够模拟现实世界的软件开发全过程,通过自动化和智能化的方式完成复杂的项目任务,从而有效地提高开发速度、优化产品质量并确保各个阶段工作的连贯性和一致性。
综上,这些自动化编程平台都正在利用AI的力量重新定义软件开发行业的生产力与创新模式。
参考链接:https://analyticsindiamag.com/top-6-devin-alternatives-to-automate-your-coding-tasks/