Darkwood Blog Blog
  • Articles
en
  • de
  • fr
Login
  • Blog
  • Articles

🤖 Symfony AI in Action - Building real AI systems with Symfony

on April 24, 2026

For two days, on April 23 and 24, 2026, the SymfonyLive Berlin conference brought the community together around the major developments of the Symfony ecosystem.

Among the talks, one in particular marks a turning point:

👉 Symfony AI in Action, presented by Christopher Hertel.

  • 🎥 Slides: https://speakerdeck.com/chr_hertel/symfony-ai-in-action-symfonylive-berlin-2026
  • 🧠 Symfony AI: https://ai.symfony.com
  • 🛠️ Platform used for this article: https://slidewire.dev

This article does not summarize the conference. He offers a Darkwood interpretation of what is happening.

The real issue: stop thinking “chatbot”

Today, many AI integrations are limited to this:

write a prompt → call a template → display a response

That's insufficient.

The real problem, in production, lies elsewhere:

  • orchestrate multiple models
  • manage context and memory
  • Expose actions (tools)
  • monitor costs and logs
  • integrate everything into a business architecture

👉 Symfony AI does not offer a chatbot. 👉 Symfony AI offers a complete stack.

Symfony AI: a stack, not a feature

The objective is clear:

“Enable AI features, not only LLMs.”

Symfony AI introduces several fundamental building blocks:

  • Platform → model abstraction
  • Agent → LLM loop + tools
  • Store → embeddings & RAG
  • AI Bundle → Symfony integration
  • MCP Bundle / SDK → tools exhibition

👉 We're moving from an API call… to a complete AI architecture.

Platform: Model abstraction

First classic problem:

OpenAI, Claude, Gemini, Mistral → Different APIs

Symfony AI introduces a unique abstraction.

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

Same code, different providers.

Why this is key

  • change model without refactoring
  • optimize costs
  • fallback multi-provider
  • Integrate local and remote

👉 Symfony becomes a model orchestration layer.

Streaming & multimodal

Symfony AI goes beyond simple text:

  • Real-time token streaming
  • audio, image, PDF
  • binary output

Examples:

  • analyze a PDF
  • Describe an image
  • process an audio
  • generate files

👉 AI is becoming a multimodal application building block.

Structured Output: regaining control

Classic problem:

LLMs return text… not reliable data

Symfony AI introduces typed responses:

$response_format => MyDTO::class

Result :

  • usable PHP objects
  • strict validation
  • Direct integration into the profession

👉 We are moving from “generated text” to controlled data.

Agent: Connect the LLM to your application

An agent is:

a model that can call your code

With Symfony AI:

#[AsTool('create_recipe')]

You present your profession as a tool.

What this changes

Before :

  • Isolated LLM

After :

  • LLM + access to your system

👉 AI becomes executable.

Human in the loop: security

A critical point that is often overlooked:

An AI shouldn't do everything automatically.

Symfony AI allows you to:

  • intercept a tool call
  • request validation
  • block or allow

Example :

  • publish an article
  • trigger critical action

👉 You remain in control.

Memory: contextualize

Agents do not function without context.

Symfony AI allows you to:

  • inject user data
  • manage profiles
  • store history
  • control permissions

👉 AI is becoming contextual and personalized.

Store & RAG: Connect your data

Pipeline:

  1. loading
  2. Filtering
  3. transforming
  4. Vectorizing

👉 You are building a vector basis.

Afterwards :

  • user request
  • search in the store
  • enrichment of the prompt

👉 This is RAG (Retrieval Augmented Generation).

Real Impact

  • Smart FAQ
  • industry search engine
  • internal co-pilot
  • documented assistant

👉 You connect the AI ​​to your business knowledge.

Multi-agent: specialization

Advanced architecture:

  • senior agent
  • specialized sub-agents
  • orchestration
  • sharing or isolation of context

Example :

  • support agent
  • technical agent
  • billing agent

👉 Each agent has a role.

MCP: Expose your system

Symfony AI is part of a broader movement:

👉 the MCP protocol

Objective :

  • Showcase your tools
  • make your system queryable
  • standardize AI interactions

👉 Your application becomes an intelligence server.

The real turning point: orchestration

The most important point is not:

  • the models
  • the prompts
  • the agents

👉 The real issue is orchestration.

Key questions:

  • Who calls what?
  • In what context?
  • Under what permissions?
  • With what traceability?
  • How to regain control?

The Darkwood Approach

At Darkwood, the answer is clear:

Suggested Stack

  • Symfony AI → AI building blocks
  • MCP → tools exposure
  • Flow → orchestration
  • Navi → execution + tracing
  • Uniflow → interface

Why this stack

Symfony AI provides:

  • the models
  • the agents
  • the tools
  • the RAG

But something is missing:

  • business orchestration
  • overall control
  • full visibility

👉 This is where Flow and Navi come in.

What this changes in practice

Before :

  • isolated AI scripts
  • fragile prompts
  • little control

After :

  • orchestrated system
  • traceable execution
  • integrated business logic

👉 We are moving from “playing with AI” to building reliable systems.

Conclusion

Symfony AI marks a major evolution:

You're no longer building a chatbot

you build a complete AI feature

Today you have:

  • an abstraction of models
  • agents connected to your code
  • a memory system
  • of the integrated RAG
  • a basis for orchestrating

👉 You have no more excuses.

To go further

  • Symfony AI: https://ai.symfony.com
  • Slides by Christopher Hertel: https://speakerdeck.com/chr_hertel/symfony-ai-in-action-symfonylive-berlin-2026
  • The technical support that allowed me to generate the slides - Slidewire: https://slidewire.dev

Darkwood

  • Navi → execution & tracing
  • Flow → orchestration
  • Uniflow → interface

👉 Articles coming soon with concrete implementations.

Site

  • Sitemap
  • Contact
  • Legal mentions

Network

  • Hello
  • Blog
  • Apps
  • Photos

Social

Darkwood 2026, all rights reserved