Agent harnesses and frameworks

hydro-project/

infinity

Rust agent runtime where waiting agents hibernate as plain conversation history, plus a tool protocol that delivers results to agents with no running process.

What’s new here

Infinity treats agents the way async treats threads. Slow tools start concurrently, the agent yields while they run, and it costs nothing until an event arrives. Between turns an agent is just its conversation history, with no task, stack or open connection, so it hibernates and wakes on the next message.

What it does

Infinity is a Rust framework for running many agents at once. The README says it is light enough to fit 75k agents in the memory of a Raspberry Pi. You build an agent system with a conversation store, a state store and a model, then open threads, send user text and read events back.

The repo covers three pieces. The Infinity Runtime runs agents locally in a resident process or on serverless platforms like AWS Lambda, with CDK constructs included. The Reactive Agent Protocol (RAP) serves tools over the network without holding a connection open, so results and subscription events reach agents that have no process running. Existing MCP servers work through a compatibility layer. Infinity Code is a coding agent built on the runtime that runs builds and tests in the background, edits in parallel threads with stacked sandboxes, and hands back each result as a diff.

Who it’s for

Engineers who expect many agents waiting on slow tools and do not want to pay for idle ones. It suits teams that already think in Rust, want scale to zero on Lambda, or need tools that report back later instead of holding a connection.

Try it

You need Rust and access to a model provider. The README’s example uses a provider with the model id global.anthropic.claude-sonnet-4-6, and it does not list account or key setup, so check the quickstart for that. Start at the quickstart. The README’s starting example:

let system = AgentSystemBuilder::new_local(
    InMemoryConversationStore::new(),
    InMemoryStateStore::new(),
    StaticModel::new(provider, "global.anthropic.claude-sonnet-4-6").await?,
)
.start();
 
let mut thread = system.thread_builder().launch().await;
thread.send_user_text("Write a haiku about Rust").await?;
 
while let Some(event) = thread.recv().await {
    println!("{event:?}");
}

For Lambda, see the serverless quickstart.

How mature is it

Young but active. The repo was created on 2026-04-13 and last pushed on 2026-10-23, with 52 commits in the last 90 days. It has 29 releases, the latest being sandbox-remote-v0.2.0 on 2026-10-22. There are 6 contributors, 28 stars, 5 forks, 30 open issues and 24 open pull requests. The license is Apache-2.0.