五个基于 AI Agent 的开源 AI 软件工程师

来自版块: 开发
64
0

如果你关注大模型,Devin——这个名字你肯定有听过,他是一位具有开创性的AI软件工程师,前段时间他正在人工智能领域掀起波澜。通过Devin,我们看到了LLM在软件开发方面的巨大潜力。经过一段时间的发展,程序员的工 ...

如果你关注大模型,Devin——这个名字你肯定有听过,他是一位具有开创性的AI软件工程师,前段时间他正在人工智能领域掀起波澜。

通过Devin,我们看到了LLM在软件开发方面的巨大潜力。经过一段时间的发展,程序员的工作还没有被替代。但大模型作为辅助工具,确实帮助程序员提高了工作效率。

这段时间我们又发现了几个开源AI Agent也有很强的软件开发能力,有望改变程序员的工作方式。

1.SWE-agent

https://github.com/princeton-nlp/SWE-agent

SWE-agent是一个革命性的工具,可以将GPT-4等语言模型(LM)转换为强大的软件工程代理。这些代理可以处理各种任务,例如:修复GitHub存储库中的bug、协助代码生成、重构代码等。

主要特性包括:

  • Bug修复:SWE-agent可以自动识别和修复代码中的bug,为开发人员节省宝贵的时间和精力。
  • 代码生成:代理可以基于自然语言描述生成代码片段和整个函数,加快开发工作流程。
  • 代码重构:SWE-agent可以分析代码并提出改进建议,以增强可读性,性能和可维护性。
  • 易于安装:SWE-agent提供多种安装选项,包括无需安装的基于浏览器的版本。
  • 丰富的配置:该工具可以在不修改代码的情况下进行广泛的自定义,允许用户根据自己的特定需求进行定制。

SWE-agent具有强大的功能和友好的用户界面,能够将繁琐的任务自动化,并提供智能协助,帮助开发人员专注于业务、创意和战略性的方面内容,有望彻底改变软件工程师的工作方式。

系统架构如下图所示:

2.Devika

https://github.com/stitionai/devika

Devika是一款AI软件开发助手,旨在帮助开发人员简化工作流程并提高生产力。凭借其自然语言处理功能,Devika可以理解并响应开发人员的查询,提供各种帮助。

Devika的主要功能包括:

  • 代码生成:Devika可以基于自然语言描述生成代码片段和整个函数,节省开发人员的时间和精力。
  • 代码说明:该助手可以用简单的术语解释复杂的代码概念和算法,使开发人员更容易理解和应用它们。
  • 自动化任务:Devika可以自动执行重复性任务,例如设置开发环境或运行测试,从而使开发人员能够专注于更重要的工作。
  • 个性化推荐:该助手从每个用户的偏好和编码风格中学习,为工具、库和最佳实践提供量身定制的建议。

3.OpenHands(原名OpenDevin)

https://github.com/All-Hands-AI/OpenHands

OpenHands一个由AI驱动的软件开发代理平台。OpenHands代理可以做任何人类开发人员可以做的事情:修改代码、运行命令、浏览网页、调用API,甚至可以从StackOverflow复制代码片段。旨在帮助开发人员完成从代码生成到项目管理的各种任务。OpenHands构建在大型语言模型之上,为开发人员提供了一个灵活且可扩展的平台,以构建自己的AI驱动工具。

OpenHands的主要功能特性:

  • 模块化架构:模块化设计支持开发人员轻松添加新功能,并根据其特定需求定制助手。
  • 多语言支持:该助手可以理解和生成多种编程语言的代码,使其对从事不同项目的开发人员非常有用。
  • 可扩展的基础架构:建立在可扩展的基础设施上,使其能够处理大量请求并支持不断增长的用户群。

OpenHands系统架构如下图所示:

4.GPT-Pilot

https://github.com/Pythagora-io/gpt-pilot/

GPT-Pilot是一个用于软件开发的对话式AI助手,旨在帮助软件开发人员在整个开发生命周期中提高效率。GPT-Pilot使用大型语言模型构建,可以参与自然语言对话,GPT Pilot不只是生成代码,它还能构建应用程序。

GPT-Pilot的主要特性:

  • 对话界面:GPT-Pilot使用对话界面,允许开发人员以自然和直观的方式与助手进行交互。
  • 多模式支持:该助手可以处理各种输入类型,包括代码段、图像和文件,因此可用于各种开发任务。
  • 上下文理解:GPT-Pilot在整个对话中保持上下文,允许更连贯和相关的响应。
  • 持续学习:助手从每次交互中学习,随着时间的推移提高其知识和能力,以帮助开发人员。

以下是GPT Pilot创建应用程序的步骤:

  • 输入应用程序名称和描述。
  • 产品所有者代理就像在真实的生活中一样,什么也不做。:)
  • 如果项目描述不够好,规范编写者代理会问几个问题来更好地理解需求。
  • 架构师代理编写将用于应用程序的技术,并检查计算机上是否安装了所有技术,如果没有,则安装它们。
  • 技术主管代理编写开发人员必须实现的开发任务。
  • 开发人员代理接受每个任务,并写下实现它需要做什么。描述是人类可读的形式。
  • Code Monkey代理获取Developer的描述和现有文件并实现更改。
  • Reviewer代理会检查任务的每一步,如果有错误,Reviewer会将其发送回Code Monkey。
  • 当出现问题时,搜索引擎代理可以帮助您向GPT Pilot提供良好的反馈。
  • 探员讨厌见到他,但当事情变糟时,他是你最好的朋友。
  • 技术写作代理为项目编写文档。

5.Agent Zero(零号特工)

https://github.com/frdel/agent-zero

Agent Zero是一个灵活的人工智能代理,旨在帮助软件开发人员完成从代码生成到项目管理的各种任务。Agent Zero使用先进的机器学习技术构建,可以适应每个用户的特定需求和偏好。

Agent Zero的主要特性:

  • 灵活的架构:Agent Zero的模块化设计允许开发人员轻松自定义代理的功能和行为,以满足他们的特定需求。
  • 个性化帮助:代理从每个用户的交互和偏好中学习,随着时间的推移提供量身定制的建议和帮助。
  • 多模式支持:Agent Zero可以处理各种输入类型,包括代码段、自然语言描述和文件,这使得它可以用于各种开发任务。
  • 可扩展的基础架构:该代理构建在可扩展的基础设施上,允许它处理大量请求并支持不断增长的用户群。





文章来源:51CTO andflow    作者:andflow
原文链接:https://www.51cto.com/article/797354.html
已注明著作权归属所有及作者,非用于商业用途。文章
素材均来自网络,如有侵权请告知删除。


鲜花

握手

雷人

路过

鸡蛋
2024-9-21 17:40

热文

  • 3 天
  • 7天
返回顶部