bun-server-bench
收藏资源简介:
bun-server-bench是一个基准测试和轨迹数据集,用于训练小型专用编码模型以进行Bun后端开发。它包含50个版本化任务,每个任务都经过精心设计,以测试HTTP语义、身份验证、SQLite事务、幂等性、并发性、速率限制、队列、可观察性、WebSockets和上传等生产环境中的边缘情况。数据集提供公开和隐藏测试套件、参考解决方案、Harbor包导出和轨迹数据,旨在评估编码代理在真实Bun服务器工程中的正确性和鲁棒性。
bun-server-bench is a benchmarking and trace dataset for training small, specialized coding models for Bun backend development. It contains 50 versioned tasks, each meticulously designed to test production-grade edge cases including HTTP semantics, authentication, SQLite transactions, idempotence, concurrency, rate limiting, queues, observability, WebSockets, and file uploads. The dataset provides public and hidden test suites, reference solutions, Harbor package exports, and trace data, aiming to evaluate the correctness and robustness of coding agents in real-world Bun server engineering practices.
数据集概述
bun-server-bench 是一个用于评估编码智能体(coding agent)构建正确后端服务能力的基准测试(benchmark)与轨迹数据集(trajectory dataset)。它专注于真实的 Bun 服务端工程领域,包含 50 个版本化的任务,每个任务都设计有“表面正确但实际错误”的陷阱。
核心目标
- 衡量:编码智能体编写的代码是否能通过生产环境中的边缘情况考验,而不仅仅是看起来正确。
- 定位:前沿模型在通用编码套件上已接近满分,该数据集通过缩小领域至生产级别的 Bun 服务来保持区分度。
- 数据来源:TinyComputer 的研究项目,用于探索小型专业化模型在狭窄工程领域能否媲美前沿模型的行为。
关键特点
- 任务设计:每个任务都包含公开和隐藏两套测试用例。一个看似合理但有缺陷的实现可能通过公开测试,但会在隐藏测试中失败。
- 禁止联网:每个任务在运行时网络被禁用,且不允许任何运行时依赖项。智能体必须自行实现功能,而非导入外部包。
- 执行引擎:使用 Harbor 作为规范的执行引擎来运行和评分。
数据集规模与构成
| 属性 | 数量 |
|---|---|
| 任务总数 | 50 |
| 导出的 Harbor 包 | 50 |
| 公开 / 隐藏测试套件 | 50 / 50 |
| 参考解决方案 | 50 |
| 每个任务允许的运行时依赖 | 0 |
- 难度分布(1 最易 → 5 最难):1→7,2→3,3→2,4→20,5→18
- 数据划分:
train4 个,dev44 个,public_eval0 个,private_eval2 个
评分机制
评分采用“门控”机制,没有“接近正确”的中间分数:
- 公开和隐藏测试均通过:100 分
- 公开测试通过,隐藏测试失败:25 分
- 公开测试失败,或安装/启动/超时失败:0 分
Harbor 包通过 reward.txt 文件输出相同结果(1.0 / 0.25 / 0.0)。
涵盖的技术领域
任务覆盖了真实服务端工程的多个高要求领域,包括:
- HTTP 语义
- 身份验证
- SQLite 事务
- 幂等性
- 并发控制
- 速率限制
- 消息队列
- 可观测性
- WebSocket
- 文件上传
使用场景与指南
- 评估智能体:参考
docs/guides/evaluate-your-agent.md - 基于轨迹训练模型:参考
docs/guides/train-on-trajectories.md - 贡献新任务:参考
docs/guides/contribute-a-task.md - 了解防作弊机制:参考
docs/integrity.md - 规范参考:参考
docs/reference/
安装与运行
- 运行一个任务的参考解决方案:
bun run run:reference tasks/http-apis.todo-health.v1 - 使用指定智能体运行任务:
bun run run:agent --task tasks/authentication.jwt-verify.v1 --agent claude-code - 通过 Harbor 运行发布包:
harbor run -p harbor/databases-optimistic-version-v1 --agent oracle -e docker -y
为何选择 Bun 技术栈
- 功能压缩:
Bun.serve提供 HTTP 和 WebSocket 原语,bun:sqlite实现持久化和事务。 - 原生 TypeScript:保持任务循环简洁。
- 记忆化压力低:Bun 运行时较新,智能体难以通过记忆化来作弊。
- 领域专注性:足够狭窄以训练专家模型,又足够丰富以考验工程判断力。
许可协议
所有任务均声明为 Apache-2.0 许可。在重新分发任务、Harbor 包或数据集导出时,需保留许可元数据。




