Les architectures logicielles des entreprises modernes se limitent rarement à un unique dépôt et ne tiennent plus dans l'espace de travail local de l'IDE d'un seul développeur. À mesure que les équipes grandissent, les systèmes se fragmentent en dizaines, centaines ou milliers de dépôts (repositories) : microservices découplés, bibliothèques internes partagées, SDK multiplateformes, applications front-end et configurations d'infrastructure.
Lorsqu'un ingénieur doit déboguer un incident traversant plusieurs services, évaluer l'impact de la modification d'une API ou accélérer la prise en main d'un nouveau projet, les outils de développement traditionnels et les assistants IA locaux se heurtent à un mur structurel. Un assistant opérant uniquement sur le contexte local ne voit que les rares fichiers ouverts dans l'éditeur. Il ne peut pas déterminer comment un événement déclenché par un microservice est consommé par un autre service situé trois dépôts plus loin.
Sourcegraph Cody élimine cet angle mort en associant des modèles de langage de pointe (LLM) à l'infrastructure centralisée d'intelligence de code et d'indexation multidépôt de Sourcegraph. En ancrant les réponses de l'IA dans l'ensemble du patrimoine logiciel de l'entreprise, les équipes d'ingénierie peuvent retracer les flux d'exécution distribués, éclaircir des dépendances complexes et comprendre du code inconnu en un temps record.
Le défi de l'échelle dans les polydépôts et les grands monodépôts
Dans les environnements d'ingénierie d'envergure, les équipes font face à des contraintes structurelles permanentes :
- Fragmentation du contexte et zones d'ombre : Les processus métier majeurs traversent les frontières des services. Analyser une anomalie exige de basculer constamment entre plusieurs dépôts pour comparer contrats d'API, schémas de données et bibliothèques utilitaires.
- Charge cognitive lors de l'intégration (onboarding) : Les nouveaux arrivants passent souvent des semaines à déchiffrer des wikis obsolètes ou à solliciter des experts internes pour reconstituer les interactions entre les composants du système.
- Limites physiques de la fenêtre de contexte des LLM : Même si les fenêtres de contexte des modèles récents se sont élargies, injecter directement plusieurs gigaoctets de code ou des milliers de dépôts dans un prompt est irréalisable, ruineux et détériore fortement la pertinence des réponses.
- Environnements locaux incomplets et hallucinations : Les développeurs ne clonent sur leur poste qu'une infime partie des dépôts de l'entreprise. Interrogée sur des dépendances distantes non présentes sur le disque, une IA classique invente des implémentations fictives fondées sur des hypothèses générales.
Pour explorer et expliquer des architectures distribuées de manière fiable, un assistant IA doit s'appuyer sur une couche d'intelligence externe capable d'indexer, d'analyser et de filtrer le code à l'échelle de l'entreprise avant d'assembler les prompts.
La technologie : Comment Cody récupère le contexte multidépôt
Plutôt que d'effectuer une analyse superficielle des fichiers locaux au moment de la question, Cody s'appuie sur une architecture de Génération Augmentée par Récupération (RAG) nativement intégrée à la plateforme Sourcegraph.
1. Indexation centralisée à l'échelle de la plateforme
Sourcegraph s'interface directement avec les forges logicielles de l'organisation (telles que GitHub, GitLab et Bitbucket). La plateforme indexe en continu tous les dépôts autorisés. Qu'il s'agisse d'une instance cloud dédiée (Single-Tenant Cloud) ou d'un déploiement sur site (Self-Hosted), Sourcegraph maintient à jour l'arbre complet du code et des symboles de l'entreprise. Cody peut ainsi explorer des dépôts distants qu'un développeur n'a jamais clonés localement.
2. Moteur de recherche multidimensionnel et Code Graph
Lorsqu'un ingénieur pose une question dans la fenêtre de discussion, Cody transmet la requête à l'API de recherche avancée et au moteur de Code Graph de Sourcegraph, combinant plusieurs techniques d'extraction :
- Recherche par mots-clés et expressions régulières : Identifie instantanément les messages d'erreur, les noms de fonctions et les constantes dans des milliers de dépôts.
- Récupération sémantique et vectorielle : Repère les logiques conceptuellement proches, même si deux microservices emploient des conventions de nommage différentes.
- Analyse des symboles et des graphes : Utilise des protocoles de précision (comme SCIP) pour localiser la définition d'une interface, recenser ses implémentations et cartographier les dépendances entre services.
3. Réordonnancement côté serveur et optimisation du prompt
Récupérer des milliers de lignes de code ne sert à rien si le système ne sait pas isoler l'essentiel. Cody exécute sur le serveur des algorithmes de réordonnancement (Re-rankers) exclusifs qui évaluent la pertinence de chaque extrait en fonction du chemin du fichier, de la proximité des symboles et de la question posée.
Seuls les fragments présentant le plus fort signal d'information sont formatés et transmis aux modèles de pointe (comme Claude 3.7 Sonnet, Claude 3.5 Sonnet ou GPT-4o), garantissant des explications rigoureuses tout en respectant l'enveloppe de tokens allouée.
Cas d'usage concrets pour les équipes d'ingénierie
Les équipes de développement mettent à profit les capacités multidépôts de Cody dans leurs flux de travail quotidiens.
┌────────────────────────────────────────────────────────────────────────┐
│ IDE local du développeur │
│ (VS Code / JetBrains / Visual Studio / Cody Web) │
└───────────────────────────────────┬────────────────────────────────────┘
│ 1. Question multidépôt / @-mentions
▼
┌────────────────────────────────────────────────────────────────────────┐
│ Plateforme Sourcegraph Enterprise │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ Index central de code (GitHub / GitLab / Bitbucket / Monorepo) │ │
│ └───────────────────────────────┬────────────────────────────────┘ │
│ │ 2. Recherche mots-clés + graphe de code│
│ ▼ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ Réordonnanceur serveur & optimisateur de fenêtre de tokens │ │
│ └───────────────────────────────┬────────────────────────────────┘ │
│ │ 3. Extraits de code à fort signal │
└───────────────────────────────────┼────────────────────────────────────┘
│
▼ 4. Prompt étayé
┌────────────────────────────────────────────────────────────────────────┐
│ LLM avancé (Claude / GPT) │
│ 5. Explication d'architecture avec liens directs vers le code │
└────────────────────────────────────────────────────────────────────────┘
1. Traçage des flux d'exécution entre microservices
Dans une architecture distribuée, une requête utilisateur transite par plusieurs services distincts. Via le panneau de discussion de Cody, un développeur peut demander :
« Lorsqu'un paiement est validé dans
checkout-frontend, par quel point de terminaison de l'api-gatewaytransite-t-il verspayment-service? Et quel dépôt implémente le consommateur d'événements qui met à jour la commande dansorder-service? »
Cody consulte simultanément les quatre dépôts, rassemble les règles de routage, la logique métier et les écouteurs de files d'attente, fournissant une synthèse limpide du flux de bout en bout sans que l'ingénieur n'ait à cloner manuellement chaque projet.
2. Explication des bibliothèques internes et des frameworks partagés
Beaucoup d'entreprises développent leurs propres bibliothèques de sécurité, couches d'accès aux données ou frameworks d'intégration, souvent dépourvus de documentation exhaustive. Un développeur peut interroger Cody sur le fonctionnement interne de ces bibliothèques sans quitter son projet en cours. Cody explique la logique du code source de la bibliothèque partagée et met en évidence des exemples concrets d'utilisation issus d'autres dépôts en production de l'entreprise.
3. Accélération de l'onboarding et découverte de l'architecture
Pour les nouveaux ingénieurs, localiser la répartition physique du code constitue souvent l'étape la plus chronophage. Cody agit comme un tuteur technique disponible en continu :
- « Quels dépôts prennent en charge l'authentification et le renouvellement des sessions utilisateurs dans notre architecture ? »
- « Où est défini le modèle de données client et quels services disposent des droits d'écriture sur ce modèle ? »
Cody appuie ses réponses sur les noms de fichiers et les lignes de code précises qu'il a consultés. Les nouveaux développeurs peuvent cliquer sur ces références pour inspecter les sources d'origine et construire rapidement une vision claire du système.
4. Analyse du périmètre d'impact avant refactorisation d'API
Avant de modifier une interface ou de déprécier une fonction partagée, les équipes doivent évaluer l'étendue de l'impact (Blast Radius). Cody permet d'auditer l'ensemble du patrimoine de code :
« Si nous déprécions le point de terminaison
v1/validateTokendansidentity-service, quels dépôts et quelles applications clientes l'appellent encore ? »
Cody identifie tous les points d'appel en quelques minutes, permettant de coordonner les migrations entre équipes et d'éviter les ruptures de service inattendues.
Contrôle précis : @-Mentions et périmètre de contexte
Bien que Cody puisse interroger l'ensemble des dépôts de l'entreprise, les développeurs disposent d'outils précis pour adapter la portée du contexte à leur besoin immédiat.
Les @-Mentions
Dans l'interface de chat de Cody (accessible sous VS Code, JetBrains, Visual Studio et Cody Web), taper @ permet de définir des sources explicites :
@repo: Spécifie un dépôt distant déterminé, même s'il n'est pas ouvert dans l'IDE local.@fileet@symbol: Ancre des fichiers, des classes, des méthodes ou des interfaces spécifiques dans le prompt.@openctx: Relie des contextes externes (tickets Jira, incidents Linear, documentation interne) au code source.
Verrouillage permanent de dépôts clés
Dans les paramètres de chat, les ingénieurs peuvent associer des groupes de dépôts fréquemment consultés ensemble (par exemple, le dépôt front-end et l'API back-end correspondante). Toutes les questions posées durant la session exploiteront en priorité ce sous-ensemble prédéfini.
Transparence et vérification par les Context Chips
À chaque réponse, Cody affiche des étiquettes de contexte (Context Chips) mentionnant les fichiers et dépôts consultés. Les ingénieurs peuvent cliquer sur ces références pour vérifier l'exactitude des informations directement dans le code source, s'assurant ainsi que les recommandations reposent sur des faits tangibles.
Gouvernance d'entreprise, sécurité et filtres de contexte
L'ouverture de l'ensemble du patrimoine de code à un assistant IA exige une gestion rigoureuse des accès. Cody Enterprise applique plusieurs niveaux de contrôle :
Respect des autorisations d'origine (RBAC)
Cody applique rigoureusement les droits d'accès basés sur les rôles (RBAC) configurés dans Sourcegraph et sur les forges logicielles (GitHub, GitLab, etc.). Si un développeur n'a pas accès en lecture à un dépôt confidentiel, Cody n'extraira jamais de code de ce dépôt pour cet utilisateur.
Filtres de contexte (Cody Context Filters)
Les administrateurs peuvent configurer cody.contextFilters via des expressions régulières pour définir les dépôts éligibles ou interdits comme contexte pour les LLM :
{
"cody.contextFilters": {
"include": [
{
"repoNamePattern": "^github\\.com\\/mon-organisation\\/.*"
}
],
"exclude": [
{
"repoNamePattern": ".*-cles-securite.*"
},
{
"repoNamePattern": ".*-donnees-confidentielles.*"
}
]
}
}
Les dépôts exclus sont totalement ignorés par Cody, éliminant tout risque de transmission de code sensible vers des fournisseurs de modèles tiers.
Bonnes pratiques pour les équipes d'ingénierie
Pour tirer le meilleur parti du contexte multidépôt dans l'ensemble de l'organisation, il est recommandé d'adopter les habitudes suivantes :
- Structurer les questions d'architecture : Mentionner les noms de services envisagés, les types d'échanges ou les formats de données aide le moteur de recherche à cibler plus rapidement les dépôts pertinents.
- Combiner Code Search et Cody Chat : Utilisez Sourcegraph Code Search pour repérer de grandes tendances ou versions obsolètes à l'échelle du groupe, puis utilisez Cody Chat pour élaborer les plans de refactorisation et comprendre les ajustements nécessaires.
- Harmoniser les prompts récurrents : Définissez des modèles de requêtes partagés pour les revues d'API, l'analyse de dépendances et l'intégration de microservices.
- Vérifier systématiquement les extraits cités : Utilisez Cody comme un accélérateur d'exploration, tout en prenant le réflexe de vérifier les fichiers mentionnés dans les Context Chips pour valider les décisions techniques.
En reliant le poste de travail individuel à l'ensemble du patrimoine logiciel de l'entreprise, Sourcegraph Cody transforme la manière dont les équipes d'ingénierie comprennent, maintiennent et font évoluer leurs architectures logicielles complexes.