
UI-TARS-desktop 如何用 content-extraction 基准测试评估网页内容提取策略的耗时与 Token 开销【免费下载链接】UI-TARS-desktopThe Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop当网页内容要交给 LLM 处理前需要先把它从 HTML 里抽取出来。不同抽取策略原始 HTML 直取、转 Markdown、Readability 正文提取等在执行耗时和产出的 Token 数量上差异明显直接影响成本和上下文占用。UI-TARS-desktop 仓库在 content-extraction 基准测试 中内置了一套可运行的评测工具本文按“安装 → 运行 → 解读输出 → 落盘核对”的顺序说明如何用它对比各策略的耗时与 Token 开销。评测对象四个内置提取策略基准测试固定对比 src/index.ts 中注册的四个策略各自定位如下引自 README策略作用RawContent不做任何处理的原始页面内容作为对比基线CurrentMarkdown模拟当前browser_get_markdown的实现抽取内容并转 MarkdownReadability使用 Mozilla Readability 库提取正文去除导航、广告等非必要元素Optimized基于内容密度分析、语义结构保留和多级回退机制的优化实现如果只关心某一条链路可以在 src/index.ts 的strategies数组里删减数组中保留哪个策略就测哪个。运行环境与前置条件该包agent-tars/content-extraction-benchmark位于multimodal的 pnpm workspace 内multimodal/pnpm-workspace.yaml 的packages中包含benchmark/*所以在multimodal/目录统一安装依赖即可cd multimodal pnpm install cd benchmark/content-extraction运行依赖能访问目标 URL 的网络默认测试 URL 见下文。浏览器以非 headless 方式启动benchmark-runner.ts 中browser.launch({ headless: false })会弹出浏览器窗口运行过程可见但不需要人工干预跑完自动关闭。执行基准测试package.json 中定义了两个脚本scripts: { bench: ts-node src/index.ts --save, bench:memory: node --expose-gc node_modules/.bin/tsx src/index.ts }最简主路径每个策略运行 3 次并落盘使用默认 URLcd multimodal/benchmark/content-extraction pnpm bench入口脚本 src/index.ts 的默认配置是urls默认测两个页面——GitHub 上的 GUI-Agents-Paper-List 页面和 MDN 的 Promise 文档页runsPerStrategy: 3每个策略重复 3 次用于统计均值和标准差waitUntil: domcontentloaded页面导航等待条件saveToDisk由命令行--save/-s参数决定bench脚本已内置--savebench:memory不带。说明一个文档差异README 的 Usage 一节写的是npm run benchmark、npm run benchmark https://example.com、npm run benchmark --save而 package.json 实际定义的脚本名是bench与bench:memory。以 package.json 为准。可选分支换用自己的 URL。入口脚本会取第一个不以-开头的命令行参数作为自定义 URL此时只测这一个 URLpnpm bench https://example.com采集内存指标。bench:memory用node --expose-gc启动使global.gc()可用同时需要把 src/index.ts 中的collectMemoryUsage设为true默认是false两者都满足后结果里才会出现 Memory (MB) 列pnpm bench:memory控制台输出与指标含义跑完后 presentResults() 会在终端打印三组表格耗时统计Avg / Min / Max Time (ms) 与 Std Dev (ms)。标准差反映同一策略多次运行的稳定性。内容统计Original Len原始 HTML 字符数、Extracted Len抽取后字符数、Token Count抽取内容按cl100k_basetokenizer 计出的 Token 数见 countTokens() 中对dqbd/tiktoken的使用。压缩比Length Ratio 是抽取内容相对原始内容的长度百分比Token Ratio 是相对基线策略 RawContent 的 Token 百分比。README 给出的解读口径是执行时间越低越好抽取长度越低通常说明噪声去除得更好Token 数越低意味着 LLM 处理越高效内容质量偏主观需要查看抽取出来的内容本身来判断。也就是说“最优策略”没有唯一答案需要按自己对耗时、Token 预算和内容质量的侧重来做取舍。结果落盘与核对--save模式下saveResultToDisk() 按result/URL 安全化目录名/策略名/写文件meta.json策略名、URL、时间戳、executionTime、originalLength、extractedLength、tokenCount等例如 RawContent 的 meta.jsonoriginal.md该页面的原始内容result.md该策略抽取出的内容用于人工检查质量。所有策略跑完后summary/目录还会生成results.json完整聚合数据和summary.mdMarkdown 汇总表例如 GitHub 测试页的 summary.md。仓库里已保存了两轮示例运行GitHub GUI-Agents-Paper-List 页与 MDN Promise 页可以直接打开对照自己跑出的数字。文档示例结果下面是 README 中给出的历史运行示例文档示例不是每次运行必然得到的数值Strategy │ Avg Time (ms) │ Min Time (ms) │ Max Time (ms) │ Std Dev (ms) RawContent │ 492.42 │ 247.29 │ 758.27 │ 212.19 CurrentMarkdown │ 494.47 │ 287.30 │ 707.46 │ 206.10 Readability │ 622.49 │ 271.61 │ 1103.75 │ 334.54 Optimized │ 588.73 │ 271.24 │ 1084.25 │ 318.71 Strategy │ Original Len │ Extracted Len │ Token Count RawContent │ 829,024 │ 486,823 │ 153,825 CurrentMarkdown │ 829,024 │ 127,360 │ 29,623 Readability │ 829,024 │ 136,209 │ 35,457 Optimized │ 829,024 │ 284,810 │ 79,581 压缩比相对原始内容 RawContent │ Length 58.72% │ Token 100.00% CurrentMarkdown │ Length 15.36% │ Token 19.26% Readability │ Length 16.43% │ Token 23.05% Optimized │ Length 34.35% │ Token 51.73%同一份示例也保存在 result 目录的 summary.md 中可自行核对。注意事项该基准测试面向的是单机本地浏览器LocalBrowser场景测试的是页面加载到domcontentloaded之后的抽取耗时不含远端浏览器环境。Token Count 固定使用cl100k_base编码统计换用其他模型的 tokenizer 得到的数值口径会不同比较时应保持同一口径。耗时受页面体积和网络状态影响跨页面、跨时段的绝对数值不要直接互比同一页面同一批次内做相对比较才有意义。内存指标属于可选输出不满足--expose-gccollectMemoryUsage: true时输出里不会包含 Memory 列这属于未启用而非异常。bench脚本每次都会往result/目录写文件--save目录以 URL 安全化名称建子目录重跑同一 URL 会写入同一目录结构注意区分不同轮次的运行。跑完一轮后以result/URL 目录/summary/summary.md中各策略的 Avg Time 与 Token Count 作为决策依据Token 预算紧张时优先看 Token Ratio关注响应延迟时看 Avg Time 与 Std Dev内容质量则打开各策略的result.md人工比对。【免费下载链接】UI-TARS-desktopThe Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考