Salix
Salix
O Salix é o harness de agentes do Comma: o runtime distribuído e multilocatário que executa todos os agentes do Comma. Ele é escrito em Elixir e Lean.
Muitos agentes, poucos recursos
Um agente tradicional tem o próprio sandbox: um contêiner ou uma VM que fica ligado enquanto o agente trabalha. O Salix executa centenas de agentes com a CPU e a memória que um desses sandboxes usa.
O Salix coloca cada agente em um nó do cluster e move agentes entre nós quando o cluster muda. Ele entrega mensagens de um agente para outro entre nós. Um cluster pode ter centenas de nós.
O agente roda fora do sandbox
A maior parte do trabalho de um agente não precisa de um computador: ele lê, planeja, escreve e chama seus apps conectados. O Salix executa esse trabalho no próprio harness, e não em um sandbox.
Quando o agente precisa de um computador, o Salix acorda uma VM na nuvem para ele. A VM mantém o armazenamento entre os usos, então os arquivos e as ferramentas instaladas ficam onde o agente os deixou. Quando o trabalho termina, a VM pode voltar a dormir.
Feito com Elixir e Lean
O Salix roda sobre o Elixir e a máquina virtual do Erlang. Cada agente é um processo leve próprio. Quando uma parte do sistema falha, ela reinicia, e os outros agentes continuam rodando.
O núcleo do ciclo de agente é escrito em Lean. As decisões de controle dele, como o que acontece em seguida em um turno e para onde seus dados podem ir, rodam como código Lean com provas verificadas por máquina.
Os Loops rodam no Spinfoam, cujo compilador JIT é verificado formalmente para gerar código seguro em memória.
Sempre ativo, sem um sandbox sempre ligado
Um agente pode ficar de olho nos seus dados 24/7 com um Loop. Um Loop é um pequeno programa que roda no cluster. Ele só acorda o agente quando algo precisa dele, então uma hora tranquila não gasta tokens de modelo.
Suas máquinas e seus runtimes
Você pode conectar uma máquina Linux ou macOS ao Salix, e os agentes executam comandos e abrem arquivos nela. O Comma usa isso para trabalhar no seu Mac.
O Salix tem o próprio ciclo de agente. Um agente também pode usar um runtime de agente externo, como o Codex ou o Claude Code, em um dispositivo que você escolher.
Nesta seção
- Loops: trabalho em segundo plano sempre ativo, compilado para eBPF.
- Dispositivos: conectar suas próprias máquinas.
- Runtimes de agentes: o ciclo de agente integrado, o Codex e o Claude Code.