Darkwood Blog Blog
  • Articles
fr
  • de
  • en
Connexion
  • Blog
  • Articles

🤖 Symfony AI in Action - Construire des systèmes IA réels avec Symfony

le 24 avril 2026

Pendant deux jours, les 23 et 24 avril 2026, la conférence SymfonyLive Berlin a rassemblé la communauté autour des évolutions majeures de l’écosystème Symfony.

Parmi les talks, un en particulier marque un tournant :

👉 Symfony AI in Action, présenté par Christopher Hertel.

  • 🎥 Slides : https://speakerdeck.com/chr_hertel/symfony-ai-in-action-symfonylive-berlin-2026
  • đź§  Symfony AI : https://ai.symfony.com
  • 🛠️ Support utilisĂ© pour cet article : https://slidewire.dev

Cet article ne résume pas la conférence. Il propose une lecture Darkwood de ce qui est en train de se passer.

Le vrai sujet : arrêter de penser “chatbot”

Aujourd’hui, beaucoup d’intégrations IA se limitent à ça :

écrire un prompt → appeler un modèle → afficher une réponse

C’est insuffisant.

Le problème réel, en production, est ailleurs :

  • orchestrer plusieurs modèles
  • gĂ©rer le contexte et la mĂ©moire
  • exposer des actions (tools)
  • contrĂ´ler les coĂ»ts et les logs
  • intĂ©grer le tout dans une architecture mĂ©tier

👉 Symfony AI ne propose pas un chatbot. 👉 Symfony AI propose une stack complète.

Symfony AI : une stack, pas une feature

L’objectif est clair :

“Enable AI features, not only LLMs.”

Symfony AI introduit plusieurs briques fondamentales :

  • Platform → abstraction des modèles
  • Agent → boucle LLM + tools
  • Store → embeddings & RAG
  • AI Bundle → intĂ©gration Symfony
  • MCP Bundle / SDK → exposition de tools

👉 On passe d’un appel API… à une architecture IA complète.

Platform : abstraction des modèles

Premier problème classique :

OpenAI, Claude, Gemini, Mistral → APIs différentes

Symfony AI introduit une abstraction unique.

$platform->invoke('gpt-5-mini', $input);

Même code, différents providers.

Pourquoi c’est clé

  • changer de modèle sans refactor
  • optimiser les coĂ»ts
  • fallback multi-provider
  • intĂ©grer local + remote

👉 Symfony devient une couche d’orchestration des modèles.

Streaming & multimodal

Symfony AI va plus loin que le simple texte :

  • streaming de tokens en temps rĂ©el
  • audio, image, PDF
  • output binaire

Exemples :

  • analyser un PDF
  • dĂ©crire une image
  • traiter un audio
  • gĂ©nĂ©rer des fichiers

👉 L’IA devient une brique applicative multimodale.

Structured Output : reprendre le contrĂ´le

Problème classique :

les LLM retournent du texte… pas des données fiables

Symfony AI introduit des réponses typées :

$response_format => MyDTO::class

Résultat :

  • objets PHP exploitables
  • validation stricte
  • intĂ©gration directe au mĂ©tier

👉 On passe de “texte généré” à données contrôlées.

Agent : connecter le LLM Ă  ton application

Un agent, c’est :

un modèle qui peut appeler ton code

Avec Symfony AI :

#[AsTool('create_recipe')]

Tu exposes ton métier comme un tool.

Ce que ça change

Avant :

  • LLM isolĂ©

Après :

  • LLM + accès Ă  ton système

👉 L’IA devient exécutable.

Human in the loop : sécurité

Point critique souvent oublié :

une IA ne doit pas tout faire automatiquement

Symfony AI permet de :

  • intercepter un tool call
  • demander validation
  • bloquer ou autoriser

Exemple :

  • publier un article
  • dĂ©clencher une action critique

👉 Tu gardes le contrôle.

Memory : contextualiser

Les agents ne fonctionnent pas sans contexte.

Symfony AI permet de :

  • injecter des donnĂ©es utilisateur
  • gĂ©rer des profils
  • stocker de l’historique
  • contrĂ´ler les permissions

👉 L’IA devient contextuelle et personnalisée.

Store & RAG : connecter tes données

Pipeline :

  1. loading
  2. filtering
  3. transforming
  4. vectorizing

👉 Tu construis une base vectorielle.

Ensuite :

  • requĂŞte utilisateur
  • recherche dans le store
  • enrichissement du prompt

👉 C’est le RAG (Retrieval Augmented Generation).

Impact réel

  • FAQ intelligente
  • moteur de recherche mĂ©tier
  • copilote interne
  • assistant documentĂ©

👉 Tu branches l’IA sur ta connaissance métier.

Multi-agents : spécialisation

Architecture avancée :

  • agent principal
  • sub-agents spĂ©cialisĂ©s
  • orchestration
  • partage ou isolation de contexte

Exemple :

  • agent support
  • agent technique
  • agent billing

👉 Chaque agent a un rôle.

MCP : exposer ton système

Symfony AI s’inscrit dans un mouvement plus large :

👉 le protocole MCP

Objectif :

  • exposer tes tools
  • rendre ton système interrogeable
  • standardiser les interactions IA

👉 Ton application devient un serveur d’intelligence.

Le vrai tournant : l’orchestration

Le point le plus important n’est pas :

  • les modèles
  • les prompts
  • les agents

👉 Le vrai sujet est l’orchestration.

Questions clés :

  • qui appelle quoi ?
  • avec quel contexte ?
  • sous quelles permissions ?
  • avec quelle traçabilitĂ© ?
  • comment reprendre la main ?

L’approche Darkwood

Chez Darkwood, la réponse est claire :

Stack proposée

  • Symfony AI → briques IA
  • MCP → exposition des tools
  • Flow → orchestration
  • Navi → exĂ©cution + tracing
  • Uniflow → interface

Pourquoi cette stack

Symfony AI donne :

  • les modèles
  • les agents
  • les tools
  • le RAG

Mais il manque :

  • orchestration mĂ©tier
  • contrĂ´le global
  • visibilitĂ© complète

👉 C’est là qu’interviennent Flow et Navi.

Ce que ça change concrètement

Avant :

  • scripts IA isolĂ©s
  • prompts fragiles
  • peu de contrĂ´le

Après :

  • système orchestrĂ©
  • exĂ©cution traçable
  • logique mĂ©tier intĂ©grĂ©e

👉 On passe de “jouer avec l’IA” à construire des systèmes fiables.

Conclusion

Symfony AI marque une évolution majeure :

tu ne construis plus un chatbot tu construis une feature IA complète

Aujourd’hui, tu as :

  • une abstraction des modèles
  • des agents connectĂ©s Ă  ton code
  • un système de mĂ©moire
  • du RAG intĂ©grĂ©
  • une base pour orchestrer

👉 Tu n’as plus d’excuse.

Pour aller plus loin

  • Symfony AI : https://ai.symfony.com
  • Slides de Christopher Hertel : https://speakerdeck.com/chr_hertel/symfony-ai-in-action-symfonylive-berlin-2026
  • Le support technique qui m'a permis de gĂ©nĂ©rer les slides - Slidewire : https://slidewire.dev

Darkwood

  • Navi → exĂ©cution & tracing
  • Flow → orchestration
  • Uniflow → interface

👉 Articles à venir pour implémentations concrètes.

Site

  • Plan du Site
  • Contact
  • Mentions lĂ©gales

Network

  • Hello
  • Blog
  • Apps
  • Photos

Social

Darkwood 2026, tous droits réservés