Scale
Fifty thousand agents on a Raspberry Pi
In Infinity, an idle agent is pure data: between turns, an agent is just its conversation history, with no task, no stack, and no open connection. After twenty tool-calling turns, an agent occupies about 154 KB, so fifty thousand of them fit in under 8 GB of RAM.
Agents spend most of their lives waiting: builds run for twenty minutes, webhooks fire hours later, humans reply tomorrow. Runtimes that hold a process per agent pay for all of that time; Infinity hibernates a waiting agent for free and wakes it on the next message.
How the runtime works →Asynchrony
Agents that never block
Infinity gives agents primitives for asynchrony. A tool call can stay open as a subscription and stream events, so a shell command delivers each chunk of output as it happens; spawn_thread forks a subagent that works in parallel; sleep awaits a timer or the next event without polling.
Like actor systems, Infinity organizes agents into agent systems: pools of concurrent agents that share nothing and communicate through in-order messages to each agent's mailbox. The runtime intelligently schedules the whole pool the way an async executor schedules tasks, so thousands of agents make progress on a few threads.
The Agent System API →Serverless
Scale to zero is the default
Because agent turns never block, Infinity is perfect for serverless environments: on AWS Lambda, each SQS FIFO delivery triggers one step of the runtime, which loads state, runs the completion, dispatches tool calls, and exits.
Infinity agents can run forever with near-zero cost: an agent waiting on a three-day CI pipeline costs exactly nothing until something happens. The included CDK constructs deploy the whole stack in a few lines, and the same agent code runs unchanged on your laptop and in the cloud.
Deploy on AWS Lambda →