ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Claude Code 实战:TaoToken 跑通 SWE-bench Verified 样例集

Claude Code 实战:TaoToken 跑通 SWE-bench Verified 样例集 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度1. 目标与产物用 Claude Code 在 TaoToken 上跑 SWE-bench Verified 样例本文的目标很具体在 TaoToken 创建一个 API Key把 Claude Code 的请求地址指向https://taotoken.net/api然后让 Claude Code 去处理 SWE-bench Verified 提供的真实 GitHub issue 样本最后记录两件事——哪些 issue 被解决、每个 issue 消耗了多少 Token。SWE-bench Verified 是 SWE-bench 官方发布的一个经过人工筛选的子集共 500 条样本每条样本对应一个真实开源仓库的 issue 与对应的修复补丁。它的价值在于任务不是“写个函数”这种玩具题而是“在真实代码库里定位 bug 并给出可被测试验证的 patch”。Claude Code 作为终端里的 Agent天然适合这类需要读文件、跑测试、改代码的循环任务。TaoToken 在这里扮演的是默认供应商角色。你不需要改 Claude Code 的源码也不需要装代理层只需要在配置里把 Anthropic 的 Base URL 换成 TaoToken 的 API 地址Claude Code 就会把请求发到 TaoToken由 TaoToken 转发到对应的模型。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate API 地址是https://taotoken.net/api不加 UTM。可复现产出包括三样启动命令、Claude Code 的设置片段、以及一份通过/未通过的 issue 清单。本文不含排行分数也不对 TaoToken 做评测——它只是被接入的通道。2. 操作步骤从建 Key 到跑通第一条 issue2.1 在 TaoToken 创建 API Key打开 https://taotoken.net/api-keys 登录后创建一个新的 Key。建议按用途命名比如claude-code-swebench方便后续在 console 里看消耗。创建后复制 Key形如sk-...。这个 Key 只显示一次丢了就重建。如果你还没有账号先从官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate 进入注册。注册流程不展开重点在拿到 Key 之后的配置。2.2 准备 SWE-bench Verified 样例SWE-bench 官方仓库在 GitHub 上Verified 子集可以通过datasets库加载pip install datasets python -c from datasets import load_dataset ds load_dataset(princeton-nlp/SWE-bench_Verified, splittest) print(len(ds)) print(ds[0][instance_id]) print(ds[0][repo]) print(ds[0][problem_statement][:500]) 每条样本包含instance_id、repo、base_commit、problem_statement、patch、test_patch等字段。我们要做的是把problem_statement交给 Claude Code让它在repo的base_commit上工作最后用test_patch里的测试来验证。为了控制篇幅本文选 5 条样本做演示。你可以按instance_id过滤sample_ids [ django__django-11099, sympy__sympy-20590, matplotlib__matplotlib-25311, scikit-learn__scikit-learn-25747, pytest-dev__pytest-11148, ] subset ds.filter(lambda x: x[instance_id] in sample_ids) subset.to_json(swebench_subset.jsonl)2.3 安装 Claude CodeClaude Code 通过 npm 分发npm install -g anthropic-ai/claude-code claude --version如果你更习惯用 TaoToken 提供的 CLI 封装也可以npm i -g taotoken/taotoken taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m claude-sonnet-4-5-20250929这条命令会帮你把 Claude Code 的环境变量设好再启动。不过本文重点讲手动配置因为手动配置能让你看清每一层发生了什么。2.4 克隆目标仓库并切到 base_commit以django__django-11099为例git clone https://github.com/django/django.git /tmp/swe/django cd /tmp/swe/django git checkout base_commitbase_commit从swebench_subset.jsonl里读。切完之后把problem_statement存成一个文件比如/tmp/swe/django/issue.txt。2.5 启动 Claude Code 并指向 TaoToken在仓库目录下启动cd /tmp/swe/django claude首次启动会引导你配置。关键是把 Anthropic 的 Base URL 换成 TaoToken。下一节展开配置细节。3. TaoToken 接入与配置Claude Code 的 settings.jsonClaude Code 读取环境变量和~/.claude/settings.json。最干净的做法是在settings.json里写死供应商配置避免每次开终端都要 export。3.1 settings.json 片段{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-YOUR_TAOTOKEN_KEY, ANTHROPIC_MODEL: claude-sonnet-4-5-20250929, ANTHROPIC_SMALL_FAST_MODEL: claude-haiku-4-5-20251001 } }三个ANTHROPIC_*变量的含义ANTHROPIC_BASE_URL请求发往哪里。这里填https://taotoken.net/apiClaude Code 就会把原本发往 Anthropic 的请求发到 TaoToken。ANTHROPIC_AUTH_TOKENTaoToken 的 Key。注意不是ANTHROPIC_API_KEYClaude Code 对第三方 Base URL 用AUTH_TOKEN更稳。ANTHROPIC_MODEL主模型 ID。具体可用 ID 以 TaoToken 控制台或文档为准本文用claude-sonnet-4-5-20250929举例。如果你用 Codex 而不是 Claude Code配置写在~/.codex/config.tomlmodel claude-sonnet-4-5-20250929 model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY3.2 用 CC Switch 管理多套配置如果你同时在多个供应商之间切换可以用 CC Switch 三件套cc-switch、cc-switch-cli、cc-switch-config。它把不同供应商的settings.json存成 profile切换时覆盖当前配置。TaoToken 作为一个 profile 存进去Base URL 填https://taotoken.net/apiKey 填你的sk-...。3.3 验证配置生效启动 Claude Code 后输入/status看 Base URL 是否显示为https://taotoken.net/api。或者直接问一句“你现在用的是哪个模型”Claude Code 会回报当前模型 ID。如果报 401说明 Key 不对如果报 404说明 Base URL 路径不对——TaoToken 的 API 根是https://taotoken.net/api不要多加/v1。4. 可验证结果与失败分支4.1 跑一条 issue 的完整流程以django__django-11099为例在 Claude Code 里输入请阅读 issue.txt 中的问题描述在代码库中定位相关文件给出修复方案并直接修改代码。修改后运行相关测试。Claude Code 会读文件、搜索、改代码、跑测试。跑完后用 SWE-bench 的test_patch做验证git apply /tmp/swe/django/test_patch.diff python -m pytest test_files -x如果测试通过记为 PASS否则记为 FAIL。4.2 通过/未通过清单示例格式instance_id仓库结果输入 Token输出 Token总 Tokendjango__django-11099django/djangoPASS待填待填待填sympy__sympy-20590sympy/sympyPASS待填待填待填matplotlib__matplotlib-25311matplotlib/matplotlibFAIL待填待填待填scikit-learn__scikit-learn-25747scikit-learn/scikit-learnPASS待填待填待填pytest-dev__pytest-11148pytest-dev/pytestFAIL待填待填待填Token 消耗从 TaoToken 控制台 https://taotoken.net/console 的用量页面读取按instance_id对应的时间段筛选。本文不含排行分数上表只是本地复现的记录格式具体数字以你实际跑出来的为准。4.3 失败分支401 UnauthorizedKey 错误或过期。去 https://taotoken.net/api-keys 重建。404 Not FoundBase URL 写错。确认是https://taotoken.net/api不是https://taotoken.net/api/v1。模型 ID 不存在ANTHROPIC_MODEL填了 TaoToken 不支持的 ID。去文档页 https://taotoken.net/doc 查可用列表。测试跑不起来仓库依赖没装。SWE-bench 每个仓库有自己的环境要求建议用官方提供的 Docker 镜像而不是裸机跑。Claude Code 改错文件在 prompt 里明确限定“只修改与 issue 相关的文件”或者用--allowedTools限制工具范围。5. 限制、成本与模型选择5.1 限制SWE-bench Verified 的 500 条样本覆盖 12 个仓库每条样本的base_commit不同环境依赖也不同。裸机跑 5 条已经要处理 5 套依赖跑全量必须用 Docker。Claude Code 在终端里工作它的上下文窗口有限遇到大仓库的大 issue 可能需要多轮压缩这会增加 Token 消耗并可能丢失细节。另外SWE-bench 的评测协议要求用test_patch里的测试来判定而不是“看起来改对了”。所以本文的 PASS/FAIL 必须以测试结果为准不能靠肉眼。5.2 成本成本取决于模型单价和 Token 用量。TaoToken 的计费以官网和控制台为准本文不列具体价格。控制变量同一个 issue用 Sonnet 和用 Haiku 的 Token 消耗可能差一个量级解决率也不同。建议先用小模型跑一遍把明显能过的过掉剩下的用大模型。5.3 模型选择Claude Code 默认用 Anthropic 的模型。通过 TaoToken 接入时ANTHROPIC_MODEL填什么取决于 TaoToken 当前支持的模型列表。选模型时考虑三点上下文窗口、代码能力、单价。SWE-bench 这类任务对代码能力要求高小模型容易在“定位文件”这一步就偏掉。具体可用模型 ID、单价、限流策略以 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate 和控制台为准。本文不含排行分数也不对任何模型做评测排名。如果你要长期跑这类 Agent 任务可以看 Coding Plan 页面 https://taotoken.net/coding-plan 如果只是接入排障看 API Keys https://taotoken.net/api-keys 和文档 https://taotoken.net/doc 。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度
返回列表