For AI agents: the complete documentation index is available at https://a3s-lab.github.io/ash/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/ash/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/ash/guide/benchmarks.md.
  • 简体中文
  • next
  • 基准与质量门禁

    ash 优先优化 Coding Agent 完成任务的总 Token、延迟和可恢复性。任何数字都必须来自 可复现语料、锁定工具版本和提交内报告。

    格式基线

    cargo run -p a3s-ash-bench --locked -- \
      --check benches/reports/v0.1.0/format.json

    报告固定语料 SHA-256、tokenizer、原始字节、Token 数、相对比例和门槛。当前 ASON 在两种 tokenizer 上都使用紧凑行式 JSON 约 62% 的 Token,回归上限为 65%。

    同一份报告还比较六种保留结果公式。规范的 / # ? - | > 语法在两种 tokenizer 中均为 80 Token,与直接 ASCII 字母的最低值相同;希腊字形为 86/86,旧包装结构为 97/98。规范语法占旧结构字节数的 84%,Token 分别为 83% 和 82%。

    报告也直接调用生产环境的 ×N 重复行折叠器。8,192 行确定性诊断输出投影为 128 行,字节数和两种 tokenizer 的 Token 数都约为原文的 1%;门禁上限为 5%。投影只负责减少上下文,完整原文仍由结果引用保存。

    独立的 ×N#K 重复块门禁把 32 组六行块各重复 64 次:12,288 行原文投影为 224 行,字节数和两种 Token 数均约为原文的 2%,同样低于 5% 上限。

    ⋯N 失败诊断门禁在 8,192 行唯一日志中放置 32 个错误锚点。固定首尾与 [-2, +6] 窗口将其投影为 325 行,字节数和两种 Token 数均约为原文的 4%,低于同一 5% 上限; 所有省略行仍可通过完整流引用读取。

    多核确定性

    cargo build -p a3s-ash --release --locked
    cargo run -p a3s-ash-bench --release --locked -- --runtime

    schema 14 包含二十二个场景。十五条端到端路径覆盖递归目录遍历、字面量搜索、正则搜索、 BLAKE3 快照、磁盘 spill/fetch、计算池空闲/全满时的配对磁盘 I/O、全新 ash run 启动、空子进程启动、三种双管道捕获、进程树 取消、热态帧式 RPC 分发,以及保留 ASON 表的 | 列投影;另外测量 1,024 项字典上的 4,096 次热路径查找,以及 64、256、1,024 节点的 DAG 校验与调度。结构化投影读取并解析 16,384 行源表,再在配置的 Rayon 池中有序选择六列;所有 Worker 数必须得到完全相同的 行序和规范输出。三条多核 reducer 场景分别把 131,072 行输出按连续 512 行、“八行块重复 64 次”和稀疏失败诊断组织,验证每个 Worker 数都产生完全相同的 ×N×N#K⋯N 文本与计数。块搜索在省略前逐字节核对;诊断分类保留源顺序固定窗口。目录与搜索夹具拆成 互不重叠的根,使遍历和扫描能进入受限 Worker 池; 目录遍历只统计条目吞吐,不虚构内容字节吞吐。矩阵场景使用 1、2、4、8 和主机可用 Worker。 字典与 DAG 在单调用线程上测量,扩展字段为 null。每次冷启动都会启动并回收同 profile 的真实二进制;热态分发复用一条生产 RPC 会话,只排除握手。任何规范输出变化都会让报告 失败,字面量与等价正则还必须产生完全相同的结果。时序仅代表当前主机。

    三种捕获 profile 都让 stdout 与 stderr 各写入 8 MiB,并校验磁盘保留值末尾 64 KiB。 steady 连续写 16 KiB;fragmented 循环写入 [1, 7, 31, 257, 4093, 16384, 65521] 字节并逐块刷新;bursty 循环写入 [512, 4096, 16384, 65536] 字节,每 256 KiB 刷新并停 2,000 微秒。报告直接记录这些 参数和 profile 描述摘要;编译后的夹具必须先自述出同一配置,之后才开始计时。

    io-spill-idle-computeio-spill-saturated-compute 使用完全相同的 8 MiB 输入, 只测量零内存上限的异步写入和最终刷新。饱和侧让每个 Rayon Worker 持续执行整数计算, 并在 I/O 完成时检查所有 Worker 仍在运行;随后才释放负载、计算 BLAKE3 并校验同一段 64 KiB 尾部。样本交替先后顺序,报告逐 Worker 给出饱和/空闲 p50 比值,但不设跨主机门槛。

    ASH / 原生 Shell 任务语料

    cargo run -p a3s-ash-bench --locked -- \
      --check-task-lock benches/tasks/v1/lock.json
    cargo run -p a3s-ash-bench --locked -- --tasks

    七个小型契约覆盖搜索、诊断聚合、精确补丁、递归列表、多文件顺序读取、带摘要保护的文件事务, 以及独立 Batch 图。每个任务都从同一份锁定的可见树启动两次:一次走当前平台的原生 Shell, 一次把类型化请求送入生产 ASH 会话。

    schema 2 报告同时校验语义输出与最终状态。原生侧统计目标、命令、stdout 和 stderr;ASH 侧统计 同一目标以及全部规范 ASON 请求和响应,并为每一步与完整轨迹记录稳定摘要。这些计划由人编写, 所以报告明确标注 deterministic-tool-planagent_results: false。它只说明协议成本和正确性, 不是模型成绩,也不是 Token 节省结论;在这些极小任务上,结构化元数据与安全摘要会表现为额外开销。 嵌入式会话握手不计入 Token;未来的真实模型报告必须补上摊销后的 primer 与格式说明成本。

    真实 Agent 轨迹

    仓库已经定义严格的成对轨迹格式。每一轮必须用同一模型、同一种子和同一任务顺序分别跑 ASH 与 原生 Shell,并记录驱动摘要、模型修订、primer、采样参数、供应商用量及每个工具结果的 SHA-256。

    cargo run -p a3s-ash-bench --locked -- \
      --validate-agent-trace ./trace.json
    cargo run -p a3s-ash-bench --release --locked -- \
      --agent-trace ./trace.json --allow-native-agent-exec > report.json

    重放从锁定夹具的隔离副本开始。模型选择的 ASON 请求会进入生产 ExecutionSession;原生脚本只有在 操作者显式授权后才执行。每一步都核对模型实际收到的结果摘要,最后再核对语义输出、预期文件和完整 可见树。主指标采用供应商输入 Token 加可见输出 Token,缓存输入仍计费,隐藏推理单独报告且不计入; 另用两种固定 tokenizer 统计 primer、目标、请求、工具结果与最终回答。失败任务不会从报告中删掉。

    重放只能证明轨迹内部一致,不能替供应商证明身份。因此报告固定标注 provenance: external-self-attested-traceprovider_attestation_verified: false;发布结果时还要附上 适配器摘要及可获得的供应商侧审计证据。

    这套能力只是轨迹校验和重放基础设施。仓库目前没有发布真实模型成绩,也不会把确定性计划改名成 Agent 结果。

    当前自动化

    • 覆盖所有 workspace crate 的 Rust 单元与集成测试。
    • Linux、macOS、Windows 的 cargo check 与测试。
    • 三平台安装器的真实发行构建 Smoke。
    • 十五条端到端运行时路径、三条多核输出 reducer、热路径字典与三种节点规模的 DAG 调度证据。
    • 七个锁定任务、生产 ASH 轨迹及 Linux、macOS、Windows 原生 Shell 基线。
    • 成对模型轨迹的严格 schema、供应商 Token 记账、结果摘要与最终树重放校验。
    • 每周两次运行 AddressSanitizer:覆盖 ASON、受限 ASH/1 帧与类型化请求、任意更新元数据,以及经过有效签名的更新决策。每次运行延续受限语料,并保留绑定源提交的摘要、原始日志、最终语料、异常产物与制品摘要 90 天。
    • 30 个真实文件事务正向崩溃切点、12 个恢复重入切点、四节点 DAG 传播穷举,以及更新激活/恢复和取消竞态测试。
    • 锁定的第三方许可证清单。

    仍需发布的证据

    首个受支持版本还需要采集并发布真实 Agent 任务结果、持续 Fuzz 时长记录、硬件标注的延迟/吞吐 报告,以及使用正式凭据完成的六目标安装、升级和回滚结果。