目录
智能体 - 计算机接口 (ACI)
安装与使用
首页 科技周边 人工智能 开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

Apr 03, 2024 pm 03:01 PM
python docker ai 训练

想了解更多AIGC的内容,请访问:

51CTO AI.x社区

https://www.51cto.com/aigc/

最近,有很多人在为 AI 代替自己的工作而担忧。

上个月火遍AI圈的「首位 AI 程序员」Devin,利用大模型能力已经掌握了全栈技能,仅需要人类给出自然语言指令,就可以自动完成复杂的代码任务。

Devin展示的工具能力非常惊艳,特别是这款自走闭源路线的创业公司。目前只有少数人才能使用这种内测名额的人才能够拥有。

本周二,来自普林斯顿大学NLP组的研究人员发布了SWE-agent——一个开源版AI程序员,不到一天就获得了上千的GitHub Star数量。这个SWE-agent是基于深度学习的技术,能够自动编写高效且可靠的代码。他的发布引起了广泛的关注,许多开发者对他的技术和性能表示了高度的认可。这些成就也证明了NLP领域在AI研

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

SWE-agent 是一款用于自主解决 GitHub 存储库中问题的新系统。它在 SWE-bench 上获得了与 Devin 相似的准确度,平均耗时为 93 秒。

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

  • 项目网站:https://swe-agent.com/
  • GitHub:https://github.com/princeton-nlp/SWE-agent

该项目的作者 John Yang 表示,相关论文的预印版也将在 4 月 10 号上传。

从原理上看,SWE-agent 通过将大模型(例如 GPT-4)转变为软件工程智能体,可以修复真实 GitHub 存储库中的错误和问题。

在完整的 SWE-bench 测试集上,SWE-agent 解决了 12.29% 的问题,实现了 SOTA 性能。

开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star

为了提供开发过程中的自动化,SWE-agent 通过与专用终端交互来工作,它可以打开、搜索文件内容,使用自动语法检查、编辑特定行,也可以编写并执行测试。

该项目的开发者精心设计了 UI 界面,并在 GitHub 上进行了介绍。

智能体 - 计算机接口 (ACI)

研究团队设计了简单的以大模型(LM)为中心的命令和反馈格式,使大模型能够更方便地浏览存储库、查看、编辑和执行代码文件,这被称为智能体 - 计算机接口 (ACI)。研究团队还构建了 SWE 智能体存储库,以便轻松迭代存储库级编码智能体的 ACI 设计。

就像语言模型需要良好的提示工程(prompt engineering)一样,良好的 ACI 设计在使用智能体时会带来更好的结果。没有经过良好调整的 ACI 的基线智能体的表现比 SWE-agent 差得多。

SWE-agent 包含研究团队在智能体 - 计算机接口设计过程中发现的非常有用的功能,包括:

1. 添加一个在发出编辑命令时运行的 linter,如果代码语法不正确,则不会让编辑命令通过。

2. 为智能体提供一个专门构建的文件查看器。研究团队发现此文件查看器在每轮仅显示 100 行时效果最佳,并且该文件编辑器具有上下滚动以及在文件中执行搜索的命令。

3. 为智能体提供专门构建的全目录字符串搜索命令。研究团队发现该工具简洁地列出匹配项非常重要 —— 只需列出至少有一个匹配项的每个文件。该研究表明,向模型显示有关每个匹配的更多上下文对于模型来说太混乱了。

4. 当命令的输出为空时,返回一条消息:「您的命令已成功运行,但未产生任何输出」。

未来发布的论文将详述更多信息。

安装与使用

要使用 SWE-agent,首先要设置好如下条件:

1. 安装 Docker,并在本地启动 Docker;

2. 安装 Miniconda,并使用 conda env create -fenvironment.yml 创建 swe-agent 环境;

3. 使用 conda activate swe-agent 激活;

4. 运行 ./setup.sh 创建 swe-agent docker 镜像;

5. 在此存储库的根目录下创建一个 keys.cfg 文件并填写以下内容:

OPENAI_API_KEY: 'OpenAI API Key Here if using OpenAI Model (optional)'ANTHROPIC_API_KEY: 'Anthropic API Key Here if using Anthropic Model (optional)'GITHUB_TOKEN: 'GitHub Token Here (required)'
登录后复制

SWE-agent pipeline 包含两个步骤:

  • 第一步:SWE-agent 接收输入的 GitHub 问题,并返回尝试修复它的拉取请求(pull request);
  • 第二步:评估拉取请求以验证它确实解决了问题(目前仅适用于 SWE-bench 基准测试中的问题)。

如果想在整个 SWE-bench 上运行和评估,最简单的方法是使用 x86 机器。

python run.py --model_name gpt4 \--data_path https://github.com/pvlib/pvlib-python/issues/1603 --config_file config/default_from_url.yaml
登录后复制
python run.py --model_name gpt4 \--per_instance_cost_limit 2.00 \--config_file ./config/default.yaml
登录后复制

如果想运行 SWE-bench 中的单个问题,可以使用 --instance_filter:

python run.py --model_name gpt4 \--instance_filter marshmallow-code__marshmallow-1359
登录后复制

想了解更多AIGC的内容,请访问:

51CTO AI.x社区

https://www.51cto.com/aigc/

以上是开源版AI程序员来了:GPT-4加持,能力比肩Devin,一天1.4k Star的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Docker使用gpu服务器就重启 Docker使用gpu服务器就重启 Apr 15, 2025 am 06:48 AM

在 GPU 服务器上使用 Docker 时服务器重启是由以下原因引起的:CUDA 版本冲突驱动程序问题内存分配错误解决方法:确保 CUDA 版本匹配更新驱动程序限制 GPU 内存分配

docker应用怎么配置域名访问 docker应用怎么配置域名访问 Apr 15, 2025 am 06:51 AM

在 Docker 环境中配置应用程序访问特定域名需要以下步骤:创建用户自定义网络,并使用 --network 选项指定该网络。运行容器时,使用 --publish 选项将应用程序容器的端口映射到主机端口。在主机系统的 /etc/hosts 文件中添加 DNS 记录,将自定义域名解析为容器的 IP 地址。即可使用自定义域名访问应用程序。

docker怎么导入镜像 docker怎么导入镜像 Apr 15, 2025 am 08:24 AM

Docker 中导入镜像涉及从远程仓库获取预构建的容器映像,并将其导入本地仓库。步骤包括:拉取镜像(docker pull)列出已拉取镜像(docker images)导入镜像到本地仓库(docker import)

Docker使用什么平台来管理公开的镜像 Docker使用什么平台来管理公开的镜像 Apr 15, 2025 am 07:06 AM

Docker 镜像托管平台用于管理和存储 Docker 镜像,方便开发者和用户访问和使用预构建的软件环境。常见的平台包括:Docker Hub:由 Docker 官方维护,拥有庞大的镜像库。GitHub Container Registry:集成了 GitHub 生态系统。Google Container Registry:由 Google Cloud Platform 托管。Amazon Elastic Container Registry:由 AWS 托管。Quay.io:由 Red Hat

docker拉取镜像怎么设置 docker拉取镜像怎么设置 Apr 15, 2025 am 08:33 AM

Docker 拉取镜像时可自定义设置,包括:指定镜像版本、镜像仓库、限速拉取、身份验证和拉取无标签镜像。这些设置可通过 docker pull 命令及其选项实现,包括 --registry、--limit-rate、--auth 和 -a。

docker网络连接怎么停止 docker网络连接怎么停止 Apr 15, 2025 am 10:21 AM

要停止 Docker 网络连接,请按照以下步骤操作:1. 确定要停止的网络名称;2. 使用 docker network stop 命令停止网络;3. 检查停止状态,以验证网络已停止。

Docker使用macvlan Docker使用macvlan Apr 15, 2025 am 06:57 AM

Docker中的macvlan是一种Linux内核模块,允许容器拥有自己的MAC地址,实现网络隔离、性能提升和与物理网络直接交互。使用macvlan需要:1. 安装内核模块;2. 创建macvlan网络;3. 分配IP地址段;4. 在容器创建时指定macvlan网络;5. 验证连接。

docker应用开发 docker应用开发 Apr 15, 2025 am 07:03 AM

Docker 应用开发使用容器打包和部署应用程序,从而提供隔离、可移植性、一致性、快速部署和版本控制。其流程包括编写代码、创建 Dockerfile、构建镜像、运行容器和部署。此外,Docker 卷可用于数据持久性,网络可实现容器间的安全通信,编排工具可管理大规模部署。

See all articles