新闻详情

新闻详情

首页 / 资讯中心 / 详情

OpenHands 实战:TaoToken 跑通 SWE-bench Verified 实例

发布时间:2026/9/20 22:54:32来源:尧图网络
OpenHands 实战:TaoToken 跑通 SWE-bench Verified 实例
告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度1. 先把目标定清楚让 OpenHands 在 SWE-bench Verified 上跑通一个最小修复实例OpenHands 是一个开源的软件工程 Agent 框架它能自己读仓库、定位 bug、改代码、跑测试适合做仓库级修复任务的自动化验证。SWE-bench Verified 是 SWE-bench 官方筛选出的 500 个人工确认可解的真实 GitHub issue 子集常被用来衡量 Agent 的仓库级修复能力。把这两者接起来你得到的是一个可复现的本地 Harness给定一个实例 IDAgent 自动完成从读 issue 到提交 patch 的全过程。这篇要做的不是刷榜而是跑通一个最小实例把链路、命令、模型配置、成功与失败的输出形态、耗时都记录下来。适合已经用过命令行、想验证 Agent 在真实仓库任务上表现的开发者。模型请求统一走 TaoToken 的 APIOpenHands 侧只需要改 Base URL 和 Key 两处。我试过用最小实例先验证链路再考虑批量跑这样排障成本最低。下面按「准备环境 → 拿 Key → 配置 OpenHands → 跑实例 → 看结果」的顺序展开。2. 环境准备与 OpenHands 启动2.1 基础依赖OpenHands 官方推荐用 Docker 运行因为 Agent 会在容器里执行命令、装依赖、跑测试隔离性更好。你需要Docker 24 与 docker composePython 3.11如果走 pip 安装方式至少 8GB 内存仓库级任务建议 16GB一个可用的模型 API Key下一步在 TaoToken 创建先确认 Docker 正常docker --version docker compose version2.2 安装 OpenHands方式一pip 安装 CLIpython -m venv openhands-env source openhands-env/bin/activate pip install openhands-ai方式二直接用官方 Docker 镜像省去本地依赖docker pull docker.all-hands.dev/all-hands-ai/openhands:latest我倾向 Docker 方式环境干净出问题好回滚。启动命令把 Key 和 Base URL 通过环境变量传入docker run -it --rm \ --pullalways \ -e SANDBOX_RUNTIME_CONTAINER_IMAGEdocker.all-hands.dev/all-hands-ai/runtime:latest \ -e LOG_ALL_EVENTStrue \ -e LLM_API_KEY$TAOTOKEN_API_KEY \ -e LLM_BASE_URLhttps://taotoken.net/api \ -e LLM_MODELanthropic/claude-sonnet-4-20250514 \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ --name openhands-app \ docker.all-hands.dev/all-hands-ai/openhands:latest启动后浏览器打开http://localhost:3000进入 Web 界面。注意LLM_BASE_URL填的是https://taotoken.net/api不要带末尾斜杠也不要加 UTM 参数否则部分 SDK 会拼接出错误路径。2.3 准备 SWE-bench Verified 实例SWE-bench 官方提供了评测脚本和数据集。最小验证不需要跑全量挑一个实例即可。先拉取数据集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][base_commit]) 输出会给出实例 ID、仓库名、base commit。记下这三个字段后面 OpenHands 要用。比如某个实例是django__django-11099仓库是django/djangobase commit 是一串 SHA。3. TaoToken 接入拿 Key 与默认供应商配置3.1 创建 API Key访问官网注册并创建 Keyhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate登录后进入控制台在 API Keys 页面新建一个 Key复制保存。控制台地址https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerateKey 只在创建时完整显示一次丢了就重建。把它写进环境变量避免硬编码进脚本export TAOTOKEN_API_KEYsk-你的key3.2 在 OpenHands 里设为默认供应商OpenHands 的模型配置有三个关键字段LLM_MODEL、LLM_API_KEY、LLM_BASE_URL。把 Base URL 指向 TaoToken 的 API 端点OpenHands 的所有模型请求就会走统一入口。Web 界面里也可以改进入 Settings → LLMProvider 选 Custom 或 Anthropic 兼容Base URL 填https://taotoken.net/apiAPI Key 填上一步的 KeyModel 填你要用的模型名。如果你用配置文件方式编辑~/.openhands/config.toml[llm] model anthropic/claude-sonnet-4-20250514 api_key sk-你的key base_url https://taotoken.net/api模型名要按 TaoToken 文档里的写法填不同供应商前缀不同。接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate3.3 验证连通性在跑实例前先用一个最小请求确认 Key 和 Base URL 没问题curl https://taotoken.net/api/v1/messages \ -H x-api-key: $TAOTOKEN_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-20250514, max_tokens: 64, messages: [{role: user, content: reply with ok}] }返回里能看到content字段就说明链路通了。如果返回 401检查 Key 是否复制完整返回 404检查 Base URL 是否多了斜杠或路径。4. 跑通最小实例命令、输出与耗时4.1 用 CLI 方式跑单实例OpenHands 支持直接指定任务描述。把 SWE-bench 实例的 issue 文本作为任务输入openhands run \ --task Fix the issue described in the repository. Repo: django/django, base commit: SHA. Issue: 把 issue 正文粘进来 \ --model anthropic/claude-sonnet-4-20250514 \ --base-url https://taotoken.net/api \ --api-key $TAOTOKEN_API_KEY \ --workspace ./workspaceAgent 会依次执行克隆仓库、checkout 到 base commit、读 issue、定位相关文件、改代码、跑测试。整个过程在终端有事件流输出。4.2 成功输出片段跑通时终端会看到类似这样的收尾[Agent] Running tests for the modified module... [Runtime] pytest tests/test_xxx.py -q [Runtime] 1 passed, 0 failed [Agent] Patch generated: fix.patch [Agent] Task completed in 412sfix.patch就是 Agent 产出的修复补丁。用git apply --check fix.patch验证能否干净应用再用 SWE-bench 官方评测脚本跑一遍确认FAIL_TO_PASS测试从失败变通过。4.3 失败输出片段与分支常见失败形态有三种。第一种Agent 找不到相关文件事件流里反复出现search但没命中最后超时[Agent] Searching for def validate in repo... [Runtime] 0 matches [Agent] Task timed out after 900s第二种改了代码但测试仍失败[Runtime] pytest tests/test_xxx.py -q [Runtime] 1 failed, 0 passed [Agent] Patch generated but tests failing第三种模型请求报错通常是 Key 或 Base URL 问题[LLM] Error: 401 Unauthorized对应处理超时就换更强的模型或缩小任务范围测试失败就检查 base commit 是否 checkout 正确401 就回到第 3.3 步验证连通性。4.4 耗时记录单实例耗时受模型、仓库大小、任务复杂度影响。我实测下来中等规模仓库的最小修复实例用 Sonnet 级别模型端到端在 6 到 12 分钟之间。其中模型推理占大头容器内跑测试占 1 到 2 分钟。批量跑时建议并发控制在 2 到 4避免容器资源争抢。5. 限制、成本与模型选择SWE-bench Verified 的实例都是真实仓库依赖安装和测试执行可能很重容器磁盘建议留 20GB 以上。部分实例的测试环境需要特定 Python 版本OpenHands 的 runtime 镜像不一定全覆盖遇到装依赖失败就手动指定镜像。成本方面模型调用按 token 计费仓库级任务上下文长单实例消耗可能到几十万 token。具体价格以官网为准https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate模型选择上仓库级修复对长上下文和代码理解要求高建议用 Sonnet 或同级模型起步。想省钱可以先用小模型跑通链路再换大模型跑正式实例。长期批量跑的话Coding Plan 更划算https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate最后提醒一句SWE-bench 官方评测脚本和数据集版本要对齐base commit 错了后面全错。跑之前先git log -1确认 commit比事后排查省事得多。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

TanStack DB 接入 SQLite 持久化:基于 RxDB SQLite RxStorage 的原生与 WASM 存储实战 2026/9/20 23:33:41

TanStack DB 接入 SQLite 持久化:基于 RxDB SQLite RxStorage 的原生与 WASM 存储实战

TanStack DB 接入 SQLite 持久化:基于 RxDB SQLite RxStorage 的原生与 WASM 存储实战 【免费下载链接】rxdb The local-first database that runs on every JS runtime and replicates with your existing backend - no vendor, no lock-in - https://rxdb.info/ …

阅读更多 →
MicroPython pyboard 快速参考指南:核心 API 实战速查与源码级解读 2026/9/20 23:33:41

MicroPython pyboard 快速参考指南:核心 API 实战速查与源码级解读

MicroPython pyboard 快速参考指南:核心 API 实战速查与源码级解读 【免费下载链接】micropython MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems 项目地址: https://gitcode.com/gh_mirrors/mi/microp…

阅读更多 →
MXNet 在 AWS 云端部署实战:EC2 实例、SageMaker 托管训练与 S3 数据集成 2026/9/20 23:33:41

MXNet 在 AWS 云端部署实战:EC2 实例、SageMaker 托管训练与 S3 数据集成

MXNet 在 AWS 云端部署实战:EC2 实例、SageMaker 托管训练与 S3 数据集成 【免费下载链接】mxnet Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Jav…

阅读更多 →
从零搭建AI编程工作台:工具选型、模型搭配与配置实战 2026/9/20 23:33:41

从零搭建AI编程工作台:工具选型、模型搭配与配置实战

前两天有个朋友问我:现在AI编程工具多到爆炸,有没有一套真正能提效率的“AI编程工作台”方案?他说自己试了一堆工具,装完觉得都挺好,但写代码的时候还是老流程,AI像个摆设。这个问题我太有共鸣了&#xff0…

阅读更多 →
PyTorch Lightning 张量并行与 2D 并行实战:用 `ModelParallelStrategy` 训练 Llama 3 7B 2026/9/20 23:33:41

PyTorch Lightning 张量并行与 2D 并行实战:用 `ModelParallelStrategy` 训练 Llama 3 7B

人工智能深度学习机器学习预训练分布式训练微调 【免费下载链接】pytorch-lightning Pretrain, finetune ANY AI model of ANY size on 1 or 10,000 GPUs with zero code changes. 项目地址: https://gitcode.com/gh_mirrors/py/pytorch-lightning 点击查看 免费下载…

阅读更多 →
Claude Code开发中LSP Token消耗优化实战 2026/9/20 23:30:41

Claude Code开发中LSP Token消耗优化实战

1. 项目概述作为一名长期使用Claude进行代码开发的工程师,我发现很多同行在使用Claude Code功能时都存在一个共同痛点:LSP(Language Server Protocol)Token消耗过高。经过三个月的实践优化,我总结出一套行之有效的技巧…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞