DEV Community

Mathieu Ledru
Mathieu Ledru

Posted on

πŸ€– Symfony AI in Action - Building real AI systems with Symfony

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.

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);
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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')]
Enter fullscreen mode Exit fullscreen mode

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

Darkwood

  • Navi β†’ execution & tracing
  • Flow β†’ orchestration
  • Uniflow β†’ interface

πŸ‘‰ Articles coming soon with concrete implementations.

Top comments (0)