10 October 2026 · OpenGeni Engineering
Fictional draft: This post and its benchmark results are illustrative and have not been published or verified by the OpenGeni team.
Today, we’re sharing the latest OpenGeni benchmark results—and the improvements are visible across the board.
Compared with our previous benchmark baseline, the new release delivers:
| Benchmark | Improvement |
|---|---|
| Task-resolution speed | 12% faster |
| Token consumption | 8% lower |
| Tool calls per task | 10% fewer |
These numbers reflect a simple goal: help agents complete real work with less waiting, less unnecessary reasoning, and fewer interactions with external systems.
OpenGeni is an open, self-hostable runtime for operating production AI agents. It provides the infrastructure surrounding an agent—including durable execution, isolated sandboxes, approvals, replayable sessions, audit trails, multi-tenancy, and metering—while allowing teams to bring their own models, tools, and agent logic. [7][15]
Production agents rarely complete their work in a single model call. They inspect context, invoke tools, wait for approvals, recover from failures, and continue across long-running sessions. Small inefficiencies compound quickly inside these workflows.
A redundant tool call is not merely an extra request. It can mean additional latency, token consumption, rate-limit pressure, infrastructure load, and another operation that must be observed and audited.
That is why this benchmark cycle focused on the complete path from intent to resolution—not just raw model response time.
Agents now reach successful task completion 12% faster across our benchmark workloads.
The improvement comes from tightening the runtime path around agent execution: reducing avoidable orchestration overhead, making session state available more efficiently, and helping agents resume work without repeatedly reconstructing context.
For users, this means less time watching an agent “think about working” and more time seeing useful progress.
The latest benchmark run consumed 8% fewer tokens while maintaining the same task goals and success criteria.
We achieved this by reducing repetitive context, improving how relevant session information is assembled, and limiting unnecessary restatement of information already available in the execution history.
Lower token use is not only a cost improvement. Smaller, more focused contexts can make agent behavior easier to understand and reduce the chance that important instructions become buried in accumulated session data.
Agents completed benchmark tasks with 10% fewer tool calls.
This improvement reflects better reuse of existing observations and more deliberate decisions about when another external action is actually necessary. Instead of repeatedly checking the same state, agents can make better use of durable session events and previously collected results.
Fewer tool calls mean:
- Less latency from external services.
- Lower exposure to third-party rate limits.
- Fewer redundant reads and writes.
- Cleaner audit trails.
- More predictable execution costs.
- A smaller operational surface to govern.
This is particularly important for OpenGeni because the runtime is designed around controlled, observable agent execution, including human approval gates, governed credentials, budget guards, and replayable histories. [7][13]
We evaluated representative, multi-step agent workloads that combine reasoning, tool use, state transitions, and task completion.
To keep the comparison meaningful, the baseline and improved runtime used the same task definitions, success criteria, model configuration, tool interfaces, and execution environment. We then compared end-to-end resolution time, total model-token consumption, and the number of tool calls required to reach a successful outcome.
The reported figures represent aggregate improvements across the benchmark suite. Individual results will vary depending on the model, task complexity, tool latency, deployment configuration, and connected systems.
These benchmarks are not intended to claim that every task will become exactly 12% faster. They give us a consistent way to measure whether runtime changes make agent execution more efficient without sacrificing control or reliability.
For a single session, these improvements may appear incremental. Across thousands of sessions, they become operationally significant.
A team running long-lived infrastructure, engineering, support, or internal-automation agents can expect faster feedback loops, lower model expenditure, fewer external API operations, and more concise execution histories.
Most importantly, the improvements do not come from weakening the controls around agent behavior. OpenGeni remains focused on durable sessions, sandboxed execution, explicit approvals, governed access, observability, and infrastructure that teams can operate within their own environment. [13][15]
This benchmark release is another step toward making production agents feel less experimental and more dependable.
Our next optimization cycle will continue to focus on:
- Reducing unnecessary context growth in long-running sessions.
- Improving tool-selection precision.
- Shortening recovery time after interrupted runs.
- Making benchmark scenarios easier to reproduce.
- Expanding visibility into where agents spend time, tokens, and tool calls.
OpenGeni is open source and released under the Apache 2.0 license. If you are building agents that need to operate reliably beyond a chat window, explore the project, run the benchmarks in your own environment, and tell us where the runtime can improve next. [13][15]

title: "Improved tool support: do more with less tool calls"
date: 2026-10-24
tags: [release, agents, tooling, codemode]
author: The OpenGeni Team
Improved tool support — do more with less tool calls
TL;DR — OpenGeni
v0.14reworks how the agent loop talks to tools. Instead ofone model round-trip per tool invocation, the agent can now express a whole plan
as a single executable program: batched calls, loops, conditionals, and
intermediate data handling all happen inside the sandbox. On our internal
evaluation suite this cut median tool calls per task from 17 → 4 and
end-to-end latency by 41%.
The problem with one-call-at-a-time
The classic agent loop is a conversation of tiny steps:
Every arrow is a full inference pass. Every result — however irrelevant — is
pasted back into the context window. Tasks that are conceptually "go fetch
these twelve things and diff them" degrade into twelve serialized round-trips,
a bloated transcript, and a model that has forgotten the original goal by step
nine.
Three failure modes kept showing up in user reports:
protocol had no way to say "these don't depend on each other."
listings, API dumps) crowded out the actual task.
arguments, failed validation, and burned another call retrying.
Code mode is now the default execution path
@opengeni/codemodehas graduated from opt-in experiment to the defaultstrategy for capability-backed tools. Rather than emitting a JSON blob per call,
the agent emits TypeScript that runs against generated bindings inside the
sandboxed runtime:
That is one tool call where the old loop needed twenty-nine. The 4 MB of
workflow JSON never touches the transcript — only the filtered result does.
Under the hood:
declarations.tsemits fully-typed.d.tsbindings for every registeredcapability, so the model writes against real signatures instead of prose
descriptions.
environment.tsgained a deterministic execution budget: wall-clock, memory,and per-capability call ceilings, all enforced by the runtime rather than by
hoping the model behaves.
structured.tshandles the return-value contract, so a program's output isvalidated against the expected shape before it is handed back to the loop.
artifacts.tslets a program write large outputs directly to artifact storageand return a handle. Spreadsheets, documents, and presentations produced by the
WASM artifact kernels are now referenced, not inlined.
Progressive tool disclosure
Registering 300 tools used to mean shipping 300 schemas in the system prompt.
@opengeni/capabilitiesnow exposes a three-stage discovery flow that mirrorshow a developer actually explores an SDK:
searchdescribebindThe practical effect: a workspace with 40 connectors now costs roughly the same
prompt overhead as a workspace with 4. Capability packs also declare
sideEffects: "read" | "write" | "destructive", and the runtime refuses to folda
destructivecall into an unattended batch without an explicit approvalhandle.
Batching, retries, and idempotency
@opengeni/agent-protopicked up three protocol-level primitives that used to bereimplemented (badly) in every integration:
batch— a set of calls declared as independent; the scheduler fans themout with per-capability concurrency limits and rate-limit awareness.
resume— long-running work returns a continuation token instead ofblocking the loop, so a 20-minute deployment doesn't hold a turn hostage.
idempotencyKey— writes carry a caller-supplied key, so a retriedcreateIssueafter a network blip produces one issue, not three.ogtoolgrew matching CLI surface for local debugging:ogtool caps search "workflow runs" ogtool caps describe github.getWorkflowRuns ogtool run ./plan.ts --trace --budget-calls 50--traceprints the full call tree with timings, which pairs nicely with theOpenTelemetry spans emitted from
@opengeni/observability.Numbers
Measured on
evals/tool-heavy(180 tasks: repo triage, cloud inventory,document generation, multi-service reconciliation), Oct 2026 build vs. the
v0.12baseline:The success-rate jump surprised us. Fewer calls didn't just make things faster —
it made them more correct, because the model spent its attention on the task
instead of on re-reading its own scrollback.
Upgrading
Breaking changes are listed in
UPGRADE_LOG.md. The short version:registerTool()is deprecated in favour ofdefineCapability(), whichrequires an explicit
sideEffectsclassification.strategy: "sequential"if you need bit-for-bit reproducibility of old runs.unknownreturns are rejectedat registration time rather than failing at runtime.
What's next
likely to need, based on the opening prompt.
shape of request recurs.
spec, no hand-written wrapper.
Issues and PRs welcome at
github.com/Cloudgeni-ai/opengeni. If you have aworkload where the new executor makes things worse, we especially want that
trace.