IntelliJ IDEA
IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin
Comment utiliser des agents d’IA avec l’ACP dans IntelliJ IDEA
Le protocole ACP (Agent Client Protocol) définit un contrat commun entre un client (tel qu’IntelliJ IDEA) et un agent. IntelliJ IDEA inclut déjà plusieurs agents compatibles avec l’ACP : Codex, Claude Agent et Junie. Au-delà de ces options intégrées, le registre ACP offre davantage de choix, et les équipes peuvent enregistrer des agents internes ou non répertoriés via acp.json.
L’idée clé est la frontière. IntelliJ IDEA reste l’environnement dans lequel vous naviguez dans le projet, inspectez le code et examinez les modifications. Via la connexion ACP, chaque agent conserve ses propres modèles, son comportement, son authentification ainsi que ses outils côté agent.
Ainsi, l’unité remplaçable est plus grande qu’un LLM. Un agent compatible avec l’ACP intègre tout l’environnement autour du modèle : sa logique de planification, ses outils, son comportement en matière de routage des modèles et son observabilité. Comme l’ACP standardise l’interface entre l’IDE et l’agent, vous pouvez facilement remplacer un agent par un autre, sans modifier la manière dont IntelliJ IDEA s’intègre à celui-ci.
L’ACP en quelques mots
L’ACP est souvent décrit comme le LSP (Language Server Protocol) des agents de programmation. L’analogie fonctionne parce que le problème d’intégration est similaire.
Avant le LSP, a prise en charge de chaque langage impliquait d’écrire une intégration distincte dans l’éditeur. Le LSP a remplacé cette matrice par un contrat unique.
L’ACP applique cette même idée à la connexion entre un éditeur ou un IDE et un agent de programmation. Tout agent compatible avec l’ACP peut se connecter sans nécessiter de plugin spécifique ou d’API privée pour chaque intégration.
L’ACP est né d’une collaboration entre JetBrains et Zed, les IDE JetBrains et Zed étant tous deux définis comme clients dès le début du projet.
Pour les agents locaux, IntelliJ IDEA démarre un sous-processus et communique avec lui via JSON-RPC, en utilisant une entrée et une sortie standard. Lors de l’initialisation, l’IDE et l’agent négocient les versions du protocole et les capacités. Une fois la connexion établie, les prompts sont transmis à l’agent, tandis que les informations sur la progression, les opérations sur les fichiers et les demandes d’autorisations sont renvoyées à l’IDE.
Les agents peuvent néanmoins se comporter différemment dans le cadre de ce contrat partagé. Pendant l’initialisation, chacun déclare les capacités optionnelles qu’il prend en charge. Les plans, modes, commandes slash, chargements de session, opérations dans le terminal et autres fonctionnalités peuvent varier d’un agent à l’autre.
L’ACP gère les interactions entre IntelliJ IDEA et l’agent. Des outils et du contexte supplémentaires peuvent être transmis à l’agent via le MCP (Model Context Protocol), notamment par l’intermédiaire de serveurs configurés par l’utilisateur et du serveur MCP intégré d’IntelliJ.
Commencer avec un agent disponible
IntelliJ IDEA est livré avec plusieurs agents qui ne nécessitent aucune configuration ACP manuelle, notamment Codex, Claude Agent et Junie. Choisissez-en un et décrivez la tâche que vous souhaitez lui confier.
Chaque agent possède son propre style de workflow, qui peut inclure un mode de planification, des commandes slash ou un flux d’authentification spécifique. L’ACP permet à IntelliJ IDEA de prendre en charge cette interaction via un contrat partagé, tout en préservant ces différences.
Demandez à l’agent d’apporter une petite modification. Après qu’il a modifié un fichier, le chat IA affiche le fichier modifié dans la conversation. Cliquez dessus pour ouvrir le diff dans l’éditeur à côté du chat et inspecter précisément ce qui a changé.

Cette boucle de modification et de révision mérite d’être conservée. Si vous changez d’agent par la suite, le fait de disposer de cette boucle directement dans l’IDE vous évite de devoir déplacer le projet ou de vérifier les modifications dans un outil distinct.
Installer un agent depuis le registre ACP
Le registre ACP contient d’autres agents compatibles avec l’ACP, ainsi que les métadonnées dont IntelliJ IDEA a besoin pour les installer.
Dans IntelliJ IDEA, ouvrez Settings | Tools | AI Assistant | Agents, puis sélectionnez un agent dans le registre. La documentation ACP actuelle décrit l’ensemble du processus d’installation.

La vue de configuration de l’agent vous permet également d’exposer les serveurs MCP configurés dans AI Assistant, le serveur MCP intégré à IntelliJ, ou les deux.
IntelliJ IDEA télécharge les fichiers de l’agent lorsque vous appliquez les paramètres. La première session peut vous demander de vous authentifier en utilisant une méthode prise en charge par cet agent.
Le registre fournit également les métadonnées utilisées pour les mises à jour et la désinstallation. Ces opérations restent accessibles dans les paramètres Agents, donc l’ajout d’un agent ne nécessite pas de maintenir un autre plugin d’IDE.
Chaque agent du registre conserve sa propre licence, son service, ses identifiants et ses conditions de confidentialité. Vérifiez ces détails avant d’accorder l’accès au dépôt.
Connecter un agent personnalisé avec acp.json
Les agents du registre sont destinés à être largement distribués. Un agent interne, en revanche, a souvent un rôle plus restreint et doit rester au sein de l’entreprise.
Si un agent interne implémente l’ACP, enregistrez-le dans ~/.jetbrains/acp.json. IntelliJ IDEA fournit une action Add Custom Agent qui crée et ouvre ce fichier, mais vous pouvez également modifier le fichier directement.
La configuration ci-dessous enregistre un agent de migration d’entreprise hypothétique :
{
"agent_servers": {
"Company Migration Agent": {
"command": "/opt/company/bin/migration-agent",
"args": ["acp"]
}
}
}
Chaque clé sous agent_servers devient le nom d’affichage de l’agent. La valeur de command doit contenir le chemin complet vers l’exécutable qu’IntelliJ IDEA doit démarrer. Placez les arguments requis pour activer le mode ACP de cet agent dans les args. Les valeurs exactes se trouvent dans la documentation de l’agent.
Utilisez env si le processus a besoin de variables d’environnement. De nombreux agents s’attendent à ce que vous vous authentifiiez d’abord via leur CLI, puis à ce que vous réutilisiez les identifiants stockés dans la configuration utilisateur de l’agent. Si un agent accepte une clé API via env, suivez sa documentation et évitez de valider le fichier ou les secrets qu’il contient dans un dépôt.
Enregistrez acp.json, puis sélectionnez l’agent configuré dans IntelliJ IDEA.
Si des agents compatibles avec l’ACP sont déjà installés sur la machine, l’IDE les détectera et proposera de les ajouter à la configuration.
Pourquoi utiliser plusieurs agents ?
Les équipes peuvent souhaiter avoir différents agents pour effectuer différents types de tâches. L’ACP donne à ces agents un moyen commun de se connecter à IntelliJ IDEA :
- La connexion d’un agent compatible avec l’a ACP via
acp.jsonévite d’avoir à développer et à maintenir un plugin IntelliJ IDEA distinct. - La navigation, la modification et la révision du diff restent dans IntelliJ IDEA, mais les développeurs peuvent choisir l’agent chargé du travail.
- Si le service de l’agent ou son fournisseur de modèle n’est pas disponible, les développeurs peuvent basculer vers un autre agent configuré et poursuivre leur travail dans le même projet IntelliJ IDEA.
Gardez l’IDE, choisissez l’agent
Utilisez un agent déjà disponible dans IntelliJ IDEA, installez-en un depuis le registre ACP, ou enregistrez un agent interne dans acp.json.
L’ACP transforme l’agent de programmation, qui était jusqu’alors un choix imposé par l’IDE, en une option interchangeable que vous pouvez revoir à tout moment.
Auteur de l’article original en anglais :
