开发与工程 software-engineeringgithub-issuescommand-linebash-executionswe-benchlitellmtrajectory-browser

mini-swe-agent

用 Bash 驱动的极简软件工程代理,用于处理 GitHub issue 或本地命令行任务。

FollowAgents 评估 · FARS-2.1
不推荐
54/ 100 五分制 2.7 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全10 / 29 · 1.7/5

证据显示:依赖中明确排除了已知有漏洞的litellm版本(1.82.7/8)和openai版本(1.100.0/1.100.1),并注明原因,体现了对依赖安全的关注。但未发现用户确认机制(如命令执行前确认),也未发现回滚机制。数据流透明度方面,README描述了线性历史,但未明确说明数据如何传输至外部模型。敏感数据处理未提及。外部影响方面,agent执行bash命令,可能产生副作用,但未提供沙箱默认配置。来源归属方面,README和pyproject中明确列出了作者和机构。扣分原因:缺少用户确认和回滚机制,数据流和敏感数据处理说明不足。

2可靠稳定9 / 14 · 3.2/5

证据显示:测试覆盖了多种场景,包括超时、步骤限制、成本限制、格式错误等,表明内部一致性较好。依赖在pyproject中明确列出,且排除了有问题的版本,依赖可用性较好。失败消息方面,测试验证了超时和格式错误时的处理,但未提供详细的错误消息文档。扣分原因:失败消息的文档化不足。

3适用触发12 / 18 · 3.3/5

证据显示:README明确说明了目标用户(开发者、研究人员)和使用场景(CLI、批量推理、Python绑定)。能力边界方面,说明了仅使用bash工具,无其他工具。触发精度方面,通过CLI命令和Python API触发,描述清晰。环境适配方面,支持多种环境(本地、docker、singularity等)。扣分原因:未明确说明不支持的环境或限制。

4规范维护10 / 18 · 2.8/5

证据显示:README提供了清晰的安装说明、使用示例、FAQ链接和文档链接。命名稳定,提供了多个CLI入口。已知限制方面,README提到了一些设计选择(如无shell会话),但未系统列出所有限制。许可证为MIT,明确。版本控制方面,有v2迁移指南,但未提供详细的变更日志。维护责任方面,有贡献指南和文档。扣分原因:已知限制和变更日志不够详细。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性方面,提供了CLI和Python绑定,输出格式清晰。边际价值方面,强调简单性和性能,但未提供与其他工具的详细对比。成本效益方面,声称性能高且启动快,但未提供具体成本数据。扣分原因:缺乏具体性能数据和成本对比。

6证据核验4 / 8 · 2.5/5

证据显示:README中的性能声明(>74% SWE-bench)有外部基准链接,但未提供具体复现步骤。交叉来源验证方面,有外部博客和基准链接,但未提供独立验证。事实与推断分离方面,README区分了事实(如代码行数)和推断(如性能声明)。扣分原因:性能声明缺乏详细复现步骤和独立验证。

证据充分度: 评估于 2026年8月9日 审查版本 a83fcae82d2a
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 该Agent会执行任意bash命令,可能对系统产生不可逆影响,建议在沙箱环境中运行。
  • 未提供用户确认机制,命令执行前不会征求用户同意,需谨慎使用。
  • 数据流透明度不足,未明确说明发送给外部模型的数据内容,涉及敏感数据时需注意。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

mini-swe-agent 是面向软件工程任务的 Python 代理,提供 `mini` 命令行工具和 Python 绑定。其默认组合示例为 `DefaultAgent`、`LitellmModel` 与 `LocalEnvironment`。代理只使用 Bash 作为操作接口,将每一步消息线性追加到后续传给语言模型的上下文中。动作通过 `subprocess.run` 独立执行,而不是维护持久化 shell 会话;文档同时列出本地环境、Docker/Podman、Singularity/Apptainer、bubblewrap 和 contree 等部署边界。项目还提供批量推理和轨迹浏览器,并宣称在 SWE-bench verified 上得分超过 74%。

用户通过 mini 启动命令行代理,或在 Python 中创建 DefaultAgent(LitellmModel(model_name=...), LocalEnvironment()) 并调用 agent.run("Write a sudoku game")。代理将任务和每轮结果追加为线性消息历史,传给语言模型;它不依赖模型的工具调用接口。模型给出的操作以 Bash 执行,并由 subprocess.run 逐条独立运行;因此每个动作没有持续 shell 状态。项目文档列出用于本地任务、批量 SWE-bench 推理和查看轨迹的接口,但未在所给材料中定义具体的补丁、提交或报告文件格式。

  1. 开发者在本地终端中希望让代理协助处理一个 GitHub issue 时,可运行 mini
  2. Python 工具开发者需要把一个可编程的工程代理嵌入脚本时,可用 DefaultAgentLitellmModelLocalEnvironment 组合后调用 agent.run(...)
  3. 评测研究人员需要批量运行 SWE-bench 推理,并检查模型与代理的完整线性轨迹时,可使用项目列出的批量推理和轨迹浏览器。
  4. 需要在容器或隔离运行环境中执行代理动作的团队,可采用文档列出的 Docker、Podman、Singularity/Apptainer、bubblewrap 或 contree 路径。
  5. 进行微调或强化学习实验、且希望避免复杂代理脚手架的研究者,可利用其 Bash-only、线性历史的控制流。

这个 Agent 有哪些优点和局限?

优点
  • 控制流刻意精简:代理类约 100 行 Python,且消息历史是逐步追加的线性记录,便于检查模型实际接收的上下文。
  • 只以 Bash 作为操作接口,不要求语言模型支持工具调用接口。
  • 每个动作通过独立的 subprocess.run 执行,避免持久 shell 会话状态,并适合替换为沙箱执行路径。
  • 同时提供 mini CLI、Python 绑定、批量推理和轨迹浏览器。
局限
  • 核心操作接口仅为 Bash;需要专用结构化工具或多工具接口实验时,项目自身并不提供这些能力。
  • 动作之间没有持久 shell 会话,依赖跨命令 shell 状态的工作流需要自行适配。
  • 使用模型所需的具体供应商凭据、环境变量和配置步骤未在所给材料中给出。
  • README 明确提示这是 v2;从 v1 迁移需要遵循迁移指南。

如何安装或部署这个 Agent?

快速试用:pip install uv && uvx mini-swe-agent,或 pip install pipx && pipx ensurepath && pipx run mini-swe-agent。安装到当前环境:pip install mini-swe-agent,随后运行 mini。从源码安装:git clone https://github.com/SWE-agent/mini-swe-agent.gitcd mini-swe-agent && pip install -e .,随后运行 mini。运行前还需要为 LitellmModel 选择并配置模型;所给材料未说明具体凭据名称、环境变量或配置参数。

如何使用这个 Agent?

安装后执行 mini 启动 CLI。Python 调用可按示例构造:agent = DefaultAgent(LitellmModel(model_name=...), LocalEnvironment()),然后执行 agent.run("Write a sudoku game")。将 model_name=... 替换为已配置模型的名称;所给材料未提供该模型配置的完整命令。

这个 Agent 与同类方案有什么区别?

README 将 mini-swe-agent 定位为默认选择,适合本地 CLI、简单控制流、较快的沙箱与基准运行,以及不希望过度适配特定代理脚手架的微调或强化学习场景。若要试验多组带各自接口的工具或不同历史处理器,README 建议使用 SWE-agent。两者都被描述为具备 SWE-Bench 表现和轨迹浏览器。

常见问题

它需要模型具备函数调用或工具调用能力吗?
不需要。README 表示代理只使用 Bash,且不需要使用语言模型的工具调用接口。
它能在哪些执行环境中部署?
所给材料列出本地环境、Docker/Podman、Singularity/Apptainer、bubblewrap 和 contree。
模型和凭据如何配置?
材料说明支持经 LiteLLM、OpenRouter、Portkey 等的模型路径,以及 /completion/response 端点,但没有给出具体凭据或配置参数。
应选择 mini-swe-agent 还是 SWE-agent?
若优先本地命令行、简单控制流或稳定的沙箱/评测路径,README 建议选择 mini-swe-agent;若需要试验多种工具接口或历史处理器,则选择 SWE-agent。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents