Agents et conversation
L’index du code
Escouade range le code d’un projet en symboles et en liens, pour que ses agents trouvent ce qu’ils cherchent en un appel, plus vite et pour moins de tokens qu’en lisant des fichiers entiers.
Ce qu’il fait gagner
Sans index, un agent cherche à coups de grep, puis lit les fichiers qu’il a trouvés, souvent en entier. Avec l’index, il demande en un appel :
- où est un symbole (fonction, méthode, classe, type, champ, titre Markdown), avec sa signature et sa doc ;
- le contexte d’une tâche : les points d’entrée et les symboles liés, avec leurs extraits ;
- les appelants et les appelés d’une fonction ;
- ce qu’un changement toucherait.
Chaque réponse dit ce qu’elle a fait économiser : les tokens des fichiers dont elle tire, lus en entier, contre les siens. Les statistiques en font le total par projet.
Les langages lus : Rust, TypeScript, JavaScript, Svelte, Python, Go, Java, C#, PHP et Markdown.
L’allumer
L’index est coupé par défaut. Escouade le propose :
- à l’ajout d’un projet, à la dernière étape de l’assistant « Nouveau projet » (Indexer le code) ;
- dans Réglages › Projets › Index du code (Indexer ce projet), à tout moment.
Allumé, le projet est lu une fois, puis tenu à jour sans guetteur de fichiers : à chaque question des agents (au plus toutes les 3 secondes), aux commits, aux changements de branche et aux fins de tour. Le réglage dit ce qu’il contient : ses fichiers, ses symboles, sa taille et quand il a été lu. Le couper efface l’index.
Les worktrees des agents ne sont pas indexés en entier : l’index de la branche de base sert à tous, et chaque worktree n’ajoute que ce qui en diffère.
Rien ne quitte la machine
L’index est calculé sur ta machine et gardé dans le dossier d’Escouade, jamais dans le dépôt ni dans un service en ligne. Seuls les agents en reçoivent des extraits, comme ils reçoivent déjà du code. Les fichiers ignorés par git ne sont pas lus.
Les projets privés
L’index d’un projet privé ne sert qu’à ses propres agents : ceux des autres projets n’y ont jamais accès, ni par le nom ni par l’id. Ce que sa clôture refuse n’est jamais lu ni indexé ; quand un autre projet est rangé dans son dossier, le réglage le nomme : « Laissé hors de l’index : … ». De même, un projet ouvert qui contient un projet privé dans son dossier le laisse hors de son index.
La recherche par le sens
En plus des mots, la mémoire partagée et les docs d’un projet se cherchent par le sens, avec un petit modèle multilingue (multilingual-e5-base, licence MIT) qui tourne sur ta machine. Il se télécharge une fois pour tous les projets, depuis Réglages › Projets › Index du code › Recherche par le sens (282 Mo) :
- une jauge montre où en est le téléchargement, et Annuler l’arrête ;
- ce qui est venu est gardé : Reprendre repart de là ;
- le fichier est vérifié par son empreinte SHA-256, et passe par le proxy des réglages réseau ;
- Effacer le retire ; la recherche se fait alors par les mots seuls.
Une fois le modèle téléchargé, rien ne sort plus de la machine.
Ce que voient les agents
Les agents passent par cinq outils du serveur MCP, les mêmes pour tous les harness : index_search, index_context, index_callers, index_callees et index_impact. Dans les vues de Claude Code et de Codex, une recherche qui vise un symbole reçoit une ligne qui dit que l’index y répond en un appel ; ailleurs, c’est une règle de leur consigne. Une recherche de texte n’est jamais bloquée.
Ce qu’il a fait économiser
Les statistiques ont une partie Économies de l’index du code, sur la période choisie : par projet, le nombre de réponses de l’index, les tokens économisés et leur valeur en dollars. Les dollars sont une estimation : les tokens économisés au prix d’entrée du modèle sur lequel tournait chaque agent.