Case study · Research & development
LLM Studio
A local-first, multi-agent AI workbench for macOS. It is where we develop and measure the techniques we bring to enterprise AI work: provider routing, retrieval, agent control and token economy.
At a glance
- Status
- Research & development, used daily in-house
- Platform
- macOS desktop application with a local API core
- Started
- July 2026
- Stack
- Python, FastAPI, SQLite, React, TypeScript, Tauri (Rust), Swift
Real screens
Why it exists
Many agent frameworks let auxiliary model calls run unchecked and hand the model the whole tool catalogue on every request. We wanted to measure where tokens actually go, and build a system in which every model call is accounted for and every tool choice is deliberate.
Architecture
- Desktop shellTauri window, React interface
- Local APIFastAPI with streaming responses
- CorePersonas, crews, retrieval, policies
- ProvidersLocal and cloud models behind one interface
The core owns all logic and runs without the interface: the same functions are available from the command line and as tools over the Model Context Protocol (MCP).
Capabilities
- Persona runtime with deterministic system-prompt compilation and authority policies.
- Crew engine: blind sequential and round-table multi-agent modes, with an evaluator and a quality threshold.
- Hybrid retrieval: BM25 and vector search fused with reciprocal rank fusion, cited context, named workspaces.
- Multi-provider layer with health checks, timeouts and per-call token accounting.
- MCP registry with policy, resilience and tool-retrieval layers.
- Approval and change-safety gates before any action with side effects.
- A native macOS accessibility agent written in Swift, with an audit log.
Measured result
- tokens of Hermes Agent on the same 25 tasks
- 0.25×
- tasks succeeded in the latest run
- 25/25
- fewer tokens across three runs
- 68–77%
The main lever: each request is routed by intent to a single matching tool, so the model sees one tool schema instead of the full catalogue. On a file-read task, the first call dropped from 2,743 to 1,308 tokens.
Average total tokens per task
By task (average tokens per run)
- Read a file9,6342,1540.22×
- Search files9,6632,5930.27×
- Edit a file15,0863,5330.23×
- Multi-step task10,2122,8600.28×
- Count lines (terminal)9,5362,4990.26×
Scale and quality
- commits since July 2026
- 1,240+
- automated tests in 818 test files (Python and TypeScript)
- 12,000+
- lines of Python, plus TypeScript, Rust and Swift
- ~450k
The benchmark evidence pack — raw per-run data, SHA-256 hashes and a script that recomputes both sides — is available on request.
Have a project in mind?
Send a short description. If you need a mutual NDA first, we will send ours before you share details.





