Technologies

GitHub lance un SDK Copilot en Java pour développer des agents d’IA indépendants des frameworks

GitHub a présenté la bibliothèque Copilot SDK for Java, qui permet aux applications Java côté serveur de créer des sessions pour des agents Copilot, d’enregistrer des outils, d’envoyer des requêtes et de recevoir des réponses structurées. La bibliothèque est actuellement disponible en version préliminaire et prend en charge les environnements Jakarta EE et Spring, ainsi que l’option BYOK.

2026-08-10
4 min de lecture
17 vues
فريق تحرير certi.news
GitHub lance un SDK Copilot en Java pour développer des agents d’IA indépendants des frameworks

GitHub a annoncé Copilot SDK for Java, une bibliothèque cliente qui permet aux applications Java côté serveur de piloter des agents Copilot par programmation, en créant des sessions pour les agents, en enregistrant des outils, en envoyant des requêtes et en recevant des réponses structurées. GitHub indique que la bibliothèque a été conçue pour être indépendante des frameworks Java et qu’elle prend également en charge l’option BYOK, ce qui la rend indépendante d’un fournisseur d’intelligence artificielle unique.

La bibliothèque cible les développeurs Java d’applications d’entreprise et fonctionne dans des environnements serveur, notamment Jakarta EE et Spring. Elle s’appuie sur des interfaces familières aux développeurs Java, telles que CompletableFuture, les annotations, les expressions lambda et les threads virtuels, au lieu d’imposer une approche liée à un framework particulier.

Disponibilité et prérequis

La bibliothèque est actuellement disponible en tant que dépendance Maven, dans la version 1.0.7-preview.1. Son utilisation nécessite les éléments suivants :

  • JDK 17 ou JDK 25, avec une recommandation d’utiliser JDK 25 afin de profiter des threads virtuels et d’autres fonctionnalités récentes.
  • Maven 3.9 ou une version ultérieure.
  • Un compte GitHub avec un abonnement Copilot actif.
  • L’installation locale de Copilot CLI en version 1.0.71 ou ultérieure.

La publication de GitHub présente une application complète basée sur Jakarta EE 11, avec le code source mis à disposition pour permettre les essais. L’entreprise affirme également que les développeurs peuvent créer leurs propres agents en utilisant les frameworks et bibliothèques Java de leur choix.

Exemple d’application de gestion des demandes immobilières

L’exemple utilise une application de gestion de prospects dans le secteur immobilier. Lorsqu’un client envoie une demande, par exemple la recherche d’une maison de trois chambres à Londres pour un prix inférieur à 800 000 livres sterling, le système crée un agent Copilot isolé sur un thread virtuel afin de traiter la demande dans le cadre d’un flux de travail défini.

L’application utilise Jakarta WebSocket pour envoyer en temps réel des mises à jour d’état du serveur vers le navigateur, ce qui permet de suivre la progression des agents lorsqu’ils appellent des outils. Plusieurs demandes peuvent également être envoyées simultanément, chaque demande étant traitée indépendamment dans sa propre session Copilot.

Définition et gestion des outils

La bibliothèque fournit l’interface @CopilotTool pour définir les outils que le modèle peut appeler. Le développeur définit une méthode Java ordinaire, tandis que la bibliothèque se charge de créer le schéma JSON, d’analyser les arguments et de distribuer l’appel. @CopilotToolParam peut être utilisé pour décrire chaque argument afin que le modèle connaisse la valeur attendue.

Cette interface fondée sur les annotations est actuellement expérimentale. Il faut donc activer les interfaces expérimentales du SDK avec l’option du compilateur -Acopilot.experimental.allowed=true, tout en enregistrant la bibliothèque dans le chemin des processeurs d’annotations dans la configuration Maven. Le traitement génère les métadonnées des outils pendant la compilation.

Outre les annotations, les outils peuvent être définis directement à l’emplacement de leur utilisation grâce à une expression lambda avec ToolDefinition.from(...). Cela permet de créer un outil sans méthode dédiée. L’option overridesBuiltInTool(true) permet quant à elle de remplacer un outil intégré par un comportement personnalisé. Les outils peuvent également être placés dans des classes distinctes de la logique de l’agent, puis enregistrés avec ToolDefinition.fromObject.

Messages et cycle de travail de l’agent

Le SDK permet de personnaliser le message système avec SystemMessageMode.CUSTOMIZE, en remplaçant certaines sections tout en conservant le reste du message, y compris les garde-fous de sécurité. Il fournit également le mode APPEND pour ajouter du contenu au message système par défaut sans le remplacer.

Le cycle de travail complet de l’agent commence avec sendAndWait(...). Lors de l’envoi de la requête, le modèle peut réfléchir, appeler plusieurs fois les outils enregistrés, puis renvoyer le résultat final, tandis que la bibliothèque transmet les résultats des outils au modèle jusqu’à l’achèvement de la tâche. Les threads virtuels permettent d’attendre avec get() sans mobiliser un thread traditionnel pendant l’attente du résultat. session.on(...) permet également de gérer les événements émis par la session.

Source de l’actualité
ف
Auteur

فريق تحرير certi.news

Dans la même catégorie

À lire également

Voir toutes les actualités