Retour
DevToolsLLMs & Modèles

Langfuse détaille comment son assistant intégré 'Halo' a été construit sur l'infrastructure existante

ai
aiDUS Feed
•21 octobre 2026•4 min de lecture
aiDUS Feed
Langfuse détaille comment son assistant intégré 'Halo' a été construit sur l'infrastructure existante

Langfuse a levé le voile sur le développement de Halo, son assistant IA intégré, révélant comment l'outil a été construit en intégrant l'infrastructure existante plutôt qu'en créant des systèmes entièrement nouveaux. Lancé en juin 2026, Halo permet aux utilisateurs d'interpréter des traces, de construire des tableaux de bord et de configurer des évaluations directement dans l'interface utilisateur de Langfuse.

Architecture et Intégration

Le développement de Halo s'est largement concentré sur la réutilisation et l'extension des composants existants de Langfuse, y compris son serveur MCP et son CLI. L'entreprise visait à éviter de créer une charge de maintenance séparée pour Halo, garantissant ainsi que les améliorations des outils principaux bénéficieraient à la fois à l'agent intégré et aux utilisateurs externes. Une étape importante a été l'expansion du serveur MCP en mai 2026, qui a ajouté des outils pour accéder aux observations, métriques, scores, commentaires, ensembles de données et files d'attente d'annotation, rendant les données du projet accessibles aux agents.

Le parcours de Halo a impliqué plusieurs étapes clés tout au long de 2026 : un lancement en bêta publique en juin, l'ajout d'actions d'écriture avec approbations humaines en juillet, l'exécution en arrière-plan en août, et des exécutions avec isolation plus tard le même mois. L'architecture de haut niveau sépare la gestion des exécutions, un navigateur initiant des exécutions qui sont ensuite traitées par un worker Langfuse. Ce worker interagit avec les modèles et les outils via le serveur MCP de Langfuse, avec des environnements d'isolation Lambda MicroVM optionnels pour le traitement de résultats plus importants.

Sécurité et Permissions

La sécurité a été un aspect fondamental de la conception de Halo. L'agent accède aux données du projet via le serveur MCP public, avec des outils et des permissions soigneusement gérés. Pour chaque exécution, une clé API temporaire limitée au projet est créée. Par défaut, seuls les outils MCP en lecture seule sont disponibles. Le système maintient sa propre cartographie des permissions d'outils, filtrant les outils en fonction du rôle de l'utilisateur connecté avant de les exposer au modèle. Les actions qui modifient les données nécessitent une approbation explicite, avec des options pour enregistrer les approbations pour une conversation, bien que les permissions soient revalidées par rapport au rôle actuel de l'utilisateur à chaque exécution.

Isolation et Exécution en Arrière-plan

Bien que la boucle de l'agent s'exécute dans les workers backend de Langfuse, un environnement d'isolation séparé est utilisé pour les tâches nécessitant des opérations sur fichiers ou l'exécution de scripts. Cette isolation, généralement une Lambda MicroVM pour Langfuse Cloud, n'a pas d'accès réseau par défaut et exécute le code en tant qu'utilisateur non privilégié. Elle est suspendue et terminée après des périodes d'inactivité. Cette conception garantit que l'agent ne peut pas effectuer d'appels réseau arbitraires depuis l'environnement d'isolation, l'accès aux données étant strictement contrôlé via des appels MCP autorisés. Pour les tâches impliquant le traitement de grands ensembles de données dépassant la fenêtre de contexte d'un modèle, l'isolation permet à Halo d'utiliser des outils comme grep, head, jq, ou de courts scripts Python. Un paramètre optionnel silent pour les outils MCP permet à l'agent de récupérer des données et de recevoir un chemin de fichier vers le résultat dans l'isolation, plutôt que la sortie complète ne soit chargée dans le contexte du modèle.

Pour permettre aux utilisateurs de fermer leurs onglets de navigateur et de revenir à des tâches en cours, la boucle de l'agent a été déplacée d'un gestionnaire HTTP vers le processus worker. Cette séparation permet aux exécutions de continuer indépendamment. Le serveur web met en file d'attente les nouvelles exécutions via BullMQ, et le worker les exécute, enregistrant la progression dans Postgres. Les Server-Sent Events (SSE) sont utilisés pour diffuser les mises à jour vers le navigateur. Langfuse a délibérément choisi de ne pas implémenter de nouvelles tentatives automatiques pour les exécutions échouées afin de maintenir la simplicité, bien que cette décision puisse être réexaminée pour des tâches plus longues ou critiques.

Orientations Futures

Langfuse explore des moyens d'améliorer les capacités des scripts d'isolation, en accordant potentiellement l'accès au SDK Langfuse et aux connexions LLM du projet pour des tâches telles que l'étalonnage des évaluateurs. Cette expansion nécessiterait des mesures de sécurité prudentes pour garantir que les scripts ne font que des requêtes approuvées. Halo est actuellement disponible sur Langfuse Cloud et en bêta publique pour les déploiements auto-hébergés.

Articles Similaires

LB
Langfuse Blog