资讯动态

如何用Agent-as-a-Router评测你自己的模型和基准任务:run_pipeline配置流水线完全指南

发布时间:2026/10/16 8:44:11 来源:尧图企业网站定制
【免费下载链接】agent-as-a-routerThe official implementations of Agent-as-a-Router: Agentic Model Routing for Coding Tasks.项目地址https://gitcode.com/gh_mirrors/ag/agent-as-a-router点击查看免费下载Agent-as-a-Router简称 ACRouter是一个面向编程任务的智能模型路由框架它的核心思想很简单给每个任务自动挑选性价比最高的模型来执行。如果你手里已经有一批自己的模型和一批基准任务想回答哪个模型强、哪个模型便宜、路由策略能省多少钱那么仓库内置的run_pipeline配置流水线就是为你准备的——本文带你从零配置跑通一次完整的模型路由评测。为什么需要模型路由评测直接用最强模型跑所有任务当然稳但成本昂贵直接用最便宜模型又可能频繁失败。ACRouter 的做法是先让便宜模型试验证不通过再升级到强模型verify-and-escalate 级联策略在性能与成本之间取得平衡。评测的价值就在于把路由到底有没有用变成一张量化的表格——平均性能、总成本、每美元性能、与理想选择Oracle的差距一目了然。第一步环境安装与运行自带示例整个流水线完全离线运行不需要 API Key也不调用真实模型它基于你已有的任务/模型结果做重放和评分。安装步骤详见 README.md 与 docs/HANDBOOK.mdconda create -n acrouter python3.11 -y conda activate acrouter python -m pip install -r requirements.txt python -m pip install -e .然后直接运行仓库自带的 toy 示例配置python scripts/run_pipeline.py --config configs/eval_pipeline.example.json如果看到output_dir...和一张 Markdown 格式的评测摘要表输出说明流水线已跑通。配置流水线eval_pipeline.json 逐字段详解入口脚本是 scripts/run_pipeline.py核心逻辑在 src/acrouter_repro/pipeline.py。配置文件是一个 JSON官方示例见 configs/eval_pipeline.example.json{ name: example_custom_benchmark, tasks_path: ../examples/custom_benchmark/tasks.jsonl, results_path: ../examples/custom_benchmark/model_results.jsonl, output_dir: ../outputs/tmp/example_custom_pipeline, score_threshold: 1.0, models: { toy-fast: { input_per_1m: 5.00, output_per_1m: 15.00 }, toy-balanced: { input_per_1m: 20.00, output_per_1m: 60.00 }, toy-strong: { input_per_1m: 100.00, output_per_1m: 300.00 } }, evaluations: [ { name: ACRouter custom cascade, type: verify_and_escalate, cheap_chain: [toy-fast, toy-balanced], escalate_to: toy-strong, k: 1 }, { name: Always toy-fast, type: always, model: toy-fast }, { name: Oracle, type: oracle }, { name: Cheapest, type: cheapest } ] }数据输入三种方式任选字段说明tasks_path任务清单 JSONL每行一个任务results_path模型结果 JSONL每个任务 × 每个模型一行matrix_path也可直接提供现成的评测矩阵 JSON与上面两者二选一score_threshold若结果里只有score没有resolvedscore ≥ 该值判定为通过注意所有相对路径都是相对于配置文件所在目录解析的。模型与定价配置models字段声明候选模型并按每百万 Token 的美元价格计费input_per_1m/output_per_1m。只要结果行里记录了 Token 数流水线就会自动算出每次调用的cost_usd否则成本按 0 处理——想对比每美元性能的话建议一定填上价格。评测策略evaluations 支持四种路由器verify_and_escalateACRouter 核心策略。按cheap_chain顺序逐级尝试未解决且廉价模型成功落盘次数 ≥k时升级到escalate_to的强模型。注意escalate_to不能同时出现在cheap_chain里。always所有任务都固定用某一个模型适合当上/下界对照。oracle全知视角每个任务都选奖励最高的模型作为理论上限。cheapest每个任务都选最便宜的模型作为成本下界。一次配置多个evaluations就能在一张表里横向对比你的路由策略和各种基线。准备你自己的任务与模型结果两个 JSONL 文件的格式要求很宽松参考 examples/custom_benchmark/tasks.jsonl{task_id:toy_task_001,benchmark:ToyBench,dimension:bug_fixing,prompt:Fix an off-by-one error in a list loop.}模型结果参考 examples/custom_benchmark/model_results.jsonl{task_id:toy_task_001,model:toy-fast,resolved:true,apply_ok:true,input_tokens:1200,output_tokens:220}关键约束由 src/acrouter_repro/pipeline.py 中的校验逻辑保证每行必须有task_id或id和model或model_id判定字段用resolved或score二选一score会按score_threshold转成布尔值Token 字段支持input_tokens/output_tokens或in_tok/out_tok两种写法同一任务模型的重复行、不存在的task_id、任务重复 ID 都会直接报错并提示具体原因。运行流水线并读懂评测报告再次执行可通过--output-dir覆盖输出目录python scripts/run_pipeline.py --config configs/eval_pipeline.example.json --output-dir outputs/tmp/my_eval输出目录结构outputs/tmp/my_eval/ ├── matrix.json # 自动构建的任务×模型矩阵 ├── decisions/ # 每个路由器的逐任务决策 JSONL ├── metrics/ # 每个路由器的指标 JSON ├── summary.csv # 所有路由器横向对比表 ├── summary.md ├── results.json └── resolved_config.json报告中的指标含义评分逻辑见 src/acrouter_repro/ood_repro.py指标含义AvgPerf%平均性能即任务解决率%$Total全部任务的总成本美元Perf/$每美元换来的平均性能越高越划算CumReg累计遗憾值与 Oracle 的奖励差距总和越低越好rAcc选择与 Oracle 一致的比例0~1Apply_ok%补丁可成功落盘的比例仓库中 outputs/current/summary.md 就是一份真实报告ACRouter 在 OOD 数据集上达到 66.96% 平均性能升级次数只有 18 次——这就是路由策略省钱的直观证据。进阶把路由器接进真实工作流离线评测之后如果你想让路由实时生效仓库还提供两套现成集成见 README.md 的Runtime Integration Highlights一节claude-code-router/在网关层加入 ACRouter请求发出前完成路由决策cc-switch/在代理层加入 ACRouter模型选择先于静态映射执行。代码层面也可以直接导入路由器做推理集成完整 mock 流程见 examples/inference_demo.pyfrom acrouter_repro.inference import ACRouter router ACRouter( candidate_models[cheap-model, strong-model], cheap_chain[cheap-model], escalate_tostrong-model, k1, )常见问题速查报错原因与解决duplicate result row for task/model同一任务模型出现两次去重model_results.jsonlresult row references unknown task_id结果里的task_id在tasks.jsonl中不存在router references models not present in matrixevaluations里引用了未出现在结果中的模型名task xxx is missing model cells某个任务缺少部分模型的结果行确实缺数据时可在配置中加allow_missing_cells: trueunsupported router typetype只支持verify_and_escalate或acrouter、always、oracle、cheapest更多背景与数据说明可查阅 docs/HANDBOOK.md、基准数据集 data/coderouterbench/以及复现脚本 scripts/run_all.py。配置好自己的tasks.jsonl、model_results.jsonl和定价表一条命令即可得到属于自己的模型路由评测报告。赞分享【免费下载链接】agent-as-a-routerThe official implementations of Agent-as-a-Router: Agentic Model Routing for Coding Tasks.项目地址https://gitcode.com/gh_mirrors/ag/agent-as-a-router点击查看免费下载相关推荐FinanceGym 端到端流水线完全指南从 WARC 语料到金融 Agent 基准评测FinanceGym 端到端流水线完全指南从 WARC 语料到金融 Agent 基准评测 本指南系统讲解 Google Research 开源项目 Finan人工智能深度学习NLP计算机视觉强化学习Harbor BFCL 适配器实战将 Berkeley 函数调用基准3,641 任务转化为可执行的 Agent 评测流水线Harbor BFCL 适配器实战将 Berkeley 函数调用基准3,641 任务转化为可执行的 Agent 评测流水线 本文以 adapters/bfMiniMind-V自定义训练如何适配你自己的数据集和任务MiniMind V自定义训练如何适配你自己的数据集和任务 想要打造专属于你的视觉语言模型吗MiniMind V让你仅需1小时就能从0训练26M参数的人工智能大模型多模态计算机视觉NLP预训练微调上一篇Docker-Mailserver配额管理用户存储空间精细化控制终极指南下一篇老Mac系统停在旧版本用OpenCore Legacy Patcher免费装最新macOS完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑