Frameworks Agents Multi-Langages
Spring AI pour Java, LangChain4j, Candle pour Rust, Mastra pour TypeScript, FastHTML pour Python, Axum pour APIs Rust — des agents dans chaque stack.
Ce que contient ce pack
Ce pack rassemble les six frameworks d'agent qui permettent aux équipes de rester dans leur écosystème de langage existant au lieu de boulonner un service Python à un backend Java ou Rust juste pour des features LLM. La liste couvre les quatre langages où du travail sérieux d'agents se passe en dehors de Python : Java, Rust, TypeScript et Python (avec FastHTML pour le rendering full-stack).
| # | Framework | Langage | Idéal pour |
|---|---|---|---|
| 1 | Spring AI | Java | apps Spring Boot ajoutant features LLM |
| 2 | LangChain4j | Java/Kotlin | port communautaire de LangChain sur JVM |
| 3 | Candle | Rust | inférence de modèles locale |
| 4 | Mastra | TypeScript | framework agent + workflow TS full-stack |
| 5 | FastHTML | Python | UIs Python server-rendered pour agents |
| 6 | Axum | Rust | APIs d'agent haut débit |
Le pack reflète la réalité que les features LLM s'expédient maintenant dans chaque backend, pas seulement Python. Un backend Spring Boot d'e-commerce ne veut pas démarrer un service FastAPI séparé pour un chat — Spring AI vit dans la même JVM. Un API gateway Rust ne veut pas un sidecar Python — Axum + Candle compilent en un seul binaire.
Pourquoi le langage natif compte
Le monde agent Python-first (LangChain, LangGraph, CrewAI) est génial si Python est déjà votre stack principal. Si vous êtes une boutique Java, vous faites face à trois mauvaises options sans ce pack :
- Faire tourner un service Python sidecar (déploiement extra, observabilité séparée, marshalling JSON entre deux processus).
- Utiliser un gateway LLM SaaS (lock-in vendor, latence, frais).
- Coder à la main les appels HTTP OpenAI dans vos controllers Spring (pas d'abstractions, pas de framework d'eval, pas de boucle d'agent).
Spring AI et LangChain4j corrigent ça. Ils donnent à Java les mêmes primitives — modèles chat, tool calling, templates de prompt, vector stores, boucles d'agent — que LangChain donne à Python, avec des DSLs idiomatiques Spring ou Kotlin. Pareil pour Rust (Candle pour l'inférence, Axum pour la surface API) et TypeScript (Mastra pour le framework).
Le trade-off est le retard de features. LangChain expédie une intégration vers un nouveau modèle dès le jour un ; Spring AI prend des semaines ; LangChain4j rattrape parfois plus vite que Spring AI parce que c'est community-driven. Planifiez pour « le modèle a été lancé hier et seul Python l'a » comme scénario réel.
Installer en une commande
# Installe le pack — pose un projet starter pour chaque framework
tokrepo install pack/agent-frameworks-multilang
# Ou choisir par langage
tokrepo install spring-ai
tokrepo install langchain4j
tokrepo install mastra
tokrepo install candle
Le TokRepo CLI gère le package manager de chaque écosystème — Maven pour Spring AI et LangChain4j, Cargo pour Candle et Axum, npm/pnpm pour Mastra, uv pour FastHTML. Les projets starter incluent tous un test qui appelle un vrai modèle pour vérifier les API keys avant d'écrire la logique.
Pièges courants
- Spring AI vs LangChain4j n'est pas « officiel vs non officiel ». Spring AI vient de VMware/Broadcom ; LangChain4j est communautaire. Les deux sont largement utilisés. Choisissez selon la parité de features avec le modèle que vous utilisez et la préférence ergonomique (DSL Spring vs sémantique LangChain).
- Mastra est jeune. Bien maintenu mais l'API a bougé entre versions mineures. Épinglez une version spécifique et lisez les release notes avant de mettre à jour. Les utilisateurs production attendent typiquement deux versions mineures avant de monter.
- Candle est pour l'inférence, pas l'orchestration. Il fait tourner des modèles localement (Llama, Mistral, etc) et donne des embeddings — mais ce n'est pas un framework d'agent complet. Associez avec Axum pour la couche API si vous voulez un stack Rust-only.
- FastHTML est basé sur HTMX. Ce n'est pas un framework SPA. Si votre équipe attend React ou Vue, FastHTML semblera étranger. Parfait quand vous voulez des UIs Python server-rendered câblées directement aux agents sans repo frontend séparé.
- Les formats de tool calling diffèrent. OpenAI, Anthropic et Gemini ont tous des JSON schemas différents pour les tool calls. Chaque framework abstrait ça différemment — annotation
@Toolde Spring AI,@Toolréflexion de LangChain4j,createTool()typé de Mastra. Ne supposez pas qu'une définition de tool porte entre frameworks.
Quand ce pack seul ne suffit pas
Ce pack vous donne le runtime dans votre langage. Vous aurez encore besoin de :
- Un fournisseur LLM. OpenAI, Anthropic, Bedrock, ou auto-hébergé via Ollama. Les six frameworks supportent plusieurs fournisseurs via configuration.
- Stockage vectoriel si vous faites du RAG. Voir le pack Vector DB Showdown — la plupart des entrées ont des clients natifs en Java, Rust et TS.
- Pipeline d'eval. Promptfoo du pack LLM Eval & Guardrails tourne en mode langage-agnostique — pointez-le sur votre endpoint quel que soit le backend.
Pour les stacks Python-only où multilang n'est pas la question, voir Frameworks Agents Python. Pour une comparaison côte à côte agnostique de plateforme sans choisir le langage, voir Frameworks Multi-Agents.
6 ressources prêtes à installer
Questions fréquentes
Ces frameworks sont-ils gratuits ?
Les six sont Apache 2.0 ou MIT open-source — pas de coût par siège du framework. Vous paierez les appels API LLM (OpenAI, Anthropic, etc) quel que soit le langage. Spring AI vient de Broadcom mais gratuit ; LangChain4j est community-driven et gratuit ; Mastra a du VC avec open-source gratuit plus cloud optionnel. Candle, Axum, FastHTML sont du pur OSS.
Comment Spring AI se compare à LangChain4j ?
Spring AI est la réponse canonique de l'équipe Spring — intégration étroite avec Spring Boot autoconfig, Spring Data, Spring Security. LangChain4j est community-driven et porte le modèle conceptuel LangChain (chains, agents, callbacks) sur Java avec une couverture de features plus large. Spring AI si vous êtes une boutique Spring et voulez les idiomes canoniques ; LangChain4j si vous voulez le modèle mental LangChain en JVM avec largeur d'intégration maximale.
Est-ce que ça fonctionne avec Claude Code ou Cursor ?
Ce sont des frameworks runtime, pas des intégrations d'éditeur. Les frameworks tournent à l'intérieur de votre service (Spring Boot, binaire Axum, app Mastra). Votre éditeur (Claude Code, Cursor) aide à écrire le code du framework. Cursor et Claude Code ont un support décent Java/Rust/TS, avec Spring AI obtenant un bon autocomplete du plugin Spring IDE de JetBrains.
Différence vs le pack Python Agent Frameworks ?
Python Agent Frameworks est Python-only — cinq frameworks tournant tous sur CPython. Ce pack est l'opposé : il fait surface aux options non-Python. Si vous êtes engagé sur Python, ce pack-là est plus dense ; si vous êtes sur Java/Rust/TS ou choisissez le langage, ce pack-ci est le bon point de départ. Les deux packs sont complémentaires, pas chevauchants.
Quel est le piège opérationnel avec Mastra ?
Mastra a une opinion forte que les workflows vivent à côté des agents dans le même projet, avec types partagés. Bien pour un codebase propre mais couple étroitement votre moteur de workflow à la version du framework d'agent. Si vous mettez Mastra à jour et qu'un workflow casse, vous ne pouvez pas rollback l'agent sans rollback le workflow. Planifiez une étape de test séparée pour les montées de version Mastra.
12 packs · 80+ ressources sélectionnées
Découvrez tous les packs curatés sur la page d'accueil
Retour à tous les packs