@garrytan: GBrain SkillOpt 现在有4个端到端评估验证其功能 https://github.com/garrytan/gbrain-evals/blob/main/docs/benc…

X AI KOLs Following 工具

摘要

Garry Tan 的 gbrain-evals 是一个用于 gbrain(AI 代理的长期记忆)的开源测试套件,包含4个端到端评估验证 SkillOpt 功能,在多个基准测试中实现了高召回率和高精确度。

GBrain SkillOpt 现在有4个端到端评估验证其功能 https://github.com/garrytan/gbrain-evals/blob/main/docs/benchmarks/2026-06-03-skillopt.md…
查看原文
查看缓存全文

缓存时间: 2026/06/04 03:58

GBrain SkillOpt 现在有 4 个端到端评估验证其工作正常 https://github.com/garrytan/gbrain-evals/blob/main/docs/benchmarks/2026-06-03-skillopt.md…


garrytan/gbrain-evals

来源:https://github.com/garrytan/gbrain-evals

gbrain-evals

这是 gbrain(https://github.com/garrytan/gbrain)的测试套件,gbrain 是一个 AI 智能体可读写长期记忆的系统。此处所有内容均为公开的,可在你自己的机器上运行,并可通过提交哈希复现。我们测试的是智能体记忆必须正确的全部方面,而不仅仅是一个在推文中看起来漂亮的数据:包括查找相关内容、记住谁是谁、保持时间顺序正确、不自相矛盾、引用事实来源,以及在记忆包含数十万页时仍能保持快速。我们还会公开那些不够理想的数据,与优秀数据并列,因为一个你要在其上构建的记忆系统必须诚实地告知其薄弱之处。如果你正在决定是否信任 gbrain 来承载智能体的记忆,这个仓库就是你检验我们工作成果的方式,而不是仅仅听信我们的一面之词。

基准测试的工作原理(60 秒速览)

这里的每个基准测试包含三个部分:

  1. 语料库 —— 一堆逼真的内容(聊天记录、会议笔记、邮件、个人简介页面)。部分内容是我们生成的虚构人生,部分则是其他研究人员使用的公开数据集。
  2. 带有密封答案的问题 —— 每个问题都有一个已知正确的答案,该答案存在于一个独立文件中,被测系统永远无法看到。gbrain 必须仅从内容中找到答案,无法偷看答案密钥,因此无法作弊。
  3. 分数 —— 我们提出问题,查看返回的结果,并与密封答案进行比较。有两个通俗易懂的衡量指标随处可见:
    • 召回率 —— “返回结果中是否包含了正确答案?” 召回率@5 为 97% 意味着在 100 次提问中,正确的记忆出现在前 5 个结果里共 97 次。
    • 精确率 —— “返回的结果中,有多少是真正相关的?” 高精确率意味着混杂的无关内容很少。
      大多数问题追求高召回率(不遗漏答案),某些问题则追求高精确率(不埋没答案)。一个真正的记忆系统必须在两者上都表现出色,并根据所提问题的需求保持适当的平衡。我们测试的正是这种平衡,而不是为了一个指标牺牲另一个。

gbrain 目前的水平

测量项目结果通俗解释报告
LongMemEval(公开数据集,500 道题,基于长对话历史)97.6% 召回率@5正确的记忆有 97.6% 的概率出现在前 5 个结果中。这是该测试已发布的最佳成绩,且检索循环中未使用 LLM。报告
关系型问题(“谁把 X 介绍给了 Y?”)基于 240 页虚构人生97.9% 召回率@5,49.1% 精确率@5在精确率上比纯向量搜索高出 38 个百分点。图结构层(谁认识谁)独自贡献了其中约 30 个百分点。报告
跨 20 个版本的稳定性(v0.20.0 → v0.40.6.0)零回归各个版本的主要指标保持不变。新功能并未悄无声息地让检索效果变差。报告
PrecisionMembench(外部纯精确率测试)第 2 名,以及一个诚实的“默认第一”的故事见下文关于诚实的说明。报告
SkillOpt(技能能否在不作弊的情况下自我改进?)4/4 技能从 0 提升到 1.00;作弊行为被阻止;改进可迁移有缺陷的技能在保留任务上重写自身至完美;关键词填充作弊被独立评判器捕获;在一个模型上优化的技能可在另一个模型上工作。报告

一个持续更新的跨系统对比表位于 docs/comparison-systems.md

我们也公布不好的数据

关于我们思考方式最清晰的例子是 PrecisionMembench,这是一个仅评估检索精确率的外部测试,它会惩罚那些返回多个结果让模型自行筛选的系统。

  • gbrain 的默认设置在此测试中得分 0.076 精确率。这看起来很差,我们将其公布了。它在这个特定测试上表现差是因为 gbrain 的默认设置调整为了从不遗漏答案(召回率保持在 0.99),这对于一般情况来说是正确选择。
  • 这个结果促成了一个真正的功能:一个可选设置,在问题期望单个答案时收紧返回结果的数量。启用该设置后,gbrain 的精确率达到 0.582,延迟比最接近的通用系统低三分之二,仅次于专门为这一基准测试构建的工具。我们特意在 README 中保留了诚实的默认值 0.076。你要在其上构建的系统应该针对真实的问题分布进行优化,而不是为了在某一个狭隘测试中登顶,并且当某个数字来自特殊情况时,它应该直接告诉你。

反游戏机制已内置于测试工具本身:在边界处使用密封答案密钥、根据重复运行设置容忍范围、固定评判器版本、随机化问题顺序。

我们测试的内容(端到端)

每一行都是一个真实的测试,带有确定的通过/失败阈值。“已上线”表示它在 CI 中运行并控制发布。

领域检查内容标准状态
检索在大量散文中找到相关页面recall@5 > 0.83已上线
身份识别将别名、用户名、邮箱解析为同一人recall > 0.80已上线
时间“截至去年三月”、时间点/区间/时效性问题as-of recall > 0.80已上线
来源引用引用事实来自哪个源accuracy > 0.90已上线
链接连接相关页面,不产生错误链接precision > 0.95已上线
速度在负载下保持快速p95 < 200ms已上线
技能智能体行为如其声称all > 0.90已上线
工作流完整的多步骤任务,按评分规则评判80% pass已上线
鲁棒性22 个对抗性输入,永不崩溃或损坏100%已上线
多模态正确摄入 PDF + 音频 + HTMLtext > 0.95, audio WER < 0.15已上线
信任边界面向智能体的 API 不能被诱骗导致静默损坏no corruption已上线

自己运行

git clone https://github.com/garrytan/gbrain-evals.git  
cd gbrain-evals  
bun install  # 将 gbrain 作为库拉取  

公开数据集(LongMemEval,500 道题):

mkdir -p ~/datasets/longmemeval  
curl -Lo ~/datasets/longmemeval/longmemeval_s.json \  
  https://huggingface.co/datasets/xiaowu0162/longmemeval/resolve/main/longmemeval_s  
export OPENAI_API_KEY="sk-..."  # 用于嵌入  
export ANTHROPIC_API_KEY="sk-ant-..."  # 仅用于查询扩展变体  
bash eval/runner/longmemeval-batch.sh  # 所有变体,并行,可恢复  
bun eval/runner/longmemeval.ts --stratify 10  # 快速按类型取样 10 个  

首次运行嵌入成本约 $2;后续运行命中本地缓存,成本几乎为零。

我们自己的套件(称为 BrainBench;无需 API 密钥,完全离线):

bun run eval:run  # 完整的检索 + 行为套件,约 15 分钟  
bun run eval:run:dev  # 一次性烟测试  
bun run eval:world:view  # 浏览测试所运行的虚构语料  

精确率测试:

bun eval/runner/precisionmembench.ts --mode gbrain-hybrid  # 诚实的默认值(0.076)  
bun eval/runner/precisionmembench.ts --mode gbrain-adaptive --entity-max 1 --other-max 1  # 0.582  

语料库

我们测试的内容都是可发布的,因此任何人都可以在不接触私有数据的情况下复现结果。

  • 240 页虚构人生(2.0MB,已提交):80 个人、80 家公司、50 次会议、30 个概念,由 Opus 生成。每个页面附带一个密封答案密钥,该密钥永不会进入被测系统。
  • 一个混乱的虚构星期(2.1MB,已提交):50 封邮件、300 条聊天消息、20 个日历事件、8 份转录稿、40 条笔记,其中植入了矛盾、过时事实和刻意垃圾信息,以便我们在输入真实且有噪音时测试大脑是否保持清晰。可通过 bun run eval:generate-amara-life 确定性重新生成(种子 42)。

仓库结构

gbrain-evals/  
├── eval/  
│   ├── data/          语料库 + 密封答案密钥 + 公开数据集  
│   ├── runner/        每个基准测试一个文件(我们的套件、LongMemEval 等)  
│   ├── reports/       临时运行输出(已 gitignore)  
│   └── cli/           浏览和验证语料库  
├── docs/  
│   ├── benchmarks/    已发布的评分卡,附带数据和图表  
│   └── comparison-systems.md  
└── test/eval/         测试工具自身的单元测试  

贡献

  • 复现结果: 每张评分卡都标明了运行时的提交哈希。git checkout && bun run eval:run
  • 为自己的系统打分: 针对我们的接口实现一个适配器,注册它,运行套件,并提交一个包含你评分卡的 PR。gbrain 是众多被测系统之一,而非基准测试的主体。
  • 添加测试: 新建基准测试文件,接入,添加单元测试,提交一个基线。

许可

MIT。虚构语料库完全由我们编造,可自由再分发。附带的精确率测试产物为 MIT 许可(tenurehq);参见 eval/precisionmembench/ATTRIBUTION.md

与 gbrain 的关系

此仓库使用 gbrain 的方式与你相同:它将 gbrain 作为库安装并调用其公共接口。gbrain 是此处的参考系统,但测试工具会对任何实现适配器接口的系统进行评分,从而保证比较的公平性。

相似文章