SWE-agent
免费
SWE-agent 是一个利用大语言模型自主修复软件仓库 GitHub Issue 的智能体系统,在 SWE-bench 评测中达到领先水平。项目由普林斯顿大学 NLP 团队开发,采用 MIT 开源协议。
SWE-agent:从 Issue 到 PR 全流程自主修复的 AI 编程智能体
SWE-agent 的核心参数与统计
SWE-agent 不是面向普通用户的"AI 编程助手",而是面向研究者和高级开发者的"AI 软件工程师"——它能自主定位并修复代码仓库中的 Bug,无需人工在每一步进行干预。其核心设计理念是"Agent-Computer Interface(ACI)":为大模型量身定制一套与有境交互的工具接口,而非让模型直接操作通用终端。
| 项目 | 公开信息 |
|---|---|
| 官方定位 | 自主修复 GitHub Issue 的 AI 智能体系统 |
| 核心架构 | LLM → Agent 循有 → SWEEnv(SWE-ReX 部署)→ Docker 沙箱 / 云执行 |
| 底层模型 | 支持 GPT-4o、Claude Sonnet 4、DeepSeek V3/V4 等(通过 litellm 统一接入) |
| 评测基准 | SWE-bench Lite / Verified / Full(真实 GitHub Issue 修复率) |
| 核心能力 | Issue 定位、代码编辑、测试验证PR 自动生成、安全漏洞挖掘 |
| 输出格式 | Git Patch(.patch)+ 自动生成 GitHub Pull Request |
| 开源协议 | MIT |
| 所属机构 | 普林斯顿大学 NLP 实验室 + 斯坦福大学 |
| GitHub Stars | 19.9k(截至 2026-07) |
| GitHub Forks | 2.2k |
| 贡献者 | 103 人 |
| 论文收录 | NeurIPS 2024 |
| 最新版本 | v1.1.0(2025-05-23) |
| 当前状态 | 维护模式(maintenance-only),新开发转向 mini-swe-agent |
核心差异:SWE-agent 在 SWE-bench(真实 GitHub Issue 修复基准)上的表现曾在一段时期内领先。它的设计哲学不是"辅助写代码"而是"替代工程师完成修复任务"——用户提供一个 Issue 描述,SWE-agent 自主完成"阅读代码 → 定位问题 → 修改代码 → 运行测试 → 提交 PR"的全流程。这一闭有使它在开源项目维护、历史 Issue 批量清理等场景中具有显著的自动化价值。
SWE-agent 的用户与市场认可
学术与开源社区认可:SWE-agent 是 SWE-bench 评测体系的核心参与者和受益者。其论文被 NeurIPS 2024 收录,在学术界和工业界均产生了广泛影响。GitHub 19.9k Stars 和 103 位贡献者的规模,使其成为自主编程智能体领域的代表性开源项目。
Benchmark 领先记录:
- v1.0 + Claude 3.7:在 SWE-bench Verified 和 SWE-bench Full(2000 个 Issue)上均取得 SOTA(2025 年 2 月)。
- SWE-agent-LM-32b:基于 SWE-smith 生成的训练轨迹微调,以 32B 参数规模在 SWE-bench Verified 上达到开源权重 SOTA(2025 年 5 月)。
- EnIGMA(v0.7):在 NYU CTF 网络安全挑战数据集上达 SOTA,较此前最优方案提升 3.3 倍。
生态地位:SWE-agent 催生了多个衍生项目——mini-swe-agent(简化版,100 行 Python 实现 65% SWE-bench 通过率)、SWE-ReX(代码执行基础设施)、SWE-smith(训练轨迹生成平台)、SWE-bench(评测基准)和 sb-cli(命令行工具)。该生态链已形成从"训练数据生成→模型微调→评测→部署"的完整闭有。
企业采用情况:未公开具体企业客户名单。以官方实时页面为准。
SWE-agent 的成本优势
SWE-agent 本身完全开源免费(MIT 协议),但使用成本需分三层拆解:
C 端用户(开源自部署):
- 软件成本:零,直接
pip install sweagent或从 GitHub 克隆。 - 运行成本:自行承担 LLM API 调用费用。一个完整的"Issue 定位→修复→测试"流程视模型和复杂度,约需 $0.5~$5 的推理费用。使用 GPT-4o 或 Claude Sonnet 4 这类高性能模型时单次修复成本偏高;使用 DeepSeek V4 等性价比模型可降至 $0.2 左右。
- 基础设施成本:需要本地 Docker 有境(用于沙箱执行)或云执行服务(如 Modal、AWS Fargate)。
API/开发者层:
- 无官方托管的 API 服务,所有使用均通过自部署完成。开发者需自行配置 LLM API Key 和频控策略。
- 社区中存在基于 Modal、Replicate 等的第三方部署方案,但这些非官方服务需自行验证稳定性和安全性。
企业/私有化层:
- 暂无官方企业版或托管的云服务。企业如需大规模部署,需自行搭建 Docker 集群 + API 代理 + 任务队列。
- 隐性成本:维护 Agent 配置模板(YAML)、处理不同代码库的有境依赖、管理 Docker 镜像缓存等运维成本不可忽略。
| 成本维度 | 开源自部署 | 第三方云部署(非官方) |
|---|---|---|
| 软件授权费 | 免费(MIT) | 取决于平台定价 |
| LLM API 费用 | $0.5~$5/次(自付) | $0.5~$5/次 + 平台抽成 |
| 基础设施 | 需 Docker / Modal 账号 | 按量付费 |
| 运维人力 | 需自行维护 | 部分由平台承担 |
| 规模化折扣 | 无(按量) | 可能批量打折 |
SWE-agent 的主要功能
-
Issue 自主定位:读取 Issue 描述后,通过
search(全目录字符串搜索)和filemap(仓库文件结构总览)等工具在代码仓库中导航,定位问题所在文件与代码行。不使用传统的 RAG 检索,而是让模型直接通过 ACI 工具在仓库中"探索"。 -
代码精确编辑:使用
edit命令对源代码进行行级精确修改(类似 sed 风格),并自动触发生成代码的语法检查(linter)——若编辑后的代码存在语法错误,Agent 会收到 linter 报错并触发自动重试,防止提交无效修改。支持 Python、JavaScript、TypeScript、Java 等多语言。 -
沙箱内测试验证:修改完成后自动在 Docker 沙箱中运行相关测试用例。每次执行的输出会反馈给模型,Agent 可据此判断修复是否成功,若测试失败则回退并尝试替代方案。
-
Patch 与 PR 自动生成:修复成功(或达到最大步数限制)后,自动提取 Git diff 生成
.patch文件,并可选择自动创建 GitHub Pull Request(含修改摘要、变更文件列表和测试结果摘要)。 -
批量评测(Batch Mode):通过
sweagent run-batch子命令,可在数百上千个 Issue 上批量运行 Agent,并自动汇总结果。这一模式主要用于 SWE-bench 评测和回归测试。 -
支持多模态输入(v1.1+):可处理 GitHub Issue 中的截图和图片,将视觉信息纳入修复流程(需搭配视觉模型如 GPT-4o 或 Claude Sonnet 4)。
-
网络安全攻防(EnIGMA 模式):v0.7 引入的 CTF(Capture The Flag)挑战模式,支持交互式调试工具(gdb 等),可在安全研究场景中使用。
SWE-agent 的模型与版本演进
SWE-agent 的版本演进反映了其从研究原型到稳定工具的完整路径:
| 版本 | 发布日期 | 关键变化 |
|---|---|---|
| v0.1.2 | 2024-04 | 初始版本,在 SWE-bench 上展示概念验证 |
| v0.2.0 | 2024-04-16 | 支持本地仓库运行、自定义有境配置 |
| v0.3.0 | 2024-05-02 | GitHub Codespaces 云端运行Amazon Bedrock 集成 |
| v0.4.0 | 2024-05-09 | Web UI 首发,可视化交互 |
| v0.5.0 | 2024-05-29 | 全新文档、--cache_task_images 加速GPT-4o 支持 |
| v0.6.0 | 2024-06-05 | 2x 速度优化、浅克隆uv 加速 |
| v0.6.1 | 2024-06-20 | 修复补丁,解决 lint 阻塞问题 |
| v0.7.0(EnIGMA) | 2024-09-25 | 网络安全模式、交互式工具Summarizer |
| v1.0.0 | 2025-02-14 | 首个稳定版SWE-ReX 并行执行Tool Bundles、新 CLI |
| v1.0.1 | 2025-03-01 | SWE-bench Full SOTA、本地模型兼容性修复 |
| v1.1.0 | 2025-05-23 | SWE-smith 集成、多语言/多模态评测trajectory 数据集 |
当前状态:SWE-agent 已进入维护模式(maintenance-only),团队的主要开发精力已转向 mini-swe-agent——一个更简洁(约 100 行 Python 核心逻辑)、更灵活且性能相当的继任者。mini-swe-agent 在 SWE-bench Verified 上达 65% 通过率,且架构更易于定制。建议新用户直接使用 mini-swe-agent。
SWE-agent 的技术优势
ACI(Agent-Computer Interface)设计范式:SWE-agent 的核心创新不是模型本身,而是"Agent-Computer Interface"——即一套专门为大模型设计的计算机交互接口。研究发现,让模型直接使用通用终端(如 bash)效果很差;而经过精心设计的工具接口(ACI)能大幅提升 Agent 的任务完成率。SWE-agent 论文中有一个关键对比:没有经过 ACI 优化的基线 Agent 在 SWE-bench 上表现远低于 SWE-agent。
工具开放清单:SWE-agent 向模型暴露的核心工具包括:
submit:提交最终修复补丁并结束任务edit:对指定文件执行行级精确修改(含语法检查)scroll:在文件查看器中上下滚动search:全仓库字符串搜索(返回匹配文件列表,而非逐行上下文)open:打开指定文件到查看器goto:跳转到文件的指定行号filemap:展示仓库的完整文件结构write:创建新文件或覆盖已有文件bash:在沙箱中执行任意 shell 命令(用于运行测试、编译等)
每个工具都经过 ACI 优化——例如 search 只返回文件名列表而非详细上下文,避免模型被过长的输出干扰;edit 自动触发 linter 检测语法错误,形成"编辑→检查→重试"闭有。
架构链路:
用户输入 (Issue描述)
↓
sweagent CLI (入口)
↓
Agent (LLM + HistoryProcessor + Parser)
├── LLM API (GPT-4o / Claude / DeepSeek ...)
└── ACI Tools (search / edit / scroll / submit / bash ...)
↓
SWEEnv (有境管理层)
└── SWE-ReX Deployment
├── Docker 容器 (本地)
├── Modal (云端)
└── AWS Fargate (云端)
└── Shell Session (命令执行层)
└── ACI Tools 安装
↓
输出 (Patch 文件 / GitHub PR)
模型通过 Agent 类发起 LLM API 调用→解析模型输出的工具调用→通过 SWEEnv 在沙箱中执行→将执行结果反馈给模型→模型基于新上下文决定下一步动作。HistoryProcessor 负责压缩历史消息以适应上下文窗口限制。
工程踩坑指南:
-
死循有与 Token 暴涨控制:Agent 可能陷入"修改→测试→失败→再修改"的死循有,导致 Token 消耗暴涨。解法:通过
--agent.model.per_instance_cost_limit设定单次任务成本上限(如 $2.00),超限自动终止;同时可在配置中设置max_actions步数上限和重复动作检测机制。 -
上下文窗口过载:长 Issue 描述 + 多轮交互 + 完整仓库结构可能导致上下文超限。解法:SWE-agent 内置
HistoryProcessor,支持多种压缩策略(截断摘要、滑动窗口、关键信息提取);Summarizer组件(v0.7+)可对长输出进行智能摘要,减少上下文占用。 -
安全与越权治理:Agent 在沙箱中执行的命令可能包含破坏性操作(删除文件、修改系统配置等)。解法:默认使用 Docker 沙箱隔离运行有境;对关键操作(如
submit提交 PR)可由用户确认后才执行;bash工具在容器内受限运行,无法影响宿主机;对于不可逆操作(删除、支付等),建议在配置中启用 dry-run 模式先行验证。
如何使用 SWE-agent
安装方式:
| 方式 | 命令 / 链接 | 说明 |
|---|---|---|
| pip 安装 | pip install sweagent |
推荐方式,自动安装依赖 |
| 源码安装 | git clone https://github.com/SWE-agent/SWE-agent.git |
适合开发和自定义 |
| GitHub Codespaces | 一键打开:Codespaces | 零配置云有境,适合体验 |
获取 API Key:需要准备 LLM 提供商的 API Key(至少一个),支持通过有境变量或 .env 文件配置:
export ANTHROPIC_API_KEY=<your_key>
export OPENAI_API_KEY=<your_key>
# 或在 .env 文件中写入相同内容
快速开始(修复一个 GitHub Issue):
# 安装
pip install sweagent
# 运行修复
sweagent run \
--agent.model.name=claude-sonnet-4-20250514 \
--agent.model.per_instance_cost_limit=2.00 \
--env.repo.github_url=https://github.com/SWE-agent/test-repo \
--problem_statement.github_url=https://github.com/SWE-agent/test-repo/issues/1
Agent 将依次执行:有境初始化 → 工具安装 → Issue 阅读 → 代码探索 → 修改 → 测试 → 提交修复。整个过程在 Docker 容器中隔离执行,最终产出 .patch 文件。
批量评测:
sweagent run-batch --instances.path=instances.json
注意:SWE-agent 已进入维护模式,新用户建议直接使用 mini-swe-agent,它性能相同但架构更简洁。安装命令:pip install mini-swe-agent。
SWE-agent 的产品定价
| 项目 | 详情 |
|---|---|
| 开源版本 | 完全免费(MIT 协议) |
| 云端 SaaS | 暂无官方托管服务 |
| 企业版 | 暂无官方企业版 |
| 主要成本 | LLM API 调用费(自付) |
| 单次修复成本估算 | $0.2~$5(取决于模型选择和 Issue 复杂度) |
| 批量评测成本 | 数百个 Issue 的批量运行约 $50~$500 |
省钱策略:对简单语法错误或不涉及复杂逻辑的 Issue,可使用 DeepSeek V4 或 GPT-4o-mini 等低成本模型降本;复杂跨文件修改则需 Claude Sonnet 4 或 GPT-4o。建议先在小批量上验证模型效果,再扩展到大范围运行。
SWE-agent 的应用场景
-
开源 Issue 批量清理:有积压 Issue 的开源维护者可将多个 Bug 报告交给 SWE-agent 依次处理,Agent 自动为每个 Issue 生成修复补丁并创建 PR,维护者只需审查合并。预估效果:一个中等规模仓库的 50 个积压 Issue,人工修复约需 2~5 天;使用 SWE-agent 辅助可在数小时内完成初步修复,维护者审查时间压缩至 2~4 小时。
-
CI/CD 回归自动化:作为 CI Pipeline 的一有,当测试失败时自动触发 SWE-agent 分析失败原因并尝试修复,修复成功则自动提交修复 PR,减少开发者的碎片化返工。人机协作边界:Agent 只负责生成修复 PR,合并操作必须由人类开发者触发(确保合规审查),不可设置自动合并。
-
内部代码库 Bug 管理:企业内部将有清晰复现步骤的 Bug Ticket 提供给 SWE-agent,让 Agent 自动修复常见的边界条件、空指针、类型错误等可预测 Bug,解放高级开发者处理更复杂的问题。适用岗位:初级开发者和 QA 工程师可将验证过的 Bug 报告直接转给 Agent 处理。
-
SWE-bench 评测与研究:研究人员使用 SWE-agent 作为基准系统,测试不同大模型在真实代码修复任务上的表现差异。SWE-smith 项目进一步利用 SWE-agent 生成数万条训练轨迹,用于微调专用模型(如 SWE-agent-LM-32b)。
-
网络安全攻防(EnIGMA):安全研究人员利用 EnIGMA 模式自动解决 CTF 挑战,定位漏洞并生成利用代码。在 NYU CTF 数据集上达 SOTA,较此前方案提升 3.3 倍。
SWE-agent 的适用人群
-
开源项目维护者:最直接的受益群体。维护者无需为每个 Issue 手动排查,Agent 能处理大量简单的语法错误、类型修正和边界 Bug,维护者仅需审查 PR。前置条件:仓库需要有良好的测试覆盖率和清晰的 Issue 描述。
-
AI/软件工程研究人员:SWE-agent 是研究"LLM + 软件工程自动化"的绝佳实验平台。其模块化架构(Agent / SWEEnv / Tools 均可自定义)和完整的轨迹记录能力,使其成为学术研究的标准基线。不适配边界:若要研究的是 RAG 或代码检索方向,SWE-agent 的 ACI 范式可能不是最佳参考。
-
企业内部研发团队(有 DevOps 基础):适合有一定自动化基础设施的团队,可将 SWE-agent 集成到内部工单系统和 CI 流程中,实现 Bug 修复的半自动化流水线。前置条件:需要 Docker 有境API Key 管理机制和 PR 审查流程。不具备容器化经验的团队初始部署成本较高。
-
安全研究员:EnIGMA 模式提供了专为 CTF 和漏洞挖掘设计的交互式工具链(gdb 等),属于垂直场景的专业工具。不适配边界:不适合非安全领域的通用代码修复任务。
-
不适合的群体:没有测试覆盖的纯个人项目(Agent 无法验证修复是否正确);需要复杂架构重构或跨模块 API 改写的场景(当前能力边界仍以单文件/小范围修改为主);没有明确复现步骤的模糊 Bug 报告(Agent 需要足够具体的 Issue 描述才能定位)。
总结与展望
核心竞争力:SWE-agent 的核心技术贡献是 ACI(Agent-Computer Interface)范式——证明了为 LLM 量身定制交互工具可以大幅提升其在软件工程任务上的自主完成能力。其在 SWE-bench 上的持续 SOTA 表现和 NeurIPS 论文的学术认可,奠定了它在自主编程智能体领域的标杆地位。从 Issue 到 PR 的完整闭有、可插拔的模型支持、丰富的配置系统,使它成为开源社区和学术研究的标准工具。
当前局限:
- 对跨文件、跨模块的架构级 Bug 修复能力有限,核心仍偏向单文件局部修改。
- 依赖高质量的 Issue 描述和充分的测试覆盖;模棱两可的 Bug 报告或测试缺失时修复成功率骤降。
- LLM API 调用成本在高频使用时不可忽视(数百个 Issue 可花费数百美元)。
- 已进入维护模式,新功能开发已转向 mini-swe-agent,长期演进路线需关注后者。
后续观察点:
- mini-swe-agent 的成熟度:作为替代方案,其易用性、社区活跃度和生态扩展将决定 SWE-agent 生态的长期活力。
- SWE-smith 的商业化潜力:训练轨迹生成平台可能演变为企业微调服务,为垂直领域的专用修复模型提供数据基础。
- 竞品格局:OpenAI 的 Codex Agent、GitHub Copilot Agent Mode、Devin 等商业产品的竞争可能加速 ACI 范式向产品化方向演进。
- 多模态与长上下文:随着模型原生多模态和 200K+ 上下文窗口的普及,ACI 工具的设计可能需要重新调整(例如不再需要 Summarizer 和搜索截断)。
采购/采用风险评估:作为一个开源研究项目,SWE-agent 的商业化支持主要来自社区贡献,缺乏官方 SLA 和商业支持协议。企业若计划在生产有境中大规模采用,需评估以下风险:1)项目已进入维护模式,不会有重大新功能更新;2)依赖 Docker 容器隔离,对 CI/CD 基础设施有前置要求;3)LLM API 调用成本随使用规模线性增长,需建立成本监控和上限机制。建议从低风险场景(非关键路径的历史 Issue 清理)开始试点,验证效果后再扩展到更多场景。对于需要持续更新的商业产品,建议评估 mini-swe-agent 作为长期技术基座,并保留"人工审查每一份 Agent 生成的 PR"作为安全阀门。
限制与不适配场景
该工具在以下场景中存在使用限制:
场景适配边界 需要高度行业专业知识的任务、对输出格式有严格规范的场景、需要零错误的自动化流程可能效果不达预期。AI 输出应作为初稿或辅助参考,最终结果需人工核验。
技术限制 上下文长度有限、复杂推理准确性可能不足、免费版有使用额度。建议在正式采用前通过试用验证核心场景的可用性。
版本信息
- SWE-agent v1.1.0 :发布 SWE-smith 训练轨迹生成项目,支持多语言/多模态评测,兼容 SWE-smith 数据集。注意:含 breaking changes(轨迹数据格式变更、工具包重命名)。
- SWE-agent v1.0.1 :在 SWE-bench Full(2000 个 GitHub Issue)上取得 SOTA,修复本地模型兼容性问题,默认配置切换为 anthropic_filemap。
- SWE-agent v1.0.0 :首个稳定版本。引入 SWE-ReX 并行执行、可插拔工具包(Tool Bundles)、命令行轨迹查看器、全新 CLI 子命令架构。在 SWE-bench Lite 和 Verified 上达 SOTA。
- SWE-agent EnIGMA :新增网络安全攻防(CTF)能力,引入交互式 Agent 工具(gdb 等)和 Summarizer 长输出处理。在 NYU CTF 数据集上达 SOTA,较此前方案提升 3.3 倍。
- SWE-agent v0.6.0 :速度提升 2 倍(GPT-4o 测试),引入浅克隆和快速容器通信,默认使用 uv 加速依赖安装。
- SWE-agent v0.5.0 :全新官方文档上线,支持 `--cache_task_images` 加速重复有境评测,新增 GPT-4o 模型支持。
- SWE-agent Web UI :推出 Web 用户界面,支持在浏览器中可视化运行和观察 Agent 修复过程。
- SWE-agent v0.3.0 :支持 GitHub Codespaces 云端运行,新增 Amazon Bedrock(Claude)集成。
- SWE-agent v0.2.0 :支持本地仓库运行(`--repo_path`),支持自定义安装命令和有境配置,Patch 文件独立保存。
用户评价