Agents IA

Zed Industries développe un système de contrôle de version pour le contexte des agents IA en Rust

Zed Industries présente DeltaDB, un système basé sur les CRDT qui suit le raisonnement des agents IA et les modifications de code en temps réel, utilisant Rust et Cloudflare Durable Objects.

Un cube en verre avec des nœuds de réseau lumineux représentant l'architecture DeltaDB sur un bureau.
Illustration générée pour cet article

Traduit automatiquement depuis l'original anglais.

Zed Industries a dévoilé DeltaDB, un nouveau système de contrôle de version conçu spécifiquement pour suivre le contexte et le raisonnement des agents IA. Lancé fin octobre 2026, cette infrastructure vise à résoudre le problème de la perte d'historique conversationnel lorsque les développeurs collaborent avec des outils de codage autonomes. Le système utilise Rust et les types de données répliqués sans conflit (CRDT) pour fusionner les modifications humaines et celles des agents dans un seul graphe causal.

Ce qui s'est passé

L'équipe derrière l'éditeur de code Zed, fondée en 2021 par Nathan, Max et l'auteur, a consacré l'année écoulée au développement d'une technologie visant à améliorer la collaboration entre les équipes et les agents logiciels. Ils ont constaté que si les agents accélèrent la production de code, le processus de réflexion critique reste souvent piégé dans des interfaces de chat éphémères ou compressé dans des messages de commit illisibles. DeltaDB constitue leur solution, créant un registre persistant du contexte des agents qui lie chaque modification de code à la conversation qui l'a produite.

DeltaDB permet aux utilisateurs de pointer n'importe quel élément de code et de récupérer l'intégralité du raisonnement sous-jacent. Il diffuse les changements provenant à la fois des humains et des agents en temps réel, les fusionnant dans un graphe acyclique dirigé à croissance monotone. Cette architecture garantit que le contexte derrière les décisions logicielles n'est pas perdu, permettant aux développeurs de demander pourquoi un code spécifique se présente comme il est, qu'il ait été écrit par un humain ou une IA.

Comment cela fonctionne

Au cœur de DeltaDB se trouve une collection de CRDT stockés localement dans SQLite et liés via un graphe acyclique dirigé. Chaque nœud de ce graphe, appelé delta, représente la plus petite unité de changement. Cette conception permet aux clients de progresser hors ligne et de synchroniser plus tard, assurant ainsi une résilience face aux pannes réseau. Le système ressemble à l'approche Eg-walker, utilisant un DAG pour représenter chaque état intermédiaire plutôt que de compter sur les vecteurs de version, qui peuvent croître indéfiniment à mesure que des acteurs rejoignent et quittent les fils de discussion.

Pour gérer les performances, le système utilise des arbres B+ à copie sur écriture pour mettre en cache les instantanés des états récents. Lors de l'application de modifications concurrentes ou lors de la navigation dans l'historique, le moteur revient à l'ancêtre mis en cache le plus proche et rejoue uniquement les deltas nécessaires. Cette méthode est significativement plus rapide que la reconstruction complète des états, car elle réutilise la plupart des nœuds des instantanés précédents et ne modifie que les chemins touchés par les nouvelles modifications. Les éditions de texte sont définies structurellement, permettant une identification précise des positions même lors de modifications concurrentes.

La synchronisation se fait via des lignes temporelles, où chaque client s'abonne à des frontières spécifiques dans le DAG. Lorsqu'un fil de discussion est partagé, une connexion WebSocket échange les deltas manquants en trouvant un ancêtre commun. Chaque fil de discussion est géré par un objet durable Cloudflare distinct, créant une architecture sans partage de mémoire qui évolue horizontalement. Cette configuration permet à plusieurs agents et humains d'écrire simultanément dans un seul fil de discussion sans nécessiter de commits Git traditionnels pour la coordination.

Détails clés

  • DeltaDB stocke toutes les données localement dans SQLite, utilisant un graphe acyclique dirigé pour lier les CRDT.
  • Le système évite les vecteurs de version au profit de requêtes d'ascendance DAG pour gérer les agents transitoires.
  • Les arbres B+ à copie sur écriture permettent une réification efficace des états en réutilisant les nœuds inchangés des instantanés.
  • Chaque fil de discussion d'agent s'exécute dans son propre objet durable Cloudflare, permettant une mise à l'échelle horizontale.
  • Une macro Rust appelée #[derive(Replicate)] simplifie la création de structures répliquées complexes.
  • Les lignes temporelles permettent un travail parallèle par les sous-agents, dont les résultats peuvent être fusionnés ultérieurement dans le fil principal.

Pourquoi c'est important

Pour les ingénieurs développant des outils intégrés à l'IA, la gestion de la cohérence de l'état entre l'intention humaine et la sortie de l'agent est un défi majeur. Les flux de travail actuels perdent souvent la nuance de la prise de décision, rendant difficile l'audit ou la compréhension des modifications automatisées. DeltaDB démontre une approche pratique consistant à traiter les conversations avec les agents comme des citoyens de première classe dans le contrôle de version, plutôt que comme des journaux secondaires. Ce changement permet une collaboration plus fiable et un débogage plus facile du code généré par l'IA.

L'utilisation de Rust et des CRDT met en évidence une tendance vers des architectures logicielles locales prioritaires qui privilégient la réactivité et la capacité hors ligne. En découplant la représentation réseau de l'état interne, les développeurs peuvent construire des systèmes qui semblent instantanés tout en maintenant de fortes garanties de cohérence. Ce modèle réduit la friction de la collaboration en temps réel, permettant aux équipes de travailler avec des agents aussi fluidement qu'elles travaillent entre elles.

Ce que vous pouvez faire

  • Évaluez comment vos outils IA actuels stockent et récupèrent le contexte conversationnel pour les modifications de code.
  • Explorez les bibliothèques CRDT en Rust si vous développez des fonctionnalités collaboratives en temps réel.
  • Envisagez d'implémenter des modèles de stockage locaux prioritaires pour améliorer la résilience hors ligne de vos applications.
  • Étudiez les objets durables Cloudflare pour des composants serverless scalables et dotés d'état.
  • Consultez le papier Eg-walker pour comprendre les approches alternatives de résolution de conflits dans les systèmes distribués.
  • Expérimentez avec la cartographie des pensées des agents vers des objets de données structurés plutôt que des journaux texte simples.
  • #rust
  • #ai agents
  • #crdt
  • #version control
  • #cloudflare

Outils de la Boutique Bytechap

Continuer la lecture

Tous les articles