LayerFS is een bestandssysteem specifiek ontworpen om de schaalbaarheid van multi-agent AI-ontwikkeling te verbeteren. Het centrale concept is ephemeriteit: agenten koppelen een tijdelijke workspace, voeren hun taak uit, committen de wijzigingen en verdwijnen vervolgens weer.
De belangrijkste kernconcepten zijn:
- Ephemeral Computing: Elke actie volgt een strikt proces van
mount → execute → commit → unmount.
- Gedecentraliseerde Coördinatie: Meerdere agenten op verschillende machines kunnen samenwerken via één serverloze Store, waarbij conflicten worden beheerd en elke wijziging traceerbaar is.
- Efficiëntie: Door gebruik te maken van deduplicatie, compressie en recursieve forks (die enkel metadata kosten) wordt de opslagruimte drastisch beperkt.
- Instant Bootstrap: In tegenstelling tot traditionele systemen zoals Git, bewaart LayerFS ook genegeerde bestanden (zoals dependencies), waardoor workspaces vrijwel direct klaar zijn voor gebruik.
Aanvullende technische eigenschappen: Het systeem werkt met append-only objecten op basis van hashes, automatische checkpoints voor elke stap en een 'Last-Write-Wins' (.lww) mechanisme voor specifieke bestanden. Bovendien worden grote bestanden optimaal beheerd door enkel de daadwerkelijk gewijzigde bytes op te slaan.
LayerFS: het bestandssysteem voor AI-codeeragenten
Ephemeraliteit: het schalen van multi-agent ontwikkeling voorbij de verbeelding
Kenmerken:
- Ephemere workspaces.
- Duurzame gedeelde geschiedenis.
- Massale parallellisatie.
---
Waarom LayerFS?
LayerFS is gebaseerd op tien ideeën, verdeeld over zes kernconcepten en vier ondersteunende principes.
Zes kernconcepten
1. Ephemeral Computing
Compute bestaat alleen zolang een commando wordt uitgevoerd.
- Werking: Elke Bash-tool call koppelt een ephemere workspace en commit de resultaten daarna.
- Proces:
mount → execute → commit → unmount.
- Context: Agenten besteden ongeveer 80% van hun tijd aan nadenken en 10% in Bash. Elke aanroep van een bestandstool is een atomaire Store-operatie.
2. Gedecentraliseerde Agenten
Agenten op verschillende computers delen één serverloze Store.
- Gedeelde opslag: Elke agent commit naar één Store, zonder dat daar een database-server voor nodig is.
- Gedistribueerd rekenvermogen: Elke agent draait op zijn eigen computer.
3. Multi-agent Coördinatie
Eén project kan meerdere branches hebben, en één branch kan door meerdere agenten worden gebruikt.
- Commits: Elke tool-aanroep is een commit op de branch van de agent.
- Conflict: Een clash in hetzelfde bestand wordt geweigerd met een 'Conflict'-melding.
- Blame: Elke regel in een bestand vermeldt exact welke stap de regel heeft geschreven.
4. Recursief Bestandssysteem
Elke commit kan recursief worden geforkt op elke gewenste diepte.
- Nul kosten: Een fork bestaat uit metadata; er worden geen bestanden gekopieerd.
- Toepassing: Dit is ideaal voor RSI-agenten en recursieve exploratie voor RL-training (Reinforcement Learning).
5. Ultra Opslagoptimalisatie
Tien kopieën kunnen worden gecomprimeerd tot 0,31.
- Dedup: Elk inhoudsfragment (chunk) wordt slechts één keer opgeslagen.
- Compressie: De opgeslagen fragmenten worden verder verkleind.
- Ratio: 10 kopieën → 1,05 na deduplicatie → 0,31 na compressie.
6. Instant Bootstrap
Afhankelijkheden worden meegeleverd bij elke mount, waardoor tijdverlies door herinstallaties wordt voorkomen.
- Vergelijking met Git/AgentFS: Traditionele systemen negeren vaak bestanden via
.gitignore, waardoor modules (zoals node_modules) opnieuw geïnstalleerd moeten worden. Dit kan ongeveer 5 minuten duren.
- LayerFS aanpak: Genegeerde bestanden blijven behouden in elke commit. Hierdoor is de workspace direct klaar voor gebruik.
- Snelheid: De mount-tijd bedraagt slechts 0,05 seconden (gemeten tussen 5–20 ms).
---
Vier ondersteunende ideeën
7. Automatische Checkpoints
Elke stap die een agent zet, is een checkpoint waarnaar kan worden teruggekeerd.
- Elke aanroep: Elke bestandsaanroep is een commit; elke Bash-aanroep commit zodra deze is beëindigd.
- Geen ruis: Een aanroep die niets verandert, maakt geen commit aan.
- Rewind: Men kan vanaf elk checkpoint een fork maken en elk bestand lezen zoals het op dat moment was.
8. Append-only Objecten
Opgeslagen objecten worden nooit overschreven; de Store groeit alleen.
- Content-addressed: Een object wordt benoemd op basis van de hash van de bytes.
- Sealed: Een geschreven pakket wordt nooit bijgewerkt of verwijderd.
- Veilig delen: Branches delen objecten; lezers hoeven nooit te wachten op de schrijver.
9. Conflictregels (.lww)
Via een .lww-bestand (Last-Write-Wins) in de root van de boom kunnen bestanden worden aangewezen die nooit mogen conflicteren.
- Nieuwste wint: Bij een bestand dat aan beide zijden is gewijzigd, wordt de nieuwste bewerking behouden.
- Toepassing: Dit is nuttig voor lockfiles, build-output en caches.
10. Groot Bestand, Kleine Aanpassing
Een bewerking kost alleen de grootte van de wijziging, niet de grootte van het gehele bestand.
- Overlay: Een schrijfactie bewaart alleen de bytes die daadwerkelijk zijn geschreven.
- Commit: Alleen de bewerkte segmenten en hun pad in de boom worden opnieuw opgebouwd.
- Opslag: De rest van het bestand wordt gedeeld met de vorige versie.
---
Agent tool-aanroepen en historie
De structuur van de historie is als volgt opgebouwd:
- Main: De centrale lees-alleen lijn.
- Layer: Een band op de main-lijn; elke publicatie voegt een Layer-band toe.
- Commit: Een individueel blad (leaf) aan de tak.
- Branch: Een tak (bough) waaraan commits hangen.
- Merge: Het terugvoegen van een tak (grafting).
- Publish: Het toevoegen van een nieuwe band.
- Stopped: Een kale twijg.
Systeemspecificaties (Voorbeeld)
- Deduplicatie: 1.5×
- Compressie: 3.32×
- Opgeslagen data: 9.4 MB
- Bestandsgrootte: 10.0 MB
- Logische grootte: 48.0 MB
- Canonical grootte: 31.2 MB
- Metadata: 420 KB
LayerFS: het bestandssysteem voor AI-codeeragenten
Ephemeraliteit: het schalen van multi-agent ontwikkeling voorbij de verbeelding
Kenmerken:
- Ephemere workspaces.
- Duurzame gedeelde geschiedenis.
- Massale parallellisatie.
---
Waarom LayerFS?
LayerFS is gebaseerd op tien ideeën, verdeeld over zes kernconcepten en vier ondersteunende principes.
Zes kernconcepten
1. Ephemeral Computing
Compute bestaat alleen zolang een commando wordt uitgevoerd.
- Werking: Elke Bash-tool call koppelt een ephemere workspace en commit de resultaten daarna.
- Proces:
mount → execute → commit → unmount.
- Context: Agenten besteden ongeveer 80% van hun tijd aan nadenken en 10% in Bash. Elke aanroep van een bestandstool is een atomaire Store-operatie.
2. Gedecentraliseerde Agenten
Agenten op verschillende computers delen één serverloze Store.
- Gedeelde opslag: Elke agent commit naar één Store, zonder dat daar een database-server voor nodig is.
- Gedistribueerd rekenvermogen: Elke agent draait op zijn eigen computer.
3. Multi-agent Coördinatie
Eén project kan meerdere branches hebben, en één branch kan door meerdere agenten worden gebruikt.
- Commits: Elke tool-aanroep is een commit op de branch van de agent.
- Conflict: Een clash in hetzelfde bestand wordt geweigerd met een 'Conflict'-melding.
- Blame: Elke regel in een bestand vermeldt exact welke stap de regel heeft geschreven.
4. Recursief Bestandssysteem
Elke commit kan recursief worden geforkt op elke gewenste diepte.
- Nul kosten: Een fork bestaat uit metadata; er worden geen bestanden gekopieerd.
- Toepassing: Dit is ideaal voor RSI-agenten en recursieve exploratie voor RL-training (Reinforcement Learning).
5. Ultra Opslagoptimalisatie
Tien kopieën kunnen worden gecomprimeerd tot 0,31.
- Dedup: Elk inhoudsfragment (chunk) wordt slechts één keer opgeslagen.
- Compressie: De opgeslagen fragmenten worden verder verkleind.
- Ratio: 10 kopieën → 1,05 na deduplicatie → 0,31 na compressie.
6. Instant Bootstrap
Afhankelijkheden worden meegeleverd bij elke mount, waardoor tijdverlies door herinstallaties wordt voorkomen.
- Vergelijking met Git/AgentFS: Traditionele systemen negeren vaak bestanden via
.gitignore, waardoor modules (zoals node_modules) opnieuw geïnstalleerd moeten worden. Dit kan ongeveer 5 minuten duren.
- LayerFS aanpak: Genegeerde bestanden blijven behouden in elke commit. Hierdoor is de workspace direct klaar voor gebruik.
- Snelheid: De mount-tijd bedraagt slechts 0,05 seconden (gemeten tussen 5–20 ms).
---
Vier ondersteunende ideeën
7. Automatische Checkpoints
Elke stap die een agent zet, is een checkpoint waarnaar kan worden teruggekeerd.
- Elke aanroep: Elke bestandsaanroep is een commit; elke Bash-aanroep commit zodra deze is beëindigd.
- Geen ruis: Een aanroep die niets verandert, maakt geen commit aan.
- Rewind: Men kan vanaf elk checkpoint een fork maken en elk bestand lezen zoals het op dat moment was.
8. Append-only Objecten
Opgeslagen objecten worden nooit overschreven; de Store groeit alleen.
- Content-addressed: Een object wordt benoemd op basis van de hash van de bytes.
- Sealed: Een geschreven pakket wordt nooit bijgewerkt of verwijderd.
- Veilig delen: Branches delen objecten; lezers hoeven nooit te wachten op de schrijver.
9. Conflictregels (.lww)
Via een .lww-bestand (Last-Write-Wins) in de root van de boom kunnen bestanden worden aangewezen die nooit mogen conflicteren.
- Nieuwste wint: Bij een bestand dat aan beide zijden is gewijzigd, wordt de nieuwste bewerking behouden.
- Toepassing: Dit is nuttig voor lockfiles, build-output en caches.
10. Groot Bestand, Kleine Aanpassing
Een bewerking kost alleen de grootte van de wijziging, niet de grootte van het gehele bestand.
- Overlay: Een schrijfactie bewaart alleen de bytes die daadwerkelijk zijn geschreven.
- Commit: Alleen de bewerkte segmenten en hun pad in de boom worden opnieuw opgebouwd.
- Opslag: De rest van het bestand wordt gedeeld met de vorige versie.
---
Agent tool-aanroepen en historie
De structuur van de historie is als volgt opgebouwd:
- Main: De centrale lees-alleen lijn.
- Layer: Een band op de main-lijn; elke publicatie voegt een Layer-band toe.
- Commit: Een individueel blad (leaf) aan de tak.
- Branch: Een tak (bough) waaraan commits hangen.
- Merge: Het terugvoegen van een tak (grafting).
- Publish: Het toevoegen van een nieuwe band.
- Stopped: Een kale twijg.
Systeemspecificaties (Voorbeeld)
- Deduplicatie: 1.5×
- Compressie: 3.32×
- Opgeslagen data: 9.4 MB
- Bestandsgrootte: 10.0 MB
- Logische grootte: 48.0 MB
- Canonical grootte: 31.2 MB
- Metadata: 420 KB