Summary
Run agents and sub-agents in micro VMs (FaaS-style) for stronger isolation than the current process/container-level boundary.
Motivation
As agents get more autonomy (file access, tool use, custom apps), process-level isolation is a thinner boundary than we'd want for a tool that markets itself on running safely on the user's own hardware.
Proposed design
Each agent/sub-agent run gets its own micro VM. The system caps the number of concurrently running agents based on available resources, and queues additional requests rather than overloading the host.
Alternatives considered
Current process/container isolation (status quo); heavier per-agent full VMs (rejected for resource cost — hence micro VMs specifically).
Risks, drawbacks, and open questions
Resource overhead per micro VM; cold-start latency; how the concurrency cap and queue interact with a user's expectation of running several decks/conversations at once; host resource detection needs to be reliable for the cap to mean anything.
Is this a breaking change?
Unsure
Summary
Run agents and sub-agents in micro VMs (FaaS-style) for stronger isolation than the current process/container-level boundary.
Motivation
As agents get more autonomy (file access, tool use, custom apps), process-level isolation is a thinner boundary than we'd want for a tool that markets itself on running safely on the user's own hardware.
Proposed design
Each agent/sub-agent run gets its own micro VM. The system caps the number of concurrently running agents based on available resources, and queues additional requests rather than overloading the host.
Alternatives considered
Current process/container isolation (status quo); heavier per-agent full VMs (rejected for resource cost — hence micro VMs specifically).
Risks, drawbacks, and open questions
Resource overhead per micro VM; cold-start latency; how the concurrency cap and queue interact with a user's expectation of running several decks/conversations at once; host resource detection needs to be reliable for the cap to mean anything.
Is this a breaking change?
Unsure