
复现Atomic Agent GAIA L1基准69.8%准确率背后本地小模型为何能跑赢竞品【免费下载链接】atomic-agentAtomic Agent is a local-first AI agent. Runs open-weight models on your own machine via llama.cpp.项目地址: https://gitcode.com/gh_mirrors/at/atomic-agentAtomic Agent 是一个本地优先local-first的 AI Agent它通过 llama.cpp 在你自己的机器上运行开源权重模型驱动浏览器、读写文件、执行命令并跨会话记忆上下文。本文带你一步步复现它的 GAIA L1 基准测试——在 53 道真实多步任务上Atomic Agent 以69.8%的准确率跑赢了竞品 Hermes 的 58.5%而且单题平均耗时还快了约 1.6 倍。全程只换Agent 循环这一个变量模型、量化、步数预算、超时全部锁死所以这个差距可以归因到工程实现本身。实验设计只改 Agent不动模型这套对比实验的完整记录写在 GAIA-L1-EXPERIMENT.md 里核心思路是控制变量数据集GAIA 2023validation切分的 Level 153 个任务涉及查资料、读文档、多步推理同一模型两个 Agent 都连接同一个本地llama-server跑Qwen3.6-35B-A3B的 4-bit 量化版同一预算每题最多 40 步、超时 15 分钟同一评分器官方 GAIAquestion_scorer的 TypeScript 移植版纯确定性匹配不掺 LLM 裁判组件配置硬件Apple M4 Max40 核 GPU模型qwen-3.6-35b-a3bUD-Q4_K_XL上下文窗口262144 tokens步数 / 超时40 步 / 15 分钟基准结果一览69.8% vs 58.5%跑完 53 道题后的对账结果非常直观指标Atomic AgentHermes准确率37/53 69.8%31/53 58.5%平均单题耗时约 217 秒约 351 秒逐题对拼15 题独占正确9 题独占正确两者都对对 22 题、都答错 7 题净差 6 题。也就是说 Atomic Agent 不仅更准还在每题上更快约 1.6 倍——准确率提升不是靠多想几轮堆出来的。复现步骤从克隆到出报告整套评测框架位于eval-agents/目录下面是完整的复现路径。1️⃣ 获取代码并构建git clone https://gitcode.com/gh_mirrors/at/atomic-agent cd atomic-agent npm install npm run build2️⃣ 下载 GAIA 数据集GAIA 是 Hugging Face 上的门禁数据集需要先在 HF 上同意协议并配置HF_TOKEN写入 eval-agents/.env。下载脚本会把它落到eval-agents/datasets/gaia/hf/下npm run eval:agents:datasets不想注册 HF可以先用仓库自带的冒烟夹具无需任何凭据验证管线是否跑得通npm run eval:agents:smoke冒烟用例固定在 smoke-level1.json。3️⃣ 跑完整 Level 1 矩阵npm run eval:agents:level1这一条命令背后是 run-level1.mjs它先拉起 chat / embedding 两个本地 llama 守护进程再以 vitest 驱动 gaia.eval.ts 逐题执行。只想测某一个 Agent 时用环境变量过滤ATOMIC_AGENT_EVAL_AGENTSatomic-agent npm run eval:agents:level1 ATOMIC_AGENT_EVAL_AGENTShermes npm run eval:agents:level14️⃣ 查看报告每次运行会在eval-agents/reports/run-时间戳/下生成一份不可变的报告目录matrix.csv/matrix.jsonl—— 每题的得分明细source of truth 是 jsonlenvironment.json—— 锁定的模型版本、采样参数、git SHA保证结果可追溯traces/taskId/*.ndjson—— 每个任务的完整工具调用轨迹方便复盘它到底做错了哪一步跑完还可以用npm run eval:agents:scorecard生成跨报告的汇总记分卡。评分怎么保证公平基准测试最怕裁判偏心这个工程在评分链路上刻意做到了零 LLM 参与答案抽取Agent 必须以FINAL ANSWER: value结尾extract-answer.ts 从原始回复中抽出最后一行答案确定性判分score-gaia.ts 是 GAIA 官方排行榜scorer.py的逐行移植——数字做归一化去$、%、逗号列表按逗号/分号拆分逐元素比对字符串忽略标点和空格后精确匹配。答案对不对只有一套公开规则说了算逐题隔离temp-workspace.ts 为每题创建全新的工作目录和状态目录跑完即删避免题与题之间互相污染严格串行vitest.config.ts 中singleFork: truemaxConcurrency: 1同一时刻只有一题在压那个共享的 llama-server排除并发干扰。本地小模型为什么能赢上下文省着花跑赢竞品靠的不是更大的模型而是为小模型设计的 Agent 循环。核心机制详见 README.md 的 Core Idea 一节一次推理 一次工具调用批模型每轮只产出一个 JSON 数组独立读操作并行执行结果压缩后再回流而不是把整个世界的快照重新编码一遍前缀字节级稳定人格、规则、工具定义在会话内保持不变配合本地llama-server的 KV-cache 复用避免每轮重新编码长提示——这正是小模型不掉链子的关键状态外置会话、记忆、任务、技能都住在提示词之外的本地文件与 SQLite 里记忆系统见 MEMORY_GUIDE.md提示词预算始终有界语法约束输出本地后端用 GBNF 文法见 grammars/tool-call.gbnf约束模型输出格式永远合法小模型也无需猜格式。模型越小这套设计越值钱。同一循环、同一数据集只把 chat 模型换小准确率是优雅退化而不是崩盘本地模型GAIA L1 准确率平均单题耗时qwen-3.6-35b-a3b69.8%约 217 sqwen-3.5-9b52.8%约 152 sgemma-4-12b45.3%约 423 s9B 模型依然能做对超过一半的 Level 1 任务且单题更快——上下文节俭的循环让小模型始终在任务上。而gemma-4-12b平均 3 步就提前放弃属于模型行为差异也说明循环的止损策略长任务在 25 步检查点持续推进、以总结而非截断收尾对最终得分影响很大。注意事项如何解读这份结果实验文档的 Caveats 一节诚实地列出了效度威胁读结果时值得留意Hermes 的 temperature 无法在配置中控制是唯一未锁定的变量GAIA L1 部分题目依赖实时网络结果会随网络状态波动4-bit 量化模型的绝对分数天然低于全精度云端模型——这是一次本地相对对比不是刷榜每档配置只跑了一次、随机种子单题结果非位级可复现。即便如此这份数据已经足够说明问题当模型固定在本地时Agent 循环的工程质量——压缩策略、缓存复用、预算控制、失败边界——才是准确率和速度差距的真正来源。而这套评测管线本身下载脚本、冒烟夹具、逐题隔离、确定性判分、环境快照也是开源的任何人都能在自己的硬件上重跑一遍、验证结论。【免费下载链接】atomic-agentAtomic Agent is a local-first AI agent. Runs open-weight models on your own machine via llama.cpp.项目地址: https://gitcode.com/gh_mirrors/at/atomic-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考