Inference and models
Optimize your inference
Put the next dollar where it returns most. Route each task to the model with the best outcome per dollar. The context graph improves evals and training data for fine-tuning, so inference gets better and cheaper as you scale.
Inference routing
Send each task's inference to the cheapest model that clears the outcome bar.
Model switch
Know when a cheaper or open model matches frontier results on your work.
Evals
Test models against outcomes drawn from your own process history.
Fine-tuning
Train on examples labeled by what shipped and stayed shipped.
See outcomes by model and task
Bloomfilter ties every agent session to the work it touched and what happened next: accepted, reworked, or reverted. Outcome and cost sit side by side for each model on each kind of task, measured on your work rather than a public benchmark.
Route inference to the model that earns it
Set inference routing on outcome per dollar, not habit or list price. When a cheaper or open model clears the same bar on a task, send that task's inference to it, and keep watching the same numbers to see that it still holds.
Turn your history into evals and training data
Every finished case is an example labeled by its outcome. Bloomfilter turns that history into evals and fine-tuning data, so the models you own learn from the work your teams actually do, and get better the more work runs through them.
- Frontier model
- 96%
- Accepted, at $3.06 a task
- Second frontier model
- 95%
- Accepted, at $2.41 a task
- Fine-tuned open model
- 95%
- Accepted, at $0.38 a task. Routed here
- Small fast model
- 81%
- Accepted, at $0.22 a task. Below the bar
Illustrative figures. Real numbers come from your own process data.
The trigger
The switch pays the day a cheaper or open model matches frontier outcomes on your own work. Not on a benchmark. On your tickets, your code, your process. Bloomfilter is how you see that day coming.
Measured
The context layer joins every system into one record of work, with outcomes by team, step, and model. Every deployment starts here.
Steered
Outcomes by model and task show which model earns each kind of work. Route each task's inference to the best outcome per dollar.
Owned
Outcome-labeled examples and evals from your own process history feed fine-tuning. The models are yours, trained on your work.
Autonomous
Outcomes become the reward signal. Processes route, tune, and improve themselves, with people setting the bar and approving at checkpoints.
Claude Code
Cursor
GitHub Copilot
Codex
Devin
Windsurf
Gemini CLI
Amazon Q Developer
Qualtrics
Google Analytics
Jira Product Discovery
Confluence
Figma
Lucidchart
Aha!
Jira
Linear
Azure DevOps
VS Code
GitHub
GitLab
Docker
Selenium
Cypress
Postman
SonarQube
Bitbucket
Gerrit
GitHub Actions
Jenkins
CircleCI
Argo CD
Kubernetes
Datadog
Prometheus
Grafana
PagerDuty
ServiceNow
Outcome by model and task
Accepted, reworked, or reverted, for each model on each kind of work
Cost per outcome
What a finished result cost in inference on each model, not what a token cost
Eval pass rate
How each model scores on evals drawn from your own history
Routed share
How much inference runs on the model with the best outcome per dollar
| Bloomfilter | Public benchmarks | Eval tools | Model gateways | Vendor usage dashboards | |
|---|---|---|---|---|---|
| Measured on your own work | Yes | No | Yes | No | No |
| Tied to the business outcome | Yes | No | No | No | No |
| Cost per outcome by model | Yes | No | No | No | No |
| Routing set on outcomes | Yes | No | No | No | No |
| Training data from your history | Yes | No | No | No | No |
| Independent of the model seller | Yes | Yes | Yes | Yes | No |