Salix
Salix
Salix is de agent-harness van Comma: de gedistribueerde multi-tenant-runtime die elke Comma-agent draait. Salix is geschreven in Elixir en Lean.
Veel agents, weinig resources
Een traditionele agent krijgt een eigen sandbox: een container of VM die aan blijft zolang de agent werkt. Salix draait honderden agents op de CPU en het geheugen die één zo'n sandbox gebruikt.
Salix plaatst elke agent op een node in het cluster, en verplaatst agents tussen nodes als het cluster verandert. Het bezorgt berichten van de ene agent aan de andere, over nodes heen. Een cluster kan honderden nodes hebben.
De agent draait buiten de sandbox
Het meeste werk van een agent heeft geen computer nodig: hij leest, plant, schrijft en roept je gekoppelde apps aan. Salix draait dat werk in de harness zelf, niet in een sandbox.
Als de agent een computer nodig heeft, wekt Salix er een cloud-VM voor. De VM behoudt zijn opslag tussen twee keer gebruik, dus bestanden en geïnstalleerde tools blijven staan waar de agent ze achterliet. Als het werk klaar is, kan de VM weer slapen.
Gebouwd in Elixir en Lean
Salix draait op Elixir en de Erlang-VM. Elke agent is een eigen lichtgewicht proces. Als een deel van het systeem uitvalt, start het opnieuw, en de andere agents draaien door.
De kern van de agentlus is geschreven in Lean. De besturingsbeslissingen, zoals wat er daarna gebeurt in een beurt en waar je data heen mag, draaien als Lean-code met machinaal gecontroleerde bewijzen.
Loops draaien op Spinfoam, waarvan de JIT-compiler formeel geverifieerd is om geheugenveilige code te genereren.
Altijd aan, zonder sandbox die altijd aanstaat
Een agent kan 24/7 de wacht houden over je data met een Loop. Een Loop is een klein programma dat op het cluster draait. Hij wekt de agent alleen als er iets nodig is, dus een rustig uur kost geen modeltokens.
Je machines en je runtimes
Je kunt een Linux- of macOS-machine koppelen aan Salix, en agents voeren er commando's op uit en openen er bestanden op. Comma gebruikt dit om op je Mac te werken.
Salix heeft een eigen agentlus. Een agent kan ook een externe agent-runtime gebruiken, zoals Codex of Claude Code, op een apparaat dat je kiest.
In dit onderdeel
- Loops: altijd actief achtergrondwerk, gecompileerd naar eBPF.
- Apparaten: je eigen machines koppelen.
- Agent-runtimes: de ingebouwde agentlus, Codex en Claude Code.