LayerFS est un système de fichiers conçu pour les agents de codage IA qui doivent travailler en parallèle. Chaque agent monte un espace de travail complet et inscriptible par-dessus un historique validé partagé, effectue son travail, valide les modifications qu'il a apportées, puis disparaît. Le résultat : des espaces de travail éphémères associés à des résultats durables et partagés, ce qui permet un parallélisme massif sans serveur de base de données en arrière-plan.
Le système traite chaque appel d'outil de fichier comme une opération atomique sur un magasin partagé. Chaque appel Bash monte un espace de travail éphémère et valide ses modifications à la fin, de sorte que le calcul n'existe que pendant l'exécution d'une commande. Les agents présents sur différents ordinateurs peuvent partager un même magasin sans serveur, ce qui permet un travail distribué où un projet prend en charge de nombreuses branches et où une branche prend en charge de nombreux agents. Les conflits sur un même fichier sont refusés et signalés, et chaque ligne peut être remontée à l'étape qui l'a écrite.
Le forking est conçu pour être peu coûteux. Un fork ne consiste qu'en métadonnées et ne copie aucun fichier, de sorte que l'exploration peut se ramifier récursivement à n'importe quelle profondeur. Le contenu est dédupliqué et compressé : dans un exemple illustratif, 10 copies se réduisent à environ 0,31 copie de stockage. Les dépendances, telles que node_modules, accompagnent chaque montage, si bien qu'un espace de travail est prêt en environ 0,05 seconde, au lieu des cinq minutes environ que prend généralement une réinstallation.
LayerFS prend également en charge des points de contrôle automatiques permettant aux agents de revenir à n'importe quelle étape antérieure, des objets en ajout seul qui ne sont jamais réécrits, et des règles de conflit faisant prévaloir la modification la plus récente pour les fichiers de verrouillage, les sorties de compilation et les caches. Les modifications ne coûtent que la taille du changement, et non celle du fichier entier.
Source: Hacker News · Résumé par HeadlinesBriefing