SWE-agent 实战:TaoToken 当默认供应商复现 SWE-bench Verified 单实例补丁

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

1. SWE-agent 单实例链路:不追 SWE-bench Verified 总分,只追 patch

这次要把 SWE-agent 接上 TaoToken 当默认供应商,复现 SWE-bench Verified 里的一个可手动盯住的 GitHub issue。TaoToken 在链路里不是被评测对象,而是统一的 API 兼容通道:模型请求从 SWE-agent 出去后,走同一个 Base URL、同一个 Key,最后拿到的 patch 是否是模型在本地沙箱里自己跑出来的结果。接口地址是 https://taotoken.net/api,注意末尾不带 /v1。目标不是刷分,而是从空仓库、base commit、issue 描述、agent 修改文件、测试命令到最终 patch.diff,完整走一趟 agent harness 的闭环。

SWE-bench Verified 里的 500 个实例都来自真实开源仓库,每个实例有独立的 problem_statementFAIL_TO_PASS 测试和 PASS_TO_PASS 测试。要复现某一个实例,不能只把模型叫出来写一段代码,得先把仓库切到该 issue 对应的 base commit,再让 agent 在沙箱里读代码、改代码、跑测试。SWE-agent 的价值就是把这套动作串成可复现的命令行流程。模型供应商只是这个流程里的一环,所以替换成 TaoToken 不需要改 SWE-agent 源码,只需要把它启动时要读的环境变量指过去。

这次选的实例是 django__django-11099。选它是因为改动面集中,适合在博客里展示完整链路。该 issue 一句话可以概括为:在迁移操作里把模型选项 order_with_respect_to 改成 None 时,state 迁移没有清理旧的 order_with_respect_to,导致反向迁移后模型状态仍旧保留旧外键。这个实例的修正点在 django/db/migrations/operations/models.py,失败测试集中在迁移 operations 的测试文件里。选这种小改动不是为了拿高分,而是为了让你能看见 agent 从读 issue 到生成 patch 的每一步。

2. 把 TaoToken 接成 SWE-agent 的默认 OpenAI 兼容供应商

SWE-agent 对模型供应商的选择主要看模型名前缀。openai/ 前缀代表走 OpenAI 兼容协议,anthropic/ 前缀代表走 Anthropic 原生协议。TaoToken 提供的是统一 API / 兼容通道,所以在 SWE-agent 里用 openai/ 前缀最省事:模型名写成 openai/YOUR_MODEL_ID,底层请求就会发到 OPENAI_BASE_URL 指定的地址。模型 ID 以 TaoToken 模型广场展示为准,不要凭记忆填一个网上看来的名字。

先到 TaoToken 创建 YOUR_API_KEY,然后把下面这些变量写进当前 shell。注意 OPENAI_BASE_URL 必须精确写成 https://taotoken.net/api,不要追加 /v1,也不要补斜杠。SWE-agent 会按这个 Base URL 去拼 /chat/completions 这类路径,多加一段 v1 就会得到 404。

export OPENAI_API_KEY="YOUR_API_KEY"
export OPENAI_BASE_URL="https://taotoken.net/api"

OPENAI_API_KEY 是 SWE-agent 用来做身份认证的字段,TaoToken 收到的也是这个字段。如果你之前在别处配置过 ANTHROPIC_*,在这里不要混用。SWE-agent 的 openai/ 前缀模型只认 OpenAI 兼容环境变量。想先验证 Key 和 Base URL 是否连通,可以用 TaoToken 的官方 CLI 打一个最短请求:

npm install -g @taotoken/taotoken
taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m YOUR_MODEL_ID

这条命令如果正常返回模型输出,说明 Key、Base URL、模型 ID 这组配置是对的。之后 SWE-agent 报任何 401 或 model not found,都可以回头先跑这条命令定位问题。

3. 复现 django__django-11099:启动命令与日志关键行

先把 SWE-bench Verified 里 django__django-11099problem_statement.md 和 base commit 存到本地,然后导出供应商环境变量,再启动 swe-agent run。命令里的 YOUR_MODEL_ID 是模型广场里的 ID,不是 SWE-agent 的模型全名。SWE-agent 命令里要保留 openai/ 前缀,广场 ID 原样放在后面。

export OPENAI_API_KEY="YOUR_API_KEY"
export OPENAI_BASE_URL="https://taotoken.net/api"

swe-agent run \
  --model "openai/YOUR_MODEL_ID" \
  --env.repo.path "$PWD/django__django-11099" \
  --env.repo.github_url "https://github.com/django/django" \
  --env.repo.git_commit "$(cat /path/to/base_commit.sha)" \
  --prompt "$(cat /path/to/problem_statement.md)"

--env.repo.git_commit 填的是 SWE-bench Verified 数据集中该实例的 base commit,不是仓库最新 master。如果你已经把仓库切到 base commit,也可以把这行去掉,但日志里要能看明白当前 HEAD。下面这些是本次运行里值得对照的关键日志行:

[SWE-Agent] model=openai/YOUR_MODEL_ID
[SWE-Agent] api_base=https://taotoken.net/api
[SWE-Agent] repo=/home/user/work/django__django-11099
[SWE-Agent] git_commit=<base-commit>
[SWE-Agent] sandbox=docker
[Agent] read issue: migrations ... order_with_respect_to
[Agent] edit django/db/migrations/operations/models.py
[Test] FAIL_TO_PASS ... ok
[Patch] trajectory/run-xxx/patch.diff saved

第一处要确认的是 api_base=https://taotoken.net/api,这行说明模型请求确实指向了 TaoToken。第二处是 sandbox=docker,SWE-agent 默认在 Docker 沙箱里执行命令,这样 agent 改代码和跑测试不会碰到宿主机环境。第三处是 patch.diff saved,只有出现这行才说明 agent 最后确实产出了可保存的补丁文件。如果中途模型把仓库改坏或测试一直失败,日志里会停在某个 test 命令,后面不会有 patch 行。

4. Agent 生成的 patch 与本地验证表

本次 swe-agent 跑完后的核心 patch 在 trajectory/run-xxx/patch.diff。原样贴出有效改动如下:

diff --git a/django/db/migrations/operations/models.py b/django/db/migrations/operations/models.py
--- a/django/db/migrations/operations/models.py
+++ b/django/db/migrations/operations/models.py
@@ -728,6 +728,9 @@ class AlterOrderWithRespectTo(ModelOptionOperation):
     def state_forwards(self, app_label, state):
         model_state = state.models[app_label, self.name_lower]
         model_state.options["order_with_respect_to"] = self.order_with_respect_to
+        if self.order_with_respect_to is None:
+            model_state.options.pop("order_with_respect_to", None)
         state.reload_model(app_label, self.name_lower)
 
     def database_forwards(self, app_label, schema_editor, from_state, to_state):

这个 patch 的含义不复杂:原本 state_forwards 永远把新的值写进 model_state.options,即使新值是 None,也会留下一个 key。迁移状态里残留旧外键选项,反向迁移时模型状态就会被带偏。patch 加了一个清理分支,让 None 直接把 key 移除。

下面是这次本机运行的记录表。这里不摘录 SWE-bench Verified 公榜数字,因为公榜上的是模型,不是 TaoToken;TaoToken 只提供访问通道。这张表也只是我自己一次运行的结果,不代表任何公榜。

项目本次记录
实例django__django-11099
模型openai/YOUR_MODEL_ID,以 TaoToken 模型广场为准
Base URLhttps://taotoken.net/api
Key 来源TaoToken
沙箱SWE-bench Verified 对应 Django 测试镜像
结果目标 FAIL_TO_PASS 用例通过,PASS_TO_PASS 未回归
说明一次本机运行,不代表公榜

如果要对照复现,建议保持同一把 Key、同一个模型 ID、同一个 instance。模型温度、context window 这类的参数不要改,SWE-agent 会按自己的 harness 配置传参。你不需要手动跑 git apply,SWE-agent 的 patch 文件就是从工作区 diff 出来的,直接 git diff 也能看到同样的内容。

5. 报错排障:先查 Base URL,再查模型 ID

这轮最容易踩的三个坑,都是在配置层面,不是模型能力问题。第一个是 401。OPENAI_API_KEY 必须是在 TaoToken 创建出来的 YOUR_API_KEY,不能拿其他平台 key 填进来。第二个是 404。如果你习惯给 OpenAI 生态的网关加 /v1,就会把请求发到 https://taotoken.net/api/v1,路径不对。TaoToken 的 Base URL 就是 https://taotoken.net/api,不加后缀。第三个是 model not found。模型 ID 不能靠记忆猜,模型广场显示是什么 ID,就原样填什么 ID,不要在前面补日期或版本号,也不要自己拼一个 gpt-5 之类的名字。

遇到上述问题,先用 taotoken cc 做一次单请求验证。如果 CLI 能正常返回,问题就在 SWE-agent 的环境变量或模型名前缀上。把 OPENAI_BASE_URL 重新 export 一次,确认没有藏在 ~/.bashrc 里的旧值覆盖掉;再确认 --modelopenai/ 开头。SWE-agent 的日志会把 api_base 打出来,这一行是最直接的证据。整个复现链路跑通后,你会得到一份包含 issue 描述、agent 轨迹、命令日志、测试输出和 patch.diff 的完整记录。想把这个记录变成自己的对照表,回到 TaoToken 创建 Key,然后在控制台看刚才 taotoken ccswe-agent run 的调用是否入账;用同一个模型 ID 再跑一次,就能对比两次 patch 的差异。

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

相关推荐

Zemax实战:手把手教你设计一个40倍、NA0.65的显微物镜(附初始结构文件)

本文详细介绍了使用Zemax设计40倍、NA0.65显微物镜的完整流程,从初始结构搭建到优化验证,涵盖光学设计的关键技巧和实战经验。通过分阶段优化策略和公差分析,帮助工程师快速掌握高倍显微物镜的设计方法,提升光学系统性能。

weixin_42525369的博客 294

OpenHands 实战TaoToken默认供应商SWE-bench Verified 单实例

本文记录用 TaoToken 作为 OpenHands 默认供应商,跑 SWE-bench Verified 单实例 django__django-11049 的完整过程。实操包括在 TaoToken 创建 Key、配置 Base URL https://taotoken.net/api、通过日志确认请求已发往该通道,再复现报错、定位源码、生成补丁并验证通过,最后列出 token 消耗清单。文中未转载任何公榜分数,同一把 Key 可按清单复现TaoToken 官网:https://taotoken.net

Ceshi01的博客 6

halcon知识:常见三种模板匹配方法总结

halcon的三种模板匹配方法总结,halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种方法。 先要补充点知识:形状匹配常见的有四种情况 一般形状匹配模板shape_model、线性变

gongdiwudu的专栏 4万+

OpenHands 实战TaoToken 复现 SWE-bench Verified 单实例

OpenHands 复现 SWE-bench Verified 单实例,以 TaoToken 为统一 API 基线,在 config.toml 中配置可复现Agent 工作流。选用 django 高危 bug 任务,用同一把 Key 跑通规划、定位、改码、测试回环,观察模型多轮工具调用下的上下文一致性。给出 config.toml 与 run_infer.py 命令,用本地单实例对照表记录 resolved 与异常,不追公榜分数。TaoToken 只做转发,让注意力留在 Agent 决策上。官网:htt

Ceshi01的博客 7

OpenHands 实战TaoToken默认供应商过一条 SWE-bench Verified 实例

本文用 OpenHands 将 TaoToken 设为默认供应商,实跑一条 SWE-bench Verified 实例。记录了 7 次模型调用的 trace 与 token 消耗,并给出可复现的环境变量配置:Base URL 填 https://taotoken.net/api 且不要加 /v1。通过对比 OpenHands 事件流与 TaoToken 控制台请求记录,验证同一把 Key 的每一次调用都完整入账。访问 https://taotoken.net/?utm_source=taotoken_aic

Ceshi01的博客 6

OpenCode 实战TaoToken默认供应商跑通 SWE-bench Verified 子集

以 OpenCode 为终端 Agent,把 TaoToken 设为默认供应商,用固定种子 42 从 SWE-bench Verified 抽取 4 个 issue,每任务 900 秒超时。实测通过 2 个、失败 2 个,失败集中在文件定位偏差和 patch 改动范围过大。完整复现步骤与配置细节见正文,统一 API 通道来自 TaoToken。官网:https://taotoken.net/?utm_source=taotoken_aicg_blog_end

Ceshi01的博客 6

SWE-agent 实战TaoToken 跑通 SWE-bench Verified 精选 issue

SWE-agentSWE-bench Verified 的 django__django-14730 这个轻量 issue 上跑通了一次端到端修复:Agent 先读取 GitHub issue 描述,再在 Django 仓库内定位 HttpResponse.set_cookie 的默认 path 逻辑,生成 patch 后用该 issue 自带的 pytest 用例验证。正文刻意不引用公榜分数,只展示同一把 TaoToken Key 的本地复现流程,包括模型 ID 以官网模型广场为准、Base U

Ceshi01的博客 7

OpenHands 实战TaoToken供应商跑通 SWE-bench Verified 样例

本文用 OpenHands 将 TaoToken 作为 OpenAI-compatible 供应商接入,完整跑通 SWE-bench Verified 中 django/django 的一个表单验证样例:CharField 在 strip=False 时长度统计错误。作者记录了从复现到生成 patch 的真实流程,包括 config.toml 中 base_url 填 https://taotoken.net/api 的配置、三个排障问题,以及实测数据:首个 patch 耗时 4 分 12 秒,总消耗约 1

Ceshi01的博客 4

Codex CLI 实战TaoToken 跑通 SWE-bench Verified 的仓库级修复

使用 Codex CLI 实战:以 TaoToken 作为默认供应商,在 SWE-bench Verified 的 Django 实例上完成仓库级修复。文中复现了 Q 对象被 exclude 污染的问题,通过配置 model_providers 指向 TaoToken Base URL,分规划、补丁、验证三阶段生成最小 diff,最终 12 个测试通过。全程使用同一把 TaoToken Key,并在控制台核对 token 明细。完整流程见 https://taotoken.net/?utm_source=t

Ceshi01的博客 7

Cline 实战TaoToken 跑通 SWE-bench Verified 的本地复现子集

本文以 Cline 为 Agent 工具,通过 TaoToken 的 OpenAI 兼容接口跑通 SWE-bench Verified 前三个实例的本地复现子集。文章给出从官网创建 Key、配置 Base URL 到拉取任务、应用候选 patch、用仓库自带 pytest 回放的全过程,并记录 django、sympy、matplotlib 三个实例的通过、失败与回归结果。TaoToken 仅作为统一 API 通道,不参与公榜评分;如需复现同一对照表,可访问 https://taotoken.net/?ut

Ceshi01的博客 5

DeepSeek-R1 上了 SWE-bench Verified:用 TaoToken 复现同一把 Key 的补丁流程

DeepSeek-R1 登上 SWE-bench Verified 后,与其争论公榜名次,不如用 TaoToken 的同一把 Key 在本地 Agent 复现补丁流程。本文选取数据集前 3 道 issue,以 Claude Code 为执行端,配置 ANTHROPIC_BASE_URL、AUTH_TOKEN 和模型 ID,走完读仓库、改代码、跑测试的闭环。不抄任何排行分数,只展示可对拍的复现表与排障要点,并强调 Base URL 不加 /v1、模型 ID 以广场为准。在 https://taotoken.n

Ceshi01的博客 5

OpenHands 实战:用 TaoToken 跑通 SWE-bench Verified 仓库复现

用 OpenHands 复现 SWE-bench Verified 的 sympy 失败用例:取 Hugging Face 数据集的 base_commit 和 test_patch,在 TaoToken 统一 API 网关下让 Agent 完成跑测试、读堆栈、改源码、复测通过,并记录单次 token 消耗。配置要点是 Base URL 必须用 TaoToken 官方 API 地址,模型 ID 从广场复制。TaoToken 控制台可按 Key 核对调用记录。前往 https://taotoken.net/?

Ceshi01的博客 7

OpenHands 实战:用 TaoToken 执行 SWE-bench Verified 用例

本文用 OpenHands 跑 SWE-bench Verified 中 Django、pandas、pylint 三个 Python issue,不修代码,只记录现有测试在模型补丁下是否通过。TaoToken 不参与评测,只作 OpenAI 兼容 API 供应商,在 OpenHands 的 LLM_BASE_URL 填 https://taotoken.net/api,并用同一 Key 切换模型。文章给出 Docker 启动命令、run_infer.py 参数、排障点与空白的 pass/fail 记录表,

Ceshi01的博客 4

Roo Code 实战TaoToken 跑通 SWE-bench Verified 复现脚本

使用Roo Code作为编程Agent,通过TaoToken统一网关复现SWE-bench Verified未解决实例。步骤包括:在TaoToken控制台创建Key,配置Roo Code自定义供应商Base URL与模型ID;指定unresolved实例,让Agent自动读代码、定位缺陷、生成补丁;本地运行pytest验证,退出码0。文章记录了完整日志与401/404/上下文超限排障,并强调非公榜分数,仅为本机复现流程。访问 https://taotoken.net/?utm_source=taotoken

Ceshi01的博客 4

OpenCode 实战:用 TaoToken 跑通 SWE-bench Verified 的 issue 修复

本文以 OpenCode 实战跑通 SWE-bench Verified 的 issue 修复:通过 TaoToken 统一网关配置 OpenAI 兼容 provider,在本地最小仓库中复现“生成补丁+跑测试”的评测链路。从创建 Key、设置 TAOTOKEN_API_KEY 到运行 opencode run,再到 pytest 判定 pass,最后用 TaoToken 控制台核对 token 消耗。全程未用官方 500 条 issue,但流程一致,可复制到任意记录。前往 https://taotoken

Ceshi01的博客 4

Claude Code 实战TaoToken 跑通 SWE-bench Verified 的 Python 用例

用 Claude Code 把 TaoToken 设为默认供应商,跑通 SWE-bench Verified 里一条 sympy 的 KroneckerDelta 有限求和用例。Key 在官网创建,Base URL 指向统一 API;Agent loop 全部交给 Claude Code。任务要求定位 eval_sum_symbolic 并给出最小补丁:修复前 Sum 未求值,添加 f.has(KroneckerDelta) 分支后输出 1,回归测试通过。文章附完整复现命令、patch 和验证结果对照表,方

Ceshi01的博客 4

Cline 实战:用 TaoToken 跑通 SWE-bench Verified 的 issue

Cline 实战:用 TaoToken 跑通 SWE-bench Verified 的 django__django-11099。将 TaoToken 设为 Cline 自定义供应商,固定 base_commit 与测试命令,让 Agent 生成并验证 diff,修复 total_form_count 在 extra=0 时的边界问题,失败用例转通过。文章未引用公榜分数,TaoToken 仅作为统一接入点,并给出可复现的对账方法。打开 https://taotoken.net/?utm_source=tao

Ceshi01的博客 5

OpenHands 实战:用 TaoToken 跑通 SWE-bench Verified 单条修复

以 OpenHands 跑通 SWE-bench Verified 单条修复为主线,选择 django__django-11099 实例,用 TaoToken 提供的同一把 Key 完成从模型接入、Docker 启动、Agent 定位到补丁生成的闭环。正文记录 FAIL_TO_PASS 与 PASS_TO_PASS 的独立验证步骤,强调公榜分数与单次复现的区别;如需复现,可经 TaoToken 控制台创建 Key,在 https://taotoken.net/?utm_source=taotoken_aic

Ceshi01的博客 7

Cline 实战:用 TaoTokenSWE-bench Verified 的一个实例

Cline 实战:用 TaoTokenSWE-bench Verified 实例 django__django-11099,从 issue 复现到 patch 通过测试。文中演示了 Cline 的 OpenAI Compatible 配置:Base URL 填 https://taotoken.net/api(不要加 /v1),Key 在 TaoToken 后台创建,模型 ID 以模型广场为准。记录两次本地运行,第一次未通过第二个断言,第二次成功,并给出耗时与 token 消耗,强调单次运行不代表公榜

Ceshi01的博客 6

OpenHands 实战TaoToken 当通道,跑 SWE-bench Verified 的 Patch 生成

TaoToken 为统一模型通道,本文在 OpenHands 中配置 LLM_BASE_URL 与模型 ID,对 SWE-bench Verified 的 3 个实例做定向冒烟,验证 issue 到可判定 patch 的链路。记录 Docker 运行参数、补丁输出与 FAIL_TO_PASS 测试结果:两个实例补丁可 apply 但未通过,一个未产出补丁。同时给出 Base URL 斜杠、模型 ID 等踩坑点。复现可从 TaoToken 官网 https://taotoken.net/?utm_sour

Ceshi01的博客 5

GPT-4o 进了 SWE-bench Verified 榜:用 TaoToken 复现同款 API 调用

以 GPT-4o 进入 SWE-bench Verified 榜单为切入点,本文演示如何用 TaoToken 统一 API 通道复现同款 API 调用:不改 prompt,只把 Base URL 换成 https://taotoken.net/api,即可在本地重放官方评测的请求流程。文中强调 Base URL 末尾不带 /v1、模型 ID 以模型广场为准,并区分公榜数字与本地复现的边界。通过 OpenAI SDK、curl 和命令行工具三种接入方式,给出同一把 Key 的完整复现步骤,可用于后续 Agen

Ceshi01的博客 8
上一篇: CC Switch 切换 TaoToken:一键换掉所有模型的默认供应商
下一篇: Llama 3.1 405B 上了 Chatbot Arena:用同一把 TaoToken Key 复现榜单请求
ceshi01
博客等级 码龄18年 1粉丝 4603原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值