100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型

搜索
AI-TNT
正文
资源拓展
100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型
2025-07-28 14:50

只用100行代码,打造最强轻量编程agent。


SWE-bench、SWE-agent原班人马再出手,推出全新开源项目——


mini-SWE-agent


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型



不依赖任何额外插件,仅通过基础命令即可运行。而且对模型没有限制,几乎兼容所有主流语言模型,支持直接在本地终端中部署和使用。


而在如此精简的架构下,仅凭100行核心代码轻松解决SWE-bench上65%的问题。


这个65%是啥水平呢?


也就和原版差不多吧~(关键人家还轻量啊)


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型


网友:厉害👍


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型



百行代码,实力不打折


SWE-agent是一个开源项目(16.8k GitHub Star),它的目标是让agent自动修复GitHub上真实项目中的代码Bug


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型



不过,原版的SWE-agent基于LangChain构建,从接受issue、理解问题、编辑代码、到提交PR,涉及多工具、多轮对话管理,任务流程繁琐。


除此之外,开发者要跑通还需要安装多个依赖,精调工具调用逻辑,而且项目代码动辄上千行,对模型、环境的耦合也比较强。


而随着语言模型性能越来越强大,构建一个有用的代理已经不再需要这些工具和接口了。


由此,团队开始思考:能否让SWE-agent小100倍,并保持原有的性能。


mini-SWE-agent由此而来。


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型


那么,相较于SWE-agent,mini-SWE-agent有什么不同呢?


极简代码和依赖:mini-SWE-agent本身仅约100行Python代码,加上环境、模型、脚本才共约200行,没有复杂的依赖关系。


取消工具调用接口:mini版本不集成专用的代码编辑、搜索等工具;它只使用操作系统的Bash环境执行命令。每一步由语言模型输出一个完整的shell命令,不通过独立的“tool call”协议,从而可兼容任何语言模型。


线性历史记录:agent的每一步都只是附加到消息中。


独立单步执行:每条命令通过Python独立执行,并非保持一个持续的shell会话,这使得在沙盒中执行操作变得非常简单,并且可以轻松扩展。


简化配置与接口:取消了SWE-agent依赖的复杂YAML配置;mini-swe-agent采用代码内置模板,并提供直观的命令行工具。用户可以通过mini命令快速启动代理,或使用mini-v启动可视化界面。


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型


多样的运行环境支持:除了本地Shell,mini-swe-agent还内置支持多种容器与虚拟化环境(如Docker、Podman、Singularity、Apptainer等),这意味着开发者可以在不同平台和容器中轻松部署,而无需额外修改代码。


保留高性能和工具:虽然架构极简,mini-swe-agent在SWE-bench验证集上仍能解决约65%的问题。同时,它附带批量推理(batchinference)、轨迹浏览器(trajectorybrowser)等工具,帮助用户进行大规模评测和决策分析。代理还提供可视化界面,方便开发者交互式地观察执行过程


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型


此外,对于应在何种场景下使用 SWE-agent 或 mini-SWE-agent,团队也根据不同的需求给出了建议:


mini-swe-agent更适合希望快速本地运行、追求简洁控制流和更稳定评估环境的用户。它非常轻量,适合用于微调(FT)或强化学习(RL)等实验,不容易陷入对复杂框架的过拟合。


如果你需要高度可配置的工具链、更复杂的历史状态管理,或希望通过修改YAML文件自由切换组件而无需动代码,那么功能更丰富的SWE-agent会是更合适的选择。


总体而言,mini-swe-agent体现了可读、方便、易扩展的开发理念。


对于日常开发者而言,它既可以作为简单的命令行工具使用。如在本地终端快速解决问题),也可以作为库被集成到其他Python应用中。


相比于重型框架,它降低了上手成本,让开发者可以像使用脚本一样灵活地“驾驭”智能代理。


One more thing


SWE-bench和SWE-agent是由John Yang、Carlos E. Jimenez、Alexander Wettig、Kilian Lieret、姚顺雨(OpenAI研究员,2015年毕业清华姚班)、Karthik Narasimhan和Ofir Press于2024年在普林斯顿大学发起的开源项目。


该项目推动了基于大型语言模型的软件工程代理(Software Engineering Agent)研究。


其中,SWE-bench一经发布后,就成为了评估大语言模型编程的经典benchmark,伴随SWE-agent一同提出的Agent‑Computer-Interface(ACI)则进一步定义了“智能体如何与计算机交互”的标准接口方式。


而这一杰出的想法最初仅仅来自一次20多分钟的讨论。


在Matthew Berman的播客节目上,Carlos E. Jimenez分享道:SWE-bench最初的想法源自他和John Yang在闲逛时的一次头脑风暴:


100行代码打造迷你编程Agent:能修复65%真实项目bug,适配所有大模型


他们意识到,GitHub不只是一个存储代码的地方,更是一个活跃的协作开发平台,充满了真实的软件工程过程:用户报告bug,开发者提交修复,社区公开审核和合入。


相比传统的编程竞赛,这些交互和修改才是真正代表“现实世界编程”的任务。于是他们设想,能否把这种开源协作的过程结构化下来,变成一种评估语言模型能力的标准流程?


这便催生了SWE-bench,一个基于GitHub上真实Issue与PullRequest构建的benchmark,用来测试LLM是否能像人类开发者一样,理解bug报告并修复代码。


这个系统不仅更接近现实,也让模型的“开发能力”变得可观察、可比较,而SWE-agent则是他们为这一评估任务设计的开源agent,目标就是成为能在SWE-bench上“修最多bug”的AI程序员。


项目主页:

[1]https://github.com/SWE-agent/mini-swe-agent

[2]https://github.com/SWE-agent/mini-swe-agent?tab=readme-ov-file


文章来自公众号“量子位”,作者“henry

1
AI代理

【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。

项目地址:https://github.com/browser-use/browser-use


2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner

添加客服微信openai178,进AITNT官方交流群
IOS下载
安卓下载
微信群
沪ICP备2023015588号