>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Comment assembler un zoo d'outils pour agents IA en un seul stack

Future AGI Logo

Quiconque a essayé de déployer des agents autonomes ou des pipelines LLM complexes en production se heurte rapidement au même point douloureux. D'abord, vous greffez Langfuse ou Phoenix pour le tracing. Puis vous réalisez que des logs sans évaluation automatisée sont inutiles, donc vous traînez une bibliothèque séparée pour les évaluations. Ensuite, vous découvrez que l'agent s'amuse à contourner les garde-fous et à fuir des tokens, donc vous superposez Guardrails ou Lakera par-dessus. Et vous avez toujours besoin d'une gateway rapide pour router entre les providers et d'un simulateur pour parcourir les dialogues avant le déploiement.

Résultat : au lieu de travailler sur le produit, les équipes passent des semaines à assembler cinq services différents avec du chatterton. Le projet future-agi essaie de résoudre ce chaos avec une seule boîte. L'équipe a construit une plateforme open-source sous licence Apache 2.0 qui regroupe tracing, évaluations, simulations, une gateway et optimisation des prompts.

Ce qu'il y a dans la boîte

L'idée centrale de la plateforme est simple : combiner la collecte de données de production et l'amélioration des agents dans une seule boucle fermée. Si un agent a fait une erreur sur un vrai utilisateur, cette trace devrait immédiatement devenir un cas de test pour la prochaine itération de prompt.

Toutes les fonctionnalités sont divisées en six domaines principaux.

Simulation de scénarios et tests synthétiques

Tester les agents manuellement est lent et inefficace. Le module de simulation intégré peut générer des milliers de dialogues multi-étapes avec différents rôles, des questions pièges et des tentatives de hacking.

Ce qui est intéressant, c'est que le module supporte non seulement le texte mais aussi les agents vocaux grâce aux intégrations avec LiveKit, Retell, VAPI et Pipecat. Vous pouvez vérifier la latence et les performances du détecteur d'activité vocale (VAD) avant qu'un vrai client n'entende le bredouillement incohérent du bot.

Évaluation de la qualité et sécurité en temps réel

La bibliothèque comprend plus de 50 métriques intégrées. Il y a des vérifications standard pour les hallucinations et l'adhérence au contexte, l'évaluation de la correctitude d'utilisation des outils, l'analyse du ton et la détection de fuite de données personnelles. L'évaluation fonctionne via une combinaison d'heuristiques, de modèles ML légers et de l'approche LLM-as-a-judge.

Pour la protection en temps réel, il y a 18 scanners intégrés contre les injections et les jailbreaks, plus des adaptateurs pour des solutions externes comme Presidio ou Llama Guard. Les scanners peuvent être invoqués directement dans la gateway proxy ou appelés via un SDK séparé dans votre code d'application.

Gateway Command Center et Tracing

Le routage des requêtes est géré par une gateway écrite en Go. Les auteurs claim un temps de latence de routage pondéré d'environ 9,9 nanosecondes et un débit d'environ 29 000 requêtes par seconde sur une instance t3.xlarge. Avec les vérifications de sécurité activées, la latence P99 reste autour de 21 millisecondes.

La gateway est compatible avec l'API OpenAI, supporte plus d'une centaines de providers (d'OpenAI et Anthropic aux solutions locales comme Ollama et vLLM), peut faire du caching sémantique et gère des clés virtuelles.

Pour le tracing, la norme OpenTelemetry est utilisée. La plateforme collecte des graphes de spans, la latence et les coûts en tokens depuis 50 frameworks comme LangChain, CrewAI, DSPy ou LlamaIndex sans configuration manuelle complexe.

Optimisation des prompts sur des données réelles

La partie la plus intéressante est le tuning algorithmique des prompts. Au lieu d'ajuster manuellement le wording dans le code, six algorithmes d'optimisation sont disponibles, incluant GEPA, PromptWizard, ProTeGi et la recherche Bayésienne. Les traces d'erreurs réelles de production sont alimentées dans l'optimiseur, qui génère et teste automatiquement de nouvelles variantes de prompts système.

Démarrage rapide

Le projet peut être déployé localement via Docker Compose ou exécuté dans le cloud. Pour un déploiement local, il suffit de cloner le dépôt et d'exécuter le script d'installation :

git clone https://github.com/future-agi/future-agi.git
cd future-agi
./bin/install

Une fois terminé, l'interface web est disponible à l'adresse http://localhost:3000.

L'intégration dans du code Python existant prend littéralement trois lignes :

from fi_instrumentation import register
from traceai_openai import OpenAIInstrumentor
import openai

register(project_name="support-agent")
OpenAIInstrumentor().instrument()

client = openai.OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Как оформить возврат товара?"}],
)

Dans une base de code TypeScript ou Node.js, tout ressemble :

import { register } from "@traceai/fi-core";
import { OpenAIInstrumentation } from "@traceai/openai";
import OpenAI from "openai";

register({ projectName: "support-agent" });
new OpenAIInstrumentation().instrument();

const openai = new OpenAI();
const response = await openai.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Как оформить возврат товара?" }],
});

Après l'appel, les données vont automatiquement vers le tracer où vous pouvez voir l'arbre d'appels, les paramètres passés et mesurer le temps de génération.

Architecture et stack technique

Sous le capot, la plateforme utilise une stack assez pragmatique sans choix exotiques :

  • Backend écrit en Python 3.11 utilisant Django 5.1 et Django Channels pour les WebSockets.
  • Gateway haute charge écrite en Go 1.23.
  • Frontend construit avec React 18 et le bundler Vite.
  • PostgreSQL est utilisé pour le stockage des métadonnées et de la configuration, ClickHouse pour l'analytique des spans et les séries temporelles, Redis pour l'état et le cache. Les tâches d'arrière-plan tournent via RabbitMQ et Temporal.

Tous les composants de l'écosystème sont séparés en packages distincts. Si vous n'avez pas besoin de toute l'interface, vous pouvez installer juste le module de métriques pip install ai-evaluation ou l'optimiseur de prompts pip install agent-opt.

À qui le projet est destiné maintenant

Si vous construisez un chatbot FAQ simple qui répond aux questions d'un bouton, Future AGI vous semblera être un bulldozer overkill. Quelques logs console basiques suffiront largement.

Mais si vous construisez :

  • Des pipelines RAG complexes où vous devez valider les citations et vérifier les faits des réponses.
  • Des assistants vocaux basés sur LiveKit ou Retell où chaque milliseconde de latence est critique.
  • Des agents appelant des dizaines d'API externes et d'outils MCP où attraper les échecs dans les chaînes de raisonnement est critique.
  • Des systèmes qui ne peuvent pas être confiés à des services SaaS externes en raison d'exigences d'isolation des données.

Dans ces scénarios, pouvoir déployer toute la stack de monitoring, simulation et gateway avec une seule commande docker compose up fait gagner beaucoup d'heures d'ingénierie.

Le projet est actuellement en développement actif, comme le banner dans le README l'honestement warn. Vous pouvez rencontrer quelques aspérités dans l'interface ici et là, mais le code open-source et l'architecture basée sur OTel et ClickHouse en font un excellent candidat pour des tests dans votre propre infrastructure.

Projets similaires