爆火的腾讯WorkBuddy发了篇论文,公开了自家底牌:Agent Harness与Benchmark拆解
1. WorkBuddy Bench 到底在测什么Agent Harness 与 Benchmark 的真实工程拆解腾讯 WorkBuddy 团队最近放出的这篇论文核心不是又刷了个榜而是把内部用来做模型选型的那把尺子直接开源了。你如果正在做 Agent 项目大概率遇到过这种困惑同一个模型在 A 框架里跑得挺好换到 B 框架就拉胯榜单上排名第一的模型接到自己业务里效果却一般。WorkBuddy Bench 想回答的就是这个问题——它把 Agent Harness智能体运行框架和 Benchmark评测基准当成一个整体来设计而不是分开看。先说清楚三个概念不然后面没法聊。Agent Harness 指的是包裹在模型外面的那层工程框架负责工具调用、上下文管理、多轮循环、错误重试这些脏活累活。Benchmark 是评测任务集和评分体系。模型是发动机Harness 是底盘和传动系统Benchmark 是测试跑道。WorkBuddy 论文最有价值的地方在于它用数据证明了换 Harness 会直接导致排名洗牌而且洗牌幅度大到不能忽略。这套 Benchmark 包含四个子集Code、Web、Office、Security。每个子集有独立的评分仪器分数跨赛道不可比套件刻意不报总平均分。这个设计决策很关键——它承认了不同任务类型的评分逻辑本质不同强行平均只会掩盖问题。Code 子集 80 个任务里只有 10 个是修 Bug其余覆盖五种角色开发者、算法工程师、产品经理、QA、运维和 18 个细分类目。Web 子集采用 artifact-not-chat 契约Agent 必须在声明路径产出可运行工件聊天里说得再好路径下没东西就是零分。Office 子集评的是最终工作区状态不是答案文本——你写了一份看似合理的总结却没更新它描述的那张工作簿照样丢分。Security 子集 60 个任务全程无 LLM 裁判五层反作弊覆盖红蓝队全景。为什么这套东西值得你花时间研究因为它解决的是 Agent 工程里最实际的选型问题。你不需要腾讯的内部数据但你可以用同样的方法论搭建自己的评测流程。接下来我会拆解 Harness 配置模板、Benchmark 跑分验证步骤以及怎么在自己的项目里复现关键评测逻辑。2. 接入前的环境准备TaoToken 作为模型调用层在复现 WorkBuddy Bench 的评测流程之前你需要一个稳定的模型调用层。WorkBuddy 论文里测试了包括 GLM-5.2、GPT-5.5、Claude Opus 4.8、DeepSeek-V4-Flash、MiniMax-M3 在内的多个模型这些模型通过不同渠道调用时接口格式、认证方式、计费逻辑都不一样。如果你要跑多模型对比逐个对接会浪费大量时间在适配层上。TaoToken 在这里的角色是统一模型调用入口。它提供 OpenAI 兼容的 API 格式你只需要改 Base URL 和 API Key就能在同一个 Harness 里切换不同模型。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api注意 API 地址不加 UTM 参数。具体操作步骤先注册账号然后在控制台创建 API Key。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API Keys 管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。创建好 Key 之后你需要在 Harness 配置里填三个东西Base URL、API Key、Model ID。这三个要素缺一不可后面配置模板里会具体写。如果你只是想先验证模型对话效果可以直接用模型对话页面测试https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。但要做 Benchmark 跑分必须走 API 方式因为需要程序化调用和结果收集。这里有个坑要注意不同模型对 API 参数的兼容性不一样。比如 GLM-5.2 对 temperature 的敏感度比 GPT-5.5 高Claude Opus 对 system prompt 的处理方式也有差异。WorkBuddy 论文里提到 HY-3 开启跨轮 reasoning passback 后 Code 分数有提升这说明 Harness 层面的参数配置会直接影响模型表现。所以你在做多模型对比时要么统一参数要么把参数差异作为变量记录下来。另外WorkBuddy Bench 的 Security 子集涉及漏洞发现和 PoC 验证这类任务对模型的推理深度要求很高。GLM-5.2 在 Security 双榜上拿下第一说明开源权重模型在特定领域可以超过闭源模型。但你在自己项目里复现时要注意 Security 任务的评分是确定性的不依赖 LLM 裁判所以结果更可复现。3. 可复制的 Harness 配置模板与 Benchmark 跑分步骤这一节是核心操作部分。我会给出一个可复制的 Harness 配置模板然后说明怎么跑 Benchmark 验证。3.1 Harness 配置模板JSON 格式WorkBuddy 论文里提到双 Harness 评分cbc 和 cc。cbc 应该是内部 Harness 的代号cc 很可能指 Claude Code 风格的 Harness。你在自己项目里不需要完全复现这两个但需要理解 Harness 的核心配置项。下面是一个通用的 Agent Harness 配置模板你可以直接复制修改{ harness_name: my-agent-harness, model_config: { base_url: https://taotoken.net/api, api_key: sk-your-key-here, model_id: glm-5.2, temperature: 0.2, max_tokens: 8192, timeout_seconds: 120 }, agent_loop: { max_turns: 50, enable_reasoning_passback: true, tool_call_retry: 3, context_window_management: sliding_window, max_context_tokens: 128000 }, tools: [ { name: read_file, description: 读取工作区文件内容, parameters: { path: string } }, { name: write_file, description: 写入文件到指定路径, parameters: { path: string, content: string } }, { name: run_command, description: 在沙箱中执行 shell 命令, parameters: { command: string, timeout: integer } } ], evaluation: { artifact_contract: path_based, output_dir: ./workspace/output, rule_checks_weight: 0.85, llm_judge_enabled: false } }这个模板里几个关键参数需要解释。enable_reasoning_passback对应论文里提到的跨轮 reasoning passback开启后模型在每一轮可以把上一轮的推理摘要带过来Code 分数有提升。max_turns控制 Agent 最多跑多少轮Security 子集平均 30-89 轮所以如果你要跑 Security 任务这个值要设大一些。artifact_contract设为path_based对应 Web 子集的 artifact-not-chat 契约Agent 必须在指定路径产出文件。3.2 用 TaoToken 跑多模型对比要复现 WorkBuddy 论文里的多模型排名你需要至少准备三个模型GLM-5.2、GPT-5.5、Claude Opus 4.8。通过 TaoToken 调用时只需要改model_id字段。比如{ model_config: { base_url: https://taotoken.net/api, api_key: sk-your-key-here, model_id: claude-opus-4.8, temperature: 0.2, max_tokens: 8192 } }如果你要做长期编码任务或 Agent 开发可以考虑 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。这个计划适合需要频繁调用模型的场景。3.3 Benchmark 跑分验证步骤跑分流程分四步第一步准备任务集。WorkBuddy Bench 的任务是开源的你可以从论文配套仓库获取。每个任务包含任务描述刻意欠规格、工作区初始状态、隐藏测试、评分规则。注意隐藏测试是解题时不可见的但发布后全部公开。第二步配置 Harness。用上面的 JSON 模板把model_id设成你要测的模型。如果你要对比 cbc 和 cc 两种 Harness 风格需要准备两份配置主要差异在agent_loop和tools的定义上。第三步运行评测。每个任务独立运行Agent 在沙箱里操作评分资产在 Agent 行动期间完全不可见结束后才注入。你需要记录每个任务的轮次、输出 token 数、含缓存输入 token 数、最终得分。第四步汇总结果。按子集分别统计不要算总平均分。Code 子集看 bug_fix 和 api_contract 类目的得分这两个是最难的均值只有 0.47。Web 子集看 artifact 是否在声明路径产出。Office 子集看最终工作区状态是否匹配预期。Security 子集看 PoC 是否能在沙箱里稳定触发 ASAN crash。3.4 关键参数对照表参数作用推荐值注意事项max_turnsAgent 最大轮次Code: 30, Security: 90Security 任务轮次多temperature采样温度0.2太高会导致工具调用不稳定enable_reasoning_passback跨轮推理回传true开启后 Code 分数有提升rule_checks_weight规则检查权重0.70-0.95每个任务预配不同artifact_contract交付物契约path_basedWeb 子集必须开启4. 验证请求与成功结果怎么确认你的 Harness 跑通了配置好之后你需要一个最小验证流程来确认 Harness 能正常工作。不要一上来就跑完整 Benchmark先用一个简单任务验证链路。4.1 最小验证请求用 curl 发一个请求到 TaoToken API确认模型能正常响应curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-your-key-here \ -d { model: glm-5.2, messages: [ {role: system, content: 你是一个代码助手只输出代码不要解释。}, {role: user, content: 写一个 Python 函数读取 JSON 文件并返回字典。} ], temperature: 0.2, max_tokens: 1024 }如果返回 200 并且 choices 里有内容说明 API 链路通了。如果返回 401检查 API Key 是否正确。如果返回 model not found检查 model_id 是否拼写正确。4.2 Harness 端到端验证API 通了之后跑一个完整的 Agent 任务。选一个 Code 子集的简单任务比如 feature_pipeline 类目均值 0.94最容易。任务描述可能是“在工作区里添加一个数据预处理管道读取 CSV 文件过滤空值输出到新文件。”你的 Harness 应该执行以下流程模型收到任务描述后先调用read_file查看工作区结构然后调用write_file创建管道代码最后调用run_command执行测试。如果隐藏测试通过得分 1.0如果失败得分 0.0。成功的结果长这样{ task_id: code_feature_pipeline_001, model_id: glm-5.2, harness: my-agent-harness, turns: 8, output_tokens: 3200, input_tokens_with_cache: 45000, score: 1.0, rule_checks: { file_exists: true, schema_valid: true, test_passed: true } }4.3 多模型对比结果记录跑完三个模型后你会得到类似 WorkBuddy 论文表6的数据。注意几个关键观察点Code 排名在双 Harness 间可能换位Security 洗牌最狠Office 最稳。如果你发现某个模型在你的 Harness 下表现和论文差异很大先检查 Harness 配置是否一致特别是enable_reasoning_passback和max_turns。论文里提到 GPT-5.5 是全场最省高分者cbc 下 Code 只用 6.9k 输出 token。如果你测出来某个模型 token 消耗特别高但分数不高比如 DeepSeek-V4-Flash 在 cc 下输出是 GPT-5.5 的 3.3 倍但分数低 14.74 分那说明这个模型在你的任务分布下效率不高。5. 本篇常见错误排查401、local proxy failed、reading choices、OAuth跑 Benchmark 过程中最容易遇到四类报错我逐个拆解。5.1 401 Unauthorized这是最常见的错误。原因通常是 API Key 无效或过期。检查步骤确认 Key 是从 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 创建的确认请求头里Authorization: Bearer sk-xxx格式正确确认 Key 没有多余空格。如果 Key 没问题但还是 401检查 Base URL 是否写成了https://taotoken.net/api而不是https://taotoken.net/api/v1。有些 Harness 会自动拼接/v1有些不会需要看具体框架的文档。5.2 local proxy failed这个报错通常出现在 Harness 配置了本地代理但代理没启动的情况下。如果你没有用代理检查 Harness 配置里是否有proxy字段把它删掉或设为空。如果你确实需要代理确认代理地址和端口正确。注意TaoToken API 本身不需要代理直接访问即可。5.3 reading choices 报错这个错误说明 API 返回了响应但 Harness 在解析choices字段时失败了。常见原因模型返回了非标准格式或者 Harness 期望的响应结构和实际返回不一致。排查方法先用 curl 直接调 API看返回的 JSON 结构。如果choices[0].message.content存在说明 API 正常问题在 Harness 的解析逻辑。检查 Harness 是否处理了finish_reason为length的情况——如果max_tokens设太小模型输出被截断choices可能不完整。5.4 OAuth 相关报错如果你用的是 Claude Code 或类似工具可能会遇到 OAuth 认证问题。Claude Code 的接入文档在 https://taotoken.net/doc/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。关键配置三件套Base URL 设为https://taotoken.net/apiAPI Key 用 TaoToken 创建的 KeyModel ID 填你要用的模型。如果你在 Claude Code 里遇到 OAuth 报错检查是否误用了 Anthropic 官方的 OAuth 流程——TaoToken 走的是 API Key 认证不需要 OAuth。5.5 Codex auth.json 配置如果你用 Codex 风格的 Harness需要配置auth.json。文件路径通常在~/.codex/auth.json。内容格式{ base_url: https://taotoken.net/api, api_key: sk-your-key-here, model: glm-5.2 }注意model字段填 Model ID不是显示名称。如果你要切换模型改这个字段即可。5.6 Cline MCP 配置Cline 通过 MCP 协议接入时需要在 MCP 配置文件里填三件套。Base URL、API Key、Model ID 缺一不可。如果你遇到 MCP 连接失败先确认 MCP 服务是否启动再确认配置文件路径是否正确。6. 把 WorkBuddy 的方法论用到你自己的 Agent 项目里WorkBuddy 论文最值得借鉴的不是具体排名而是它的评测设计思路。你在自己项目里可以这样做第一任务分布对齐真实工作。不要用网上随便找的测试集从你的业务日志里提取真实请求模式然后改写成刻意欠规格的任务描述。WorkBuddy 的做法是锚定真实上游工件开源仓库 commit、CVE或具体业务场景匹配内部使用分布但原始用户 prompt 不进入任务。第二双 Harness 评分。同一个模型至少在两种 Harness 配置下跑一遍观察排名是否稳定。如果换 Harness 后排名洗牌说明你的评测结果对 Harness 敏感选型时要同时考虑模型和 Harness 的匹配度。第三分赛道评分不报总平均。Code、Web、Office、Security 的评分逻辑不同强行平均会掩盖问题。你的项目可能只有一两个赛道那就把这一两个赛道做深。第四记录 token 开销。花钱多不等于分数高。GPT-5.5 用 8.7k 输出 token 拿到 76.63 分GLM-5.2 用 22.0k 拿到 77.06 分差距很小但成本差很多。你的选型要综合考虑分数和成本。第五反作弊设计。WorkBuddy 的 Security 子集全程无 LLM 裁判五层反作弊。你的评测如果涉及敏感操作也要考虑怎么防止 Agent 绕过测试。如果你要长期做 Agent 开发和评测Coding Plan 可能适合你https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 里面有各框架的详细配置说明。最后说一个实际经验我试过用同一套 Harness 配置跑 GLM-5.2 和 GPT-5.5在 Code 任务上两者分数接近但 GLM-5.2 在 Security 任务上明显更强。这跟 WorkBuddy 论文的结论一致——开源和闭源的差距是分板块的不是均匀碾压。所以选型时不要只看一个总分要看你最关心的那个赛道谁更强。

相关新闻

大模型协作新趋势:收藏这篇,小白也能看懂 Orchestration 如何让 AI 团队高效运转!

大模型协作新趋势:收藏这篇,小白也能看懂 Orchestration 如何让 AI 团队高效运转!

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/11 16:31:30 阅读更多 →
DeepSeek Harness 小白入门 37:并发、重试与限流——把 API 请求管住不炸线

DeepSeek Harness 小白入门 37:并发、重试与限流——把 API 请求管住不炸线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/11 16:31:30 阅读更多 →
WSUS Server瘦身大法:用TaoToken统一Key清理冗余更新与同步配置

WSUS Server瘦身大法:用TaoToken统一Key清理冗余更新与同步配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 8:41:51 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻