Mirage : Un système de fichiers virtuel unifié pour les agents IA

Mirage simplifie le développement d'agents IA en montant des sources de données disparates comme S3, Slack et GitHub dans un système de fichiers virtuel unique compatible avec bash.

La création d'agents IA capables d'interagir avec des données réelles ressemble souvent à un cauchemar fragmenté. Vous finissez par jongler avec une douzaine de SDK différents, gérer l'authentification pour chaque service et écrire du code de liaison personnalisé juste pour qu'un agent puisse lire un fichier depuis S3 et publier un résumé sur Slack.

Mirage change la donne en traitant chaque backend comme faisant partie d'un système de fichiers virtuel (VFS) unique et unifié. Au lieu d'apprendre à votre agent à utiliser l'API Slack, l'API GitHub et le SDK S3, vous les montez simplement en tant que répertoires. Votre agent peut alors utiliser les outils Unix qu'il connaît déjà — ls, cat, grep, cp — pour interagir avec l'ensemble de la pile.

Pourquoi Mirage est important

Les LLM modernes sont entraînés sur des corpus massifs de code et de documentation, ce qui les rend incroyablement fluides avec bash et la sémantique des systèmes de fichiers. En abstrayant les services distants dans un système de fichiers, Mirage tire parti de ces « connaissances » existantes pour minimiser les hallucinations et les erreurs spécifiques aux API.

Les avantages clés incluent :

  • Abstraction unifiée : Qu'il s'agisse de Google Drive, Redis ou d'un répertoire local, tout apparaît comme une arborescence de fichiers standard.
  • Nativement Bash : Les agents utilisent des outils de ligne de commande standard pour effectuer des opérations complexes entre les services.
  • Espaces de travail portables : Vous pouvez capturer l'instantané de tout votre environnement (y compris l'état des données distantes) dans un seul fichier, rendant les exécutions d'agents reproductibles et faciles à déboguer.
  • Agnostique aux frameworks : Il s'intègre parfaitement avec OpenAI Agents SDK, Vercel AI SDK, LangChain et Pydantic AI.

Comment ça fonctionne

Mirage agit comme une couche middleware entre votre agent et votre infrastructure. Il utilise un répartiteur et un système de mise en cache à deux niveaux pour garantir que les interactions de votre agent sont performantes et fiables.

La couche de mise en cache

Interroger à plusieurs reprises des API distantes est lent et coûteux. Mirage implémente un cache robuste à deux niveaux :

  1. Index Cache : Stocke les listes de répertoires et les métadonnées. Les commandes ls ou find ultérieures interrogent l'index local jusqu'à ce que le TTL (Time-To-Live) expire.
  2. File Cache : Stocke les octets des fichiers. La première lecture est diffusée depuis l'origine, tandis que les lectures suivantes sont servies depuis le cache local.

Vous pouvez les configurer pour utiliser la RAM pour des tâches éphémères ou Redis pour des environnements persistants multi-utilisateurs :

const ws = new Workspace(
  { '/s3': new S3Resource({ bucket: 'my-bucket' }) },
  {
    cache: new RedisFileCacheStore({ url: 'redis://localhost:6379/0', limit: '8GB' }),
    index: new RedisIndexCacheStore({ url: 'redis://localhost:6379/0', ttl: 600 }),
  }
);

Pour commencer

Mirage fournit des SDK pour Python et TypeScript, ce qui facilite son intégration dans vos applications FastAPI ou Express existantes.

Exemple rapide en Python

from mirage import Workspace
from mirage.resource.s3 import S3Resource
from mirage.resource.ram import RAMResource

# Monter plusieurs sources
ws = Workspace({
    "/data": RAMResource(),
    "/s3": S3Resource(bucket="my-logs")
})

# Effectuer des opérations inter-services
await ws.execute("cp /s3/report.csv /data/local.csv")
await ws.execute("grep 'error' /data/local.csv | wc -l")

Pourquoi devriez-vous l'utiliser

Si vous construisez des agents autonomes, vous passez probablement trop de temps à écrire une logique d'« appel d'outils » qui mappe le langage naturel vers des appels d'API spécifiques. Mirage vous permet de définir un espace de travail une seule fois et de laisser l'agent y naviguer naturellement.

En utilisant Mirage, vous ne construisez pas seulement un agent ; vous construisez un environnement reproductible. Comme l'espace de travail peut être capturé en instantané, vous pouvez prendre une exécution d'agent défaillante, exporter l'instantané demo.tar et inspecter exactement ce que l'agent a vu au moment de l'échec.

Pour les développeurs travaillant avec Claude Code ou des agents similaires basés sur CLI, Mirage fournit un démon léger qui permet à ces agents d'accéder à votre infrastructure cloud comme s'il s'agissait d'un dossier local, étendant considérablement leur utilité sans nécessiter de définitions d'outils personnalisées pour chaque service.

Source

strukto-ai/mirage : Un système de fichiers virtuel unifié pour les agents IA