Aller au contenu principal
Outils · Outil ·

JetBrains open-source KotlinLLM : des macros intelligentes qui génèrent du code source Kotlin à l'exécution et le rechargent à chaud via JDI

JetBrains Research a mis en open source KotlinLLM, un plugin pour IntelliJ IDEA destiné aux projets Kotlin/JVM qui introduit une nouvelle fonctionnalité de langage baptisée « smart macros ». Concrètement, il s'agit d'appels de fonction Kotlin classiques dont le corps est généré par du code Kotlin produit à la volée. L'API publique se limite à deux primitives : asLlm<F, T>(from, hint), qui convertit une entrée de type F en une valeur typée T (data class, énumération, liste ou type primitif), et mockLlm<T>(), qui génère une implémentation avec état d'une interface T dont le comportement dépend des méthodes appelées. Lorsqu'un projet est lancé via la configuration d'exécution KotlinLLM, le plugin scanne les appels à asLlm et mockLlm, met à jour des fichiers générés (bootstrap, provider, parser, mock), lance l'exécution sous le débogueur JDI et pose des points d'arrêt sur des hooks de régénération. Si la logique générée ne correspond pas à un scénario d'exécution rencontré, le plugin capture les valeurs et types de la frame suspendue, transmet ces informations à un agent LLM qui propose une mise à jour du code, puis compile et redéfinit la classe chargée à chaud avant de relancer l'appel initial. Sur un projet Spring Petclinic adapté en Kotlin comportant 18 points d'appel asLlm, les 24 scénarios applicatifs testés ont abouti après évolution des smart macros, avec un taux de succès de 100 % en rechargement à chaud et un surcoût d'exécution d'environ 1 % lié à la compilation et à la redéfinition de classes. Un second test synthétique, baptisé « GitHub Beginner Issue Radar », a analysé plus de 30 000 issues réelles sur 20 dépôts, atteignant environ 0,89 de rappel sur les étiquettes de référence identifiant les issues adaptées aux débutants.

2 min de lecturePertinence 39
Source

Résumé et traduction réalisés par Le Fil IA à partir de MarkTechPost. Lire l'article original →

L'intérêt principal de KotlinLLM tient à sa capacité à limiter les appels au LLM aux seuls scénarios inédits. Une fois qu'un comportement a été généré et validé, le projet cible peut ensuite compiler et exécuter ce code sans nouvelle sollicitation du modèle, ce qui évite d'ajouter de la latence ou des coûts d'inférence pour les cas déjà couverts. Le code produit est du Kotlin ordinaire, versionnable et relisable, et non une dépendance à un modèle. Cette approche cible des usages concrets comme la normalisation de réponses d'API semi-structurées, la création de doublons de test évolutifs, l'adaptation à la dérive de schémas côté fournisseur, ou encore la classification de texte bruité. Elle peut intéresser les équipes R&D, les équipes plateforme d'entreprises Kotlin/JVM de taille moyenne à grande, ainsi que les start-up tolérantes aux outils encore expérimentaux, notamment dans la fintech, la banque, l'e-commerce, la logistique ou l'outillage pour développeurs.

JetBrains présente néanmoins clairement KotlinLLM comme un prototype de recherche, pas comme un outil prêt pour la production. Le plugin nécessite IntelliJ IDEA 2025.2.x, JDK 21 et une clé d'API OpenAI stockée dans un fichier .kotlinllm du projet cible, configurable via le menu Tools de l'IDE. Il est distribué sous licence Apache 2.0, accompagné d'exemples exécutables, du mémoire de thèse à l'origine du projet et de l'enregistrement d'une présentation donnée à KotlinConf 2026. Pour les entreprises soumises à des exigences réglementaires, JetBrains recommande de traiter le code généré comme n'importe quel code source à relire et auditer, ce qui correspond précisément à la manière dont le plugin le stocke.

VidéoVoir la vidéo de cet article sur YouTube →
Impact France / UEChamp produit par Le Fil IA

Les equipes de developpement Kotlin/JVM en France et en UE peuvent evaluer cet outil experimental, JetBrains etant une entreprise europeenne basee a Prague.

Notre lecture

Bon, sur le papier c'est malin : au lieu de payer un appel LLM à chaque exécution, tu génères le code une fois, tu le rejoues, et tu ne rappelles le modèle que quand le scénario change. Le taux de succès à 100% sur Petclinic, c'est joli, mais c'est du contrôlé, JetBrains le dit lui-même, ça reste un prototype de recherche avec une clé OpenAI qui traîne dans un fichier de config. Ce que ça révèle surtout, c'est où va l'IA générative appliquée au code : plus vers du code généré une fois et figé que vers de l'inférence à chaque appel, ce qui change complètement le calcul coût/latence.

À lire ensuite

01SpaceXAI en open source pour Grok : l'agent Rust, l'interface TUI et les outils derrière son CLI de code40MarkTechPostOutils 02WebBrain : un agent de navigation IA open-source et local qui lit les pages et automatise des tâches sur Chrome et Firefox35MarkTechPostOutils 03OpenAI met à jour Codex : les agents peuvent créer des espaces de travail interactifs via Sites et plugins par rôle45VentureBeat AIOutils 
Dossier · OpenAISuivi en continu par Le Fil IASuivre ce sujet →

Le brief du matin

L'essentiel de l'IA chaque jour. Gratuit, désinscription en un clic.

Recevez l'essentiel de l'IA chaque jour

Gratuit · 1 email le matin, l'essentiel de l'IA · désinscription en un clic

Vu une erreur factuelle dans cet article ? Signalez-la. Toutes les corrections valides sont publiées sur /corrections.