Maak kennis met Salix, de agent-harness van Comma
Salix draait je Comma-agent de klok rond en roept alleen een groot model aan als het werk erom vraagt.
Salix aan het werk
Een voorbeeld dat je kunt doorklikken. Je vroeg Comma om #support en je inbox in de gaten te houden voor bugmeldingen, en het schreef daar een Loop voor. De Loop wekte Comma voor de bugmelding van een klant. Comma startte een taak, en de Worker daarvan reproduceerde de bug op de cloudcomputer en zette een fix klaar voor je review. Naast het venster toont een editor twee van de Lean-bewijzen in de kernel van Salix.
Binnen in Salix
Loops houden de wacht, 24/7
Je agent schrijft een klein programma, een Loop, dat je inbox, een repo of een feed in de gaten houdt. Het draait dag en nacht en wekt de agent alleen als er iets nodig is.
Over LoopsSnelle beslissingen met Jev
Loops vragen snelle beslismodellen zoals Jev of een e-mail of een event jou nodig heeft. Een rustig uur kost geen tokens van grote modellen.
Hoe Loops beslissenGebouwd in Elixir en Lean
Elixir houdt je agent draaiende als een deel van het systeem uitvalt. De kern van de agentlus is geschreven in Lean, met bewijzen dat je data alleen gaat waar dat mag.
Hoe Salix werktWerkt op je Mac
Salix koppelt je Mac, zodat Comma daar je bestanden kan openen en bijwerken. Een agent kan er ook Codex of Claude Code op draaien.
Over apparatenVeelgestelde vragen
Wat kan een Loop in de gaten houden, en hoe start of stop ik er een?
Een Loop kan een gekoppelde app zoals Gmail, GitHub of Slack in de gaten houden, een web-API pollen of events ontvangen op een eigen geheime webhook-URL. Vraag Comma in de chat om iets te volgen, zoals een pull request of een thread, en het zet de Loop op en start hem; vraag het de Loop te pauzeren of te verwijderen als je hem niet meer nodig hebt. Een agent kan tot 20 Loops tegelijk draaien.
Wat kost een Loop terwijl hij wacht?
Een wachtende Loop is een klein programma op het Salix-cluster, geen cloudcomputer. Hij roept geen model aan en heeft geen eigen meter, dus hij kost alleen credits via wat hij aanroept, zoals vragen aan Jev, die credits gebruiken ook als je je eigen modelsleutel gebruikt, en de agentbeurten die hij wekt, die net als elke andere beurt worden gefactureerd. Hij kan de agent hoogstens zes keer per tien minuten wekken.
Wat beslist Jev, en wat als het twijfelt of het mis heeft?
Jev beantwoordt de vragen die een Loop stelt, bijvoorbeeld of een nieuwe e-mail jou nodig heeft, en kan geen berichten sturen, niets wijzigen en geen toegang verlenen. Als Comma voor jou een pull request, een issue of een thread volgt, blijft de Loop alleen stil als Jev ‘quiet’ antwoordt met een zekerheid van 0,9 of meer; al het andere, fouten inbegrepen, gaat naar je agent, die de opdracht heeft de bron te controleren voordat hij je schrijft. Zit Jev er met grote zekerheid naast met ‘quiet’, dan bereikt die update je niet.
Wat gebeurt er met de data die een Loop leest?
Het blijft data: een e-mail of een event kan de code van de Loop niet veranderen en niets toevoegen aan zijn vaste lijst met mogelijkheden. Een binnenkomend event wordt alleen bewaard tot de Loop het bevestigt, en de Loop houdt één checkpoint van hoogstens 16 KB bij. Wat hij leest, gaat alleen verder via de eigen aanroepen van de Loop, zoals een vraag aan Jev, dat door TypeSafe AI wordt gedraaid, of een wekbericht aan je agent.
Wat gebeurt er als een deel van Salix uitvalt?
Elke agent draait als een eigen proces op de Erlang-VM, dus een onderdeel dat uitvalt start opnieuw en de andere agents draaien door. Berichten die Salix heeft geaccepteerd overleven de herstart, en een onderbroken actie die iets wijzigt wordt niet vanzelf opnieuw uitgevoerd. Een Loop gaat verder vanaf zijn laatste checkpoint na een herstart of een verhuizing naar een andere node, en als zijn eigen programma faalt, start hij hoogstens drie keer per uur opnieuw, stopt dan en laat het je agent weten.
Wat garanderen de Lean-bewijzen, en wat niet?
De kern van de agentlus draait als Lean-code, en een machine controleert de bewijzen. Die laten zien dat werk dat Salix heeft geaccepteerd bewaard blijft bij storingen en herstarts, dat een mislukt antwoord niet als klaar telt, en dat elke actie die iets wijzigt wordt vastgelegd voordat Salix hem start en hoogstens één keer wordt gestart. Ze steunen op expliciete aannames over de code rond de kernel, en ze bewijzen niets over opslag, het oordeel van het model of het slagen van een taak.
Wat kan Comma op mijn Mac doen, en hoe trek ik de toegang in?
In het begin kan Comma bestanden op een gekoppelde computer, ook je Mac, alleen lezen. Wil je dat het bestanden wijzigt, commando's uitvoert en de daar geïnstalleerde coding agents gebruikt, zet dan ‘Allow operations’ aan voor die computer in ‘Settings > Devices’. Je kunt het altijd weer uitzetten: lopende commando's stoppen en Comma kan weer alleen lezen.
Welke coding agents kan Salix op mijn computer draaien?
Als Codex, Claude Code, Pi of Kimi op een gekoppelde computer is geïnstalleerd en ‘Allow operations’ aanstaat, kan Comma er werk aan doorgeven. De coding agent doet het werk op die computer, en Salix houdt het gesprek bij. Gaat de computer offline, dan wacht het werk of mislukt het met een foutmelding, en Salix verplaatst het niet vanzelf naar een andere machine.