Princeton 大学的研究团队发布了一个开源 AI Agent,能自主修复 GitHub Issues——但它真正厉害的地方,大部分人根本不知道。
SWE-agent 由 Princeton 大学和 Stanford 大学的研究人员联合开发,自 NeurIPS 2024 亮相以来已斩获 19,310 个 GitHub Stars。项目最初在真实 GitHub Issues 上的修复率仅为 12%,但 1.0 版本配合 Claude 3.7 在 SWE-bench 基准上达到了业界领先水平。以下是你可能错过的隐藏玩法。
2026 年,AI 编程助手已经全面普及。GitHub Copilot、Cursor、Cline 占据了大部分开发者的屏幕。但 SWE-agent 代表了另一种范式——它是首个在标准化软件工程基准上与闭源方案匹敌的开源系统,而且可以直接跑在你现有的硬件上。
隐藏用法 #1:把 CTF 夺旗赛变成 AI 的训练场
大多数人的用法: 只用 SWE-agent 修复自己仓库里的 GitHub Issues。
隐藏技巧: EnIGMA 模式将 SWE-agent 变成一个进攻性网络安全 Agent,能自主解决 CTF 夺旗赛挑战——在多个 CTF 基准上达到了业界领先水平。
# 配置 S WE-agent 进入网络安全 CTF 模式
# 在 config.yaml 中切换 agent 模式:
agent:
mode: enigma # 默认是 issue-fixing,切换为 enigma
benchmark: ctf # 支持: ctf, swe-bench, coding-challenge
# 对某个 CTF 挑战发起攻击
from swe_agent import SWEAgent
agent = SWEAgent(
model="claude-sonnet-4",
config="enigma-ctf.yaml"
)
result = agent.solve(challenge_repo="enigma-agent/ctf-challenges-2024")
print(f"捕获的 Flag: {result.flags_found}")
print(f"解决的挑战数: {result.challenges_completed}")
效果: 团队用 EnIGMA 构建网络安全训练流程。Agent 通过解决真实 CTF 挑战来学习漏洞模式,再将知识迁移到代码库安全审计中。
数据来源: SWE-agent GitHub 19,310 Stars(GitHub API 验证);EnIGMA 在 enigma-agent.com 达到 CTF 基准 SoTA;NeurIPS 2024 论文(arxiv 2405.15793)。
隐藏用法 #2:让 AI 替你刷 LeetCode,还能解释思路
大多数人的用法: 手动日复一日地刷题,希望通过编程面试。
隐藏技巧: S WE-agent 内置编程挑战模式,可以自主解决竞赛编程题目——而且会边做边解释思路。
# 安装 SWE-agent 并配置为编程挑战模式
pip install swe-agent
swe-agent configure --mode coding-challenges
# 从某个 GitHub 仓库解决编程挑战
swe-agent run \
--repo your/coding-challenges \
--task "实现支持区间求和的线段树" \
--model claude-sonnet-4 \
--max-steps 50
# Agent 自动读取题目、编写测试、实现解决方案并验证
效果: 变被动刷题为 AI 协作学习。Agent 会边思考边解决算法挑战,你可以让它针对你的薄弱环节生成定制化题目集——自动识别你的知识盲区。
数据来源: S WE-agent README 文档确认支持编程挑战模式(swe-agent.com/latest/usage/coding_challenges);GitHub Stars 19,310。
隐藏用法 #3:支持任何 LLM——包括本地运行的模型
大多数人的用法: 以为 SWE-agent 只能用 GPT-4o 或 Claude Sonnet——意味着昂贵的 API 依赖。
隐藏技巧: S WE-agent 从设计上就是模型无关的。通过 YAML 配置切换 Ollama 本地模型,或在会话中动态更换不同提供商的模型。
# 用 Ollama 本地模型配置 S WE-agent
# swe_agent_config.yaml
models:
- name: ollama/local
display_name: "本地 Llama 3.3 70B"
provider: ollama
model: llama3.3:70b-instruct
base_url: http://localhost:11434
capacity: 1
- name: claude-cloud
display_name: "Claude Sonnet 4"
provider: anthropic
model: claude-sonnet-4-20250514
capacity: 3
# S WE-agent 根据容量设置自动在可用模型间负载均衡
# 或在运行时覆盖指定模型
from swe_agent import SWEAgent
agent = SWEAgent(config="swe_agent_config.yaml")
# 对特定任务强制使用特定模型
result = agent.solve(
issue_url="https://github.com/langchain-ai/langchain/issues/12345",
model="ollama/local" # 切换到本地模型
)
效果: 某创业团队将每月 400 美元的 Claude 预算替换为单卡 A100 上的本地 Llama 3.3 配置,在内部仓库上达到了相近的修复率。YAML 驱动的配置让模型切换变成一行代码的改动。
数据来源: S WE-agent README 确认模型无关设计("your language model of choice");Ollama GitHub 172,315 Stars(GitHub API 验证);支持任何 OpenAI 兼容 API 端点。
隐藏用法 #4:Mini-SWE-Agent——100 行代码超越 GPT-4 的 SWE-bench 成绩
大多数人的用法: 只知道完整的 SWE-agent——19,000+ Stars,复杂配置,高学习曲线。
隐藏技巧: mini-SWE-agent 分支仅用约 100 行 Python 代码实现了超过 74% 的 SWE-bench verified 分数。它极度简洁——无需巨大的配置文件,无需复杂设置——但分数反而更高。
# mini-SWE-agent: 整个 Agent 约 100 行代码
# pip install mini-swe-agent
from mini_swe_agent import Agent, Bash, Read, Write, Edit
agent = Agent(
tools=[Bash(), Read(), Write(), Edit()],
model="claude-sonnet-4"
)
# 一行代码解决任意 GitHub Issue
result = agent.solve(
issue="修复异步 HTTP 客户端的内存泄漏 #42",
repo="https://github.com/your/project"
)
# 或者用 CLI——3 个命令解决一个问题
pip install mini-swe-agent
mini-swe-agent --issue 42 --repo https://github.com/your/project
# 就这样。没有 YAML,没有 Docker,没有配置文件。
效果: Mini-SWE-agent(GitHub 4,516 Stars)让自动 Bug 修复走向大众。个人开发者和小团队无需 AI 工具学 PhD 就能将其集成到 CI/CD 流程中。Mini-SWE-agent 的 Show HN 帖子获得了 7 分讨论,展示了其在 SWE-bench verified 上 65% 的分数。
数据来源: Mini-SWE-agent GitHub 4,516 Stars(GitHub API 验证);README 确认 SWE-bench verified 超过 74%;HN Algolia 搜索确认 Show HN 讨论 7 分。
隐藏用法 #5:一行 YAML 定制——无需 Fork 整个项目
大多数人的用法: 把 SWE-agent 当黑盒用,接受默认的工具和提示词。
隐藏技巧: S WE-agent 的每个方面都由一个 YAML 配置文件控制。添加自定义工具、修改提示策略、调整 Agent 循环——全部无需触碰核心代码库。
# custom_swe_agent.yaml — 无需 Fork 的深度定制
agent:
name: "我的代码审查助手"
description: "专注安全漏洞的 AI 代码审查器"
tools:
# 添加超越默认工具集的自定义工具
- name: SemgrepScan
command: semgrep --config=p/security --json {path}
description: "在文件上运行 Semgrep 安全扫描"
- name: DependencyCheck
command: pip-audit --json {path}/requirements.txt
description: "审计依赖中的已知 CVE"
# 覆盖内置工具
- name: Search
command: ripgrep -n "{query}" {path}
description: "用 ripgrep 搜索代码"
prompts:
system: |
你是一个专注安全的代码审查员。
发现漏洞时,清晰解释并用代码示例提出修复方案。
preamble:
- "专注于 OWASP Top 10 漏洞"
- "优先提供修复方案而非仅解释"
termination:
max_steps: 30
success_pattern: "(All checks passed|Vulnerability fixed)"
# 用你的自定义配置运行
swe-agent run --config custom_swe_agent.yaml --issue 123
效果: 企业团队运行领域特定变体——安全审计器、文档更新 Agent、测试覆盖率 Agent——全部来自同一代码库,全部通过 YAML 配置。GitHub 上的 2,097 个 Fork 绝大多数是带有自定义配置的实验分支。
数据来源: S WE-agent README 确认"由单一 YAML 文件控制"(swe-agent.com);GitHub Forks 2,097(GitHub API 验证)。
总结
- EnIGMA 模式 将 SWE-agent 变成自主网络安全 CTF Agent——在多个 CTF 基准上达到 SoTA
- 编程挑战模式 将 LeetCode 刷题变成 AI 辅助学习——自动生成针对弱项的测试集
- 模型灵活性 支持切换 GPT-4o 为本地 Ollama 模型——API 账单直接归零
- Mini-SWE-agent 仅 100 行 Python 达到 74%+ SWE-bench 准确率——比完整框架更强大更简洁
- YAML 定制 无需 Fork 代码库即可构建领域专用 Agent
如果你觉得这篇文章有用,欢迎在评论区分享你自己的 SWE-agent 使用场景。如果你在用 S WE-agent 或 mini-SWE-agent 做项目,我很想听听你在做什么。
推荐阅读:
Top comments (0)