mini-swe-agent
SWE-agent/mini-swe-agent加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,你在赶一个紧急功能上线,突然发现某个依赖库报错了。你抬头看了一圈办公室,同事们都下班了,没人能帮你看代码。你只能自己硬着头皮对着报错信息一行行排查。如果这时候有一个AI助手,能直接帮你读懂代码库、定位问题、甚至写出修复方案,你会怎样?
mini-swe-agent 就是来解决这个问题的——它是一个命令行AI软件工程智能体,专门用来自动解决 GitHub Issues 和命令行编程任务。你丢一个问题给它,它就能像一位资深工程师一样,克隆仓库、阅读代码、理解问题、编写修复方案。
2024年,普林斯顿大学和斯坦福大学的团队开发了 SWE-bench(软件工程基准测试集)和 SWE-agent(软件工程智能体),算是AI编程助手这个赛道的开创者之一。但SWE-agent本身代码量很大,依赖复杂,普通开发者很难直接上手。
于是团队问了自己一个尖锐的问题:如果把智能体做到极致简单——只有约100行Python代码——还能保持足够强的性能吗?
答案是:可以,而且性能出乎意料地好。
mini-swe-agent 由此诞生。它的核心理念是:与其在智能体框架上堆砌复杂工具,不如让大语言模型直接"裸用"Bash。不依赖特殊的工具调用接口,不需要复杂的轨迹管理,只需要一个简单的线性消息历史,加上 subprocess.run 执行命令。
mini-swe-agent 的架构极其清晰,分四层:
DefaultAgent):约100行代码,负责维护对话历史、管理步数/成本/时间限制、调用模型、解析响应。没有任何花哨的工具注册机制,只有最朴素的消息追加逻辑。LitellmModel等):通过 LiteLLM 支持几乎所有主流大模型——OpenAI GPT、Claude、Gemini、DeepSeek等。也可以对接 OpenRouter、Portkey 等代理服务。LocalEnvironment等):支持本地环境、Docker/Podman、Singularity/Apptainer、Bubblewrap 等多种沙箱隔离方式。本地执行使用 subprocess.run,每个命令完全独立,不依赖有状态的Shell会话。mini CLI 入口和 hello_world.py 示例脚本,一行命令即可启动。这种设计的精妙之处在于:把智能体的"决策能力"完全交给大模型,自己只负责执行。模型说"我要用 git clone 这个仓库",它就执行;模型说"我要用 grep 搜索关键字",它也执行。没有任何预定义的工具菜单限制。
实际使用起来,真的就三步:
# 方式1:一条命令直接跑(自动临时环境)
pip install uv && uvx mini-swe-agent
# 方式2:本地安装
pip install mini-swe-agent
mini
# 方式3:从源码开发
git clone https://github.com/SWE-agent/mini-swe-agent.git
cd mini-swe-agent && pip install -e .
mini
跑起来之后,你只需要给出一个任务描述,比如:"帮我修复这个仓库里的一个bug,issue链接是...",它就会自动开始工作——克隆代码、阅读README、定位问题、编写修复、运行测试。
在 SWE-bench Verified(业界最权威的软件工程AI基准测试)上,mini-swe-agent 用最简单的 Bash-only 策略,拿到了 >74% 的解决率,与功能复杂的 Claude Code 相当。更关键的是,它的启动速度远快于 Claude Code,非常适合需要快速批量评估模型的场景。
事实上,DeepSWE 基准测试显示,mini-swe-agent 在同样环境下,性能已经超越了 Claude Code 和 Codex。这也印证了团队的观点:2024年的复杂工具设计,在2025-2026年能力更强的大模型面前,很多已经不再必要。
已被 Meta、NVIDIA、IBM、Essential AI、Nebius、Anyscale 等顶级机构和多所顶尖高校采用。
虽然默认是命令行工具,但 mini-swe-agent 并不"简陋"。它原生支持多种沙箱隔离方案:
加上 LiteLLM 的模型支持,你可以用同一套配置,在本地用 GPT-4o 调试,换到服务器用 Claude 跑批量评估,切换成本极低。
需要坦诚地说几点:
mini-swe-agent 的出现,代表了AI编程助手领域的一个方向转变:从"给模型更多工具"到"给模型更少约束"。
过去一年,行业普遍认为好的编程智能体需要精心设计的工具系统、复杂的轨迹管理、专门的评测接口。但 mini-swe-agent 用事实证明,当模型足够强大时,那些"防护栏"很多是多余的——与其让模型在预设菜单里选工具,不如让它直接使用Shell的全部能力。
这个思路正在被越来越多的项目借鉴,也推动了"工具调用"范式向"自然语言执行"范式的回归。如果你的团队需要一个可快速集成、高度可定制、又能保持前沿性能的编程助手,mini-swe-agent 值得优先考虑。