内容
<p align="center">
<img src="docs/assets/primitive-bench-logo.svg" alt="原始基准" width="110">
</p>
<h1 align="center">原始基准</h1>
<p align="center">
<b>可验证人工智能成果的市场。</b><br>
描述任务,预先获得固定价格。我们会选择合适的工具来完成任务。<br>
如果成果未交付,您将获得退款。
</p>
<p align="center">
<a href="LICENSE"><img alt="许可证:Apache 2.0" src="https://img.shields.io/badge/License-Apache_2.0-blue.svg"></a>
<a href="CONTRIBUTING.md"><img alt="欢迎PR" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg"></a>
<img alt="Python 3.11+" src="https://img.shields.io/badge/python-3.11%2B-blue.svg">
</p>
<p align="center">
<a href="https://cal.com/arlen-frederick-kumar-hs0w6h/primitivebench"><b>预约通话</b></a> ·
<a href="https://www.primitivebench.com/">官网</a> ·
<a href="apps/docs">文档</a> ·
<a href="apps/docs/methodology/v3.md">方法论</a> ·
<a href="CONTRIBUTING.md">贡献</a> ·
<a href="https://www.linkedin.com/company/primitive-bench">领英</a>
</p>
---
## 从工具调用到保证结果
一年前,编程方式发生了变化。接下来,代理运行完整的端到端工作流:选择域名,购买设计,支付托管提供商,部署应用。开发者和独立创始人将领先;企业将跟随。每个工作流都是一系列工具调用,必须实际工作。
大多数工具市场在调用时停止:他们向代理提供API,并祝其好运。**原始基准出售结果,而不是调用。**
- **描述任务。** 用平语言描述您想要完成的事情。
- **预先获得固定价格。** 估算器根据已知的、已发布的API定价来估算任务价格,然后您再提交。
- **我们路由和执行。** 原始基准内部选择并调用完成任务的子API,并跟踪每一步。
- **保证结果,否则退款。** 如果结果未交付,您将获得退款。
> ### 将您的人工智能加载到资金中,获得保证的结果。如果未完成,则退款。
<p align="center">
<a href="https://cal.com/arlen-frederick-kumar-hs0w6h/primitivebench"><b>预约通话 →</b></a>
</p>
## 为什么选择这个,而不是另一个工具聚合器
| | 聚合器(例如Apify) | **原始基准** |
|---|---|---|
| 开放市场 | ✅ 任何人都可以列出工具 | ✅ 任何人都可以上传工具 **并从中赚取收益** |
| 您支付的费用 | 工具调用 | **验证结果** |
| 如果失败 | 您的问题 | **退款保证** |
| 成本 | 计量,按需发现 | **预先固定估算**,基于已知的API定价 |
| 层 | 工具聚合 | **工具路由和可观察性** |
开放市场本身并不是一个护城河。楔形是顶层的路由:**路由到正确的工具,观察它们实际做了什么,并支持结果。** 原始基准是工具的可观察性和路由层,而不仅仅是一个寻找工具的地方。
## 验证层
结果保证的诚实程度取决于判断结果是否交付的机制。这种机制是本存储库的大部分内容:一个**供应商中立的框架,用于衡量工具是否真正完成了其工作**,按切片计算,并附有真实的统计数据。
这里的开放引擎观察输入和输出,跟踪每个工具调用,并根据黄金答案评估结果,带有置信区间和可分离性测试。该可观察性层使原始基准能够知道任务是否“完成”以及路由应将下一个任务发送到哪里。黄金答案从不存储在此存储库中;它们位于私有评估服务器后面,因此分数保持诚实,市场具有中立的仲裁者,任何供应商都无法付钱给它。
> ### “一个赢家是谎言。”
> 没有工具能赢得每个切片。我们按**切片、约束**进行评分,带有置信区间和统计可分离性,以便路由为**您的**任务选择正确的工具,而不是单一的全局最爱。
## 我们衡量什么
以下基本要素是路由构成结果的构建块。每个要素都由公共评估包评分,以便路由和退款决策基于证据,而不是民间传说。
| 基本要素 | 包 | 衡量内容 | 状态 |
|---|---|---|---|
| 网络搜索 | `eval-websearch` | 命中@k 对黄金URL等价类, 按意图切片 | ✅ 已上线 |
| 提取 | `eval-extraction` | 干净的主要内容提取的令牌生存 | ✅ 已上线 |
| OCR | `eval-ocr` | 文档类型上的文本保真度 | 🚧 计划中 |
| 向量数据库 | `eval-vectordb` | 指数配置下的召回/延迟/成本 | 🚧 计划中 |
| 重新排序 | `eval-reranker` | nDCG@10 / MAP / MRR + 命中@1,按领域和硬负密度切片 | ✅ 已上线 |
| 检索 | `eval-retrieval` | nDCG@10 / 召回@10 / MAP / MRR + 成功@10,按领域和相关集切片 | ✅ 已上线 |
| 分块 | `eval-chunking` | 按分块策略的下游检索质量 | 🚧 计划中 |
| 爬取 | `eval-crawl` | 抓取内容的覆盖率和新鲜度 | 🚧 计划中 |
| 内存 | — | 长期回忆(类似LoCoMo) | 🗺️ 路线图 |
填写 🚧 是影响最大的 **第一个贡献**,它直接扩大了市场可以路由和保证的内容。参见 [`CONTRIBUTING.md`](CONTRIBUTING.md)。
## 什么让保证诚实
- **没有伪造的#1。** 只有当赢家在统计上与亚军分离时(McNemar *p* < α,非重叠置信区间);否则,我们发布平局带,路由将它们视为可互换的。
- **真实的评估,而不是评论。** 每个声明都由一个**规范的、可引用的**统计数据支持:McNemar、Wilson区间、种子引导、Bradley-Terry / Elo。
- **任何人都可以重现。** 确定性种子、固定版本和**公共开发拆分**可以逐位重现公共运行。
- **中立的仲裁者。** 没有付费排名。三级基础事实(外部验证、权威注册、哨兵植入)带有金丝雀标记,用于污染检测。
## 快速入门
> 目前软件包尚未发布到PyPI,因此请从克隆仓库运行。
```bash
uv sync
uv run bench run --primitive ocr --config configs/ocr.yaml
uv run bench view ./runs/<run_id>
```
`bench` CLI 搭建了一个配置(`bench init`),运行评估(`bench run`),总结带有可分离性徽章的切片(`bench view`),并仅提交给保留的评估服务器进行评分(`bench submit`)。
## 从您的代理(MCP)查询
验证层不仅仅是一个网站,它还是您的**AI代理在推理过程中可以查询的工具**。[原始基准MCP服务器](apps/mcp)通过模型上下文协议公开每个切片的排行榜,因此编码代理可以询问*“哪个网络搜索API赢得了政府注册查找?”*并获得特定于切片的赢家或诚实的**平局带**,带有Wilson置信区间和引用。那就是路由大脑,暴露在外:代理提供约束,基准提供统计上诚实的答案。没有服务器端LLM,因此查询是免费的。
**🟢 现已上线**,访问 `https://benchpublic.vercel.app/mcp`,添加到Claude Code:
```bash
claude mcp add --transport http primitive-bench https://benchpublic.vercel.app/mcp
```
目前支持 **网络搜索**、**提取**、**重新排序** 和 **检索**。参见 [`apps/mcp`](apps/mcp) 以在本地运行或部署您自己的。
## 工作原理
原始基准使用已证明的框架形状(**数据集 → 任务 → 适配器 → 评分器 → 结果模式**,与EleutherAI lm-eval、UK AISI Inspect和Stanford HELM汇聚)作为市场下的可观察性基板。
**门户。** `bench-schemas` 是 **冻结的契约**(`v0.1.0`):每个包都只导入其类型,并写入它拥有的文件,没有共享的可变状态。该边界使得构建通道可以并行运行而不会发生冲突。参见 [`apps/docs/DECISIONS.md`](apps/docs/DECISIONS.md)(D-03)和 [方法论](apps/docs/methodology/v3.md)。
## 仓库布局
```
packages/
bench-schemas/ # 冻结的契约 — RunManifest, ItemResult, SliceResult, ScorerOutput, AdapterSpec
bench-core/ # 核心引擎:确定性种子,运行/清单,每个运行目录
bench-stats/ # McNemar, Wilson, 引导置信区间, 命中@k, nDCG/MAP/MRR, Bradley-Terry
bench-adapters/ # 提供商/原始适配器SDK(lm-eval注册表模式)
eval-*/ # 每个原始要素一个包:公共黄金开发集 + 评分器 + 切片定义
apps/
cli/ # `bench` CLI:初始化/运行/查看/提交
docs/ # 方法论 + DECISIONS.md
golden-sets-public/ # 公共开发集(带有金丝雀标记)。隐藏答案从不存储在此处。
```
## 路线图
验证层现已上线。成果市场(固定价格估算器、跨子API路由和退款保证)正在其基础上构建。近期工作:
- **成本估算器**,根据已知、已发布的API定价估算任务价格,然后执行。
- **路由**,将已声明的任务转换为满足它的工具调用序列。
- **成果验证阈值**:根据跟踪的输入/输出和Primitive Bench将承担和不会承担的范围限制,对每种任务类型进行精确定义。
- **开放贡献者付款**,让任何上传工具的人在路由使用它时都能赚钱。
您有希望保证端到端的工作流程吗?
**[预约通话 →](https://cal.com/arlen-frederick-kumar-hs0w6h/primitivebench)**
这正是我们现在正在进行的客户发现。
## 贡献
我们欢迎大小贡献:新的供应商适配器、分离两个工具的切片或整个stubbed原始要素。从 [`CONTRIBUTING.md`](CONTRIBUTING.md) 开始;最好的第一个问题是使用 `eval-websearch` / `eval-extraction` 作为模板实现其中一个 🚧 垂直。
## 许可证
- **代码:** [Apache-2.0](LICENSE)。
- **公共数据集** 在 [`golden-sets-public/`](golden-sets-public/) 下: [CC-BY-4.0](golden-sets-public/LICENSE-DATA)。
- 第三方归属在 [`NOTICE`](NOTICE) 中。我们从 lm-evaluation-harness、Inspect、HELM、ann-benchmarks、VectorDBBench 和 OmniDocBench 中学习,并 **不** 销售 GPL/商业双重许可代码。
---
<p align="center">
由 <b>原始基准</b> 团队构建 ·
<a href="https://www.primitivebench.com/">primitivebench.com</a> ·
<a href="https://www.linkedin.com/company/primitive-bench">领英</a>
</p>