bench.es

bench.es is a command for coding agents from druide67/asiai. It costs 32 tokens per session (1,803 once invoked), scanned B, original, Apache-2.0.

A command for comparing large language model performance on Apple computers with Apple Silicon chips. It measures response speed, time to first output, and power use across model engines.

In plain words
What is it for?
Use it to compare models or engines for coding, tool use, reasoning, and long responses. You can also test different prompt sizes and create shareable result cards.
Why use it?
It replaces guesswork with comparable results from standard prompts and repeated runs. It also lets you review past tests and export or share the measurements.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/druide67/asiai/bench.es
Clone the repo
git clone --depth 1 https://github.com/druide67/asiai

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for bench.es

README.md
[![agentmods](https://agentmods.dev/badge/commands/druide67/asiai/bench.es.svg)](https://agentmods.dev/commands/druide67/asiai/bench.es)
Your own site
<a href="https://agentmods.dev/commands/druide67/asiai/bench.es"><img src="https://agentmods.dev/badge/commands/druide67/asiai/bench.es.svg" alt="Measured on agentmods" height="20"></a>
Per session 32 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,803 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00032 $0.01803
Opus 5 $0.00016 $0.00901
Sonnet 5 $0.00006 $0.00361
Haiku 4.5 $0.00003 $0.00180

Measured 4d ago against content hash 7be7d4e0b051, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

bench.es scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

| `--power` | Validación cruzada de potencia con sudo powermetrics (IOReport siempre activo) |
docs/commands/bench.es.md · 170 lines

How it starts

The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.

asiai bench

Benchmark entre motores con prompts estandarizados.

Uso

asiai bench [options]

Opciones

Opción Descripción
-m, --model MODEL Modelo a evaluar (por defecto: detección automática)
-e, --engines LIST Filtrar motores (ej. ollama,lmstudio,mlxlm)
-p, --prompts LIST Tipos de prompt: code, tool_call, reasoning, long_gen
-r, --runs N Ejecuciones por prompt (por defecto: 3, para mediana + desviación estándar)
--power Validación cruzada de potencia con sudo powermetrics (IOReport siempre activo)
--context-size SIZE Prompt de llenado de contexto: 4k, 16k, 32k, 64k
--export FILE Exportar resultados a archivo JSON
-H, --history PERIOD Mostrar benchmarks anteriores (ej. 7d, 24h)
-Q, --quick Benchmark rápido: 1 prompt (code), 1 ejecución (~15 segundos)
--compare MODEL [MODEL...] Comparación entre modelos (2-8 modelos, mutuamente excluyente con -m)
--card Generar una tarjeta de benchmark compartible (SVG local, PNG con --share)
--share Compartir resultados en la base de datos comunitaria

Ejemplo

asiai bench -m qwen3.5 --runs 3 --power
  Mac Mini M4 Pro — Apple M4 Pro  RAM: 64.0 GB (42% used)  Pressure: normal

Benchmark: qwen3.5

  Engine       tok/s (±stddev)    Tokens   Duration     TTFT       VRAM    Thermal
  ────────── ───────────────── ───────── ────────── ──────── ────────── ──────────
  lmstudio    72.6 ± 0.0 (stable)   435    6.20s    0.28s        —    nominal
  ollama      30.4 ± 0.1 (stable)   448   15.28s    0.25s   26.0 GB   nominal

  Winner: lmstudio (2.4x faster)
  Power: lmstudio 13.2W (5.52 tok/s/W) — ollama 16.0W (1.89 tok/s/W)

Prompts

Cuatro prompts estandarizados prueban diferentes patrones de generación:

Nombre Tokens Evalúa
code 512 Generación de código estructurado (BST en Python)
tool_call 256 Llamadas a funciones JSON / seguimiento de instrucciones
reasoning 384 Problema matemático de múltiples pasos
long_gen 1024 Rendimiento sostenido (script bash)

Read the full file on GitHub · 170 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 170 lines · 32 tokens per session scan B 7be7d4e0b051

Subscribe to this mod's changes

bench.es is a command published in the GitHub repository druide67/asiai (11 stars, last pushed 5d ago), licensed Apache-2.0. It adds 32 tokens to every session and 1,803 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.