Kosong : la couche d’abstraction LLM qui simplifie les agents IA modernes
Moonshot AI dévoile Kosong, une bibliothèque Python qui unifie les interactions entre agents IA, modèles LLM et outils asynchrones. Cette solution facilite la maintenance et l’évolution des applications agent en dissociant la logique métier des fournisseurs et outils.
Dans un paysage où les applications agentic exploitent plusieurs modèles et outils en constante évolution, Moonshot AI propose Kosong, une couche d’abstraction LLM pensée pour simplifier la construction et la maintenance de ces systèmes complexes. Lancée en 2024, cette bibliothèque Python agit comme un intermédiaire entre la logique métier des agents et les fournisseurs de modèles, permettant d’orchestrer de manière asynchrone les appels aux outils tout en supportant plusieurs backends de chat. Kosong alimente notamment le CLI Kimi de Moonshot, démontrant son rôle central dans la gestion des agents conversationnels.
Une architecture pensée pour la modularité et la simplicité
Kosong expose une API publique volontairement réduite, centrée sur deux fonctions principales : generate pour les complétions simples et step pour les agents utilisant des outils. Le cœur de l’intégration repose sur l’abstraction ChatProvider, qui encapsule les spécificités des fournisseurs LLM, comme le provider Kimi développé par Moonshot. Cette abstraction permet d’initialiser un objet avec des paramètres tels que l’URL de base, la clé API et le nom du modèle, garantissant une interface uniforme quel que soit le backend.
Les messages échangés sont modélisés via la classe Message, capable de gérer du contenu textuel ou multimodal, ce qui ouvre la voie à des interactions riches tout en restant accessible aux développeurs débutants. La gestion du streaming est assurée par StreamedMessagePart, qui assemble les fragments de réponse en temps réel, tandis que la structure TokenUsage permet de suivre la consommation de tokens de manière indépendante du fournisseur.
Orchestration des outils et gestion asynchrone
Les agents modernes nécessitent souvent l’intégration d’outils variés, comme la recherche, l’exécution de code ou les appels base de données. Kosong modélise ces composants via le module tooling, où les outils sont définis en sous-classant CallableTool2 avec des modèles de paramètres Pydantic. Cette approche garantit la validation et le parsing des arguments de manière robuste.
Les outils sont regroupés dans un SimpleToolset, qui orchestre les appels asynchrones et leur routage vers les fonctions adéquates. La fonction step gère la coordination d’un tour de conversation, récupérant les résultats des outils et les intégrant dans la réponse finale, déchargeant ainsi les développeurs de la complexité de la boucle d’exécution.
Un démonstrateur intégré et une intégration avec Kimi CLI
Kosong inclut un agent de démonstration exécutable localement, configuré via des variables d’environnement pour accéder à l’API Kimi. Ce démonstrateur peut activer l’exécution de commandes shell, illustrant la puissance de l’orchestration d’outils dans un contexte réel. Par ailleurs, Kosong constitue la couche sous-jacente du CLI Kimi, qui se concentre sur l’expérience utilisateur en ligne de commande tout en tirant parti de la flexibilité offerte par Kosong pour supporter différents backends.
Points clés
- Kosong est une bibliothèque Python lancée en 2024 par Moonshot AI.
- Elle unifie les structures de messages, l’orchestration asynchrone et les fournisseurs de chat.
- Le CLI Kimi de Moonshot repose sur Kosong pour gérer les agents conversationnels.