NCA Social Media
Erstellt:
Aktualisiert:
Autor:
Roland Golla
Grüne isometrische Grafik Browser mit Text Symfony AI und Rakete

Symfony AI: KI Features direkt im PHP und Symfony Stack

Symfony AI ist eine Sammlung entkoppelter PHP Komponenten, die KI Funktionen direkt in Symfony Anwendungen bringen. Statt jeden Anbieter einzeln anzubinden, liefert die Initiative eine einheitliche Schnittstelle zu OpenAI, Anthropic, Google Gemini, Mistral und lokalen Modellen über Ollama. Damit lassen sich Chatbots, Datenextraktion, Structured Output und agentische Workflows in bestehenden Codebases umsetzen, ohne den Tech Stack zu wechseln.

Das Projekt entstand aus dem PHP LLM Ökosystem und wurde von Christopher Hertel als offizielle Symfony AI Initiative etabliert. Es besteht aus mehreren Komponenten: Platform für die Modell Kommunikation, Agent für tool fähige KI Agenten, Store für Vektor Datenbanken und RAG, sowie Chat für persistente Gespräche. Das AI Bundle integriert alles über Dependency Injection und den Symfony Profiler.

Dieses Glossar erklärt die einzelnen Bausteine von Symfony AI praxisnah. Den Anfang macht Structured Output: typsichere PHP Objekte direkt aus LLM Antworten. Never Code Alone implementiert diese KI Features direkt in Symfony und Sulu CMS Projekte und ordnet jeden Baustein nach echtem Production Nutzen ein.

Die Komponenten von Symfony AI im Überblick

Symfony AI ist modular aufgebaut. Jede Komponente lässt sich einzeln oder im Verbund nutzen:

  • Platform Component: Einheitliche Schnittstelle zu über 25 Inferenz Anbietern mit Streaming, Multi Modal Support und Structured Output.
  • Agent Component: Framework für KI Agenten, die Tools aufrufen und mehrstufige Aufgaben lösen.
  • Store Component: Abstraktion für Vektor Datenbanken wie ChromaDB, Pinecone oder PostgreSQL mit pgvector als Basis für RAG.
  • Chat Component: Persistenter Kontext für dialogorientierte Anwendungen.

Dazu kommen das AI Bundle für die nahtlose Symfony Integration und das offizielle MCP SDK, das gemeinsam mit der PHP Foundation entwickelt wird. Ein wichtiger Hinweis: Die Components sind noch jung und entwickeln sich schnell. Für den produktiven Einsatz lohnt es sich, den Entwicklungsstand zu beobachten und kritische Features mit Tests abzusichern. Genau hier liegt die Stärke von NCA: KI Features sauber, getestet und wartbar in den PHP Stack bringen.

Symfony AI mit NCA: KI direkt im PHP Stack

Never Code Alone arbeitet seit über 20 Jahren mit PHP und betreibt nevercodealone.de selbst auf Symfony und Sulu CMS. Symfony AI läuft bei uns im eigenen Stack, mit PHPUnit, PHPStan und Cypress in der Pipeline. Die meisten Teams, mit denen wir sprechen, starten aber nicht auf der grünen Wiese. Sie haben ein gewachsenes PHP System, in dem jede Kleinigkeit zu lange dauert, und wollen trotzdem AI Features liefern.
Genau dafür gibt es den NCA Symfony AI Team Mate. Neben eurem Legacy startet ein Symfony Projekt in Docker, angebunden an eure echten Daten. AI Features entstehen dort ab sofort, abgesichert durch eine CI CD Pipeline mit Docker und Staging und die NCA PHP AI Coding Guidelines. Der alte Code wird über PHP Refactoring Stück für Stück übernommen, alte Versionen hebt das PHP Update vorher an. Wie eure Daten per MCP in die Chat Tools eurer Mitarbeiter kommen, zeigt die NCA MCP Middleware.
Symfony AI Feature ins eigene Projekt bringen
Finde das passende Angebot für dein Projekt
Anfrage-Konfiguration
Starten Sie Ihre Anfrage
Projektart
Infos
Nachricht

Eliminierung technischer Schulden mit PHPStan, Rector PHP und PHPUnit. Über 20 Jahre Praxiserfahrung in skalierbaren Backends.

CORE EXPERTISE

Gesetzliche Konformität & Inklusion. Optimierung von Performance und Conversion durch radikal nutzerzentriertes, universelles Design.

BFSG COMPLIANT

Skalierbare KI-Systeme mit echtem Code Ownership. CI/CD, Backup-Strategien und Infrastruktur, die mit deinem Team wächst.

ENTERPRISE READY

Neu in Symfony AI v0.14.0

Am 25. September 2026 ist Symfony AI v0.14.0 erschienen, veröffentlicht von Fabien Potencier. Knapp vier Wochen nach 0.13 liegt der Schwerpunkt auf dem Agent, auf neuen Anbietern in der Platform und auf Sicherheitsfixes, die jeder beim Update mitnehmen sollte.
Sicherheit zuerst. Einschränkungen der Tool Auswahl pro Aufruf werden jetzt auch während der Ausführung durchgesetzt. In der Claude Code Bridge begrenzt die Option tools tatsächlich die verfügbaren Werkzeuge, und verbotene Pfade im Filesystem Tool greifen auch für übergeordnete Verzeichnisse und relativ zum Basisverzeichnis. Wer sich auf diese Grenzen verlässt, sollte nicht warten.
Der Agent wird erwachsener. Das neue Attribut MapToolArguments nimmt Tool Argumente als flaches DTO entgegen. Tool Execution Strategies bündeln mehrere Aufrufe, ein laufender Agent lässt sich abbrechen, und eine MCP Client Bridge bindet entfernte MCP Server direkt als Werkzeuge ein. Fehler beim Auflösen von Argumenten und Fehler aus MCP Servern landen jetzt beim Modell, das darauf reagieren kann. Alles dazu auf unserer Seite zu Tool Calling in Symfony AI.
Mehr Anbieter in der Platform. Neue Bridges für Eden AI, Venice, Higgsfield, Together, Fireworks AI, Bedrock Mantle und TypeSafe. OpenAI bekommt Realtime Sessions für Voice Agents, Anbieter mit Wartezeit laufen als asynchrone Jobs, darauf aufbauend gibt es Batch Requests bei OpenAI. TokenUsage kennt jetzt das Modell, was die Kostenrechnung vereinfacht. Details unter Model Inference in Symfony AI.
Mate bekommt neue Werkzeuge. symfony-dotenv-check prüft .env Dateien, symfony-service-detail zeigt Konstruktor Argumente und Definition Flags, Monolog Antworten verraten mit total_matched und truncated, ob Treffer abgeschnitten wurden. Beim Init bleiben Umlaute in der composer.json erhalten. Mehr auf der Seite zu Symfony AI Mate.
Store und Tests. Die HTTP basierten Store Bridges und Elasticsearch bekommen eine StoreFactory, Stores können Einträge zählen, und ein neues VectorDocumentInterface vereinheitlicht Vektordokumente. Die mit 0.13 eingeführten Cassettes schwärzen jetzt aufgezeichnete Request Bodies und prüfen Anfragen vor dem Abspielen. Für Structured Output wichtig: Ein JSON Code Block wird vor dem Dekodieren ausgepackt, Konstruktor Defaults landen im Schema.
Symfony AI bleibt als experimentell markiert und fällt nicht unter die Abwärtskompatibilitätszusage. Der komplette Changelog steht im Release v0.14.0 auf GitHub.

Die wichtigsten Änderungen in v0.14.0

Komponente Was neu ist Warum es zählt
Agent Sicherheit Tool Einschränkungen pro Aufruf durchgesetzt, Filesystem Pfade gehärtet Grenzen, auf die man sich verlässt, greifen jetzt wirklich
Agent MapToolArguments, Execution Strategies, Abbruch, MCP Client Bridge Sauberere Tools und entfernte MCP Server ohne Klebecode
Platform Sieben neue Bridges, OpenAI Realtime, asynchrone Jobs und Batch Mehr Auswahl und große Mengen ohne Warteschleifen
Kosten TokenUsage mit Modell, Anbieter Identität in Events Verbrauch lässt sich direkt pro Modell auswerten
Mate dotenv Check, erweitertes service-detail, Monolog Metadaten Der Coding Agent versteht Konfiguration und Logs besser
Store und Tests StoreFactory, Zählfunktion, Cassettes mit Schwärzung Weniger Setup Code und keine Secrets in Aufzeichnungen

Neu in Symfony AI v0.13.0

Am 30. August 2026 ist Symfony AI v0.13.0 erschienen, getaggt von Christopher Hertel. Der Schwerpunkt liegt auf drei Bereichen: Mate wird vom MCP Server zur eigenständigen CLI, der Agent übernimmt das Tool Calling selbst, und das MCP Bundle kann mehrere Server und Clients gleichzeitig bedienen.
Mate ist jetzt eine native CLI. Der bisherige MCP Server ist ersetzt, das Werkzeug meldet sich selbst bei den Coding Agents an. Dazu kommt ein kompletter Skill Lifecycle: Skills werden gefunden, kopiert installiert und ihr Zustand landet in der extensions.php. Neu sind die Befehle skills:enable, skills:disable, skills:override und skills:reset, dazu ein Trockenlauf bei skills:install und inhaltliche Prüfungen in skills:validate. Jede Extension bringt die Skills mit, die ihre Tools steuern. Details zum Werkzeug stehen auf unserer Seite zu Symfony AI Mate.
Mate nimmt Daten aus der Anwendung nicht mehr für bare Münze. Ausgaben, die aus der Anwendung stammen, werden als untrusted data markiert und in einen Umschlag gepackt. Das ist die richtige Antwort auf Prompt Injection über Logdateien und Profiler Daten. Passend dazu redigiert der Mailer Collector jetzt Mailtexte, Empfänger und Link Tokens, und im Profiler Fallback werden sensible Schlüssel geschwärzt.
Der Agent steuert das Tool Calling selbst. Bisher hing die Schleife an einem Output Processor, jetzt liegt sie beim Agent. Dazu gibt der Agent eine lazy Execution Instanz zurück, die Antwort wird also erst geholt, wenn sie gebraucht wird. Zwei Fehler in dem Bereich sind weg: Das Limit für Tool Calls hat die Schleife vorher nie gedeckelt, und bei parallelen Streaming Anfragen teilten sich alle dasselbe Budget. Wer Tool Calling in Symfony AI nutzt, sollte hier genau hinsehen.
Tool Parameter werden validiert. Skalare Parameter prüft der Agent nun gegen die Constraints aus dem Schema Attribut. Damit landen fehlerhafte Aufrufe nicht mehr im eigenen Code, sondern werden vorher abgefangen. Ein passender Fix beseitigt außerdem die stille Umwandlung von int zu float.
Das MCP Bundle wächst. Mehrere Server und Clients laufen jetzt parallel, die Protokollrevision vom 28. Juli 2026 wird auf dem bestehenden Endpunkt unterstützt, completion Anfragen reicht das Bundle an den Server durch, und Änderungen an der Registry gehen an den konfigurierten Notification Bus. Der Schlüssel für den request_state kommt aus einer Umgebungsvariablen. Mehr dazu auf unserer Seite zum Symfony MCP Bundle.
Streaming und Provider Treue. Der Assistant Turn wird jetzt so wiedergegeben, wie der Anbieter ihn produziert hat, und Tool Calls werden über alle Bridges hinweg im Stream angekündigt. Bricht ein Stream mitten drin ab, informiert onError die Listener statt still zu scheitern. Passend dazu unsere Seite zu Streaming in Symfony AI.
Tests gegen echte Anbieter ohne echte Anfragen. Neu sind Cassettes zum Aufzeichnen und Abspielen, sowohl auf Provider Ebene als auch an der HTTP Grenze, dazu Integrationstests nach demselben Muster. Für Teams heißt das: Bridge Tests laufen in der Pipeline ohne API Schlüssel und ohne Kosten. Aus unserer Sicht der praktischste Punkt im ganzen Release.
Neue Modellfähigkeiten. Mistral bekommt Voxtral als Speech to Text Endpunkt, allerdings opt-in, dazu einen Audio Normalizer für Audioverständnis im Chat. Bei OpenResponses kommen Zitatangaben aus url_citation Annotationen dazu, ein eigenes Ergebnisobjekt für custom tool calls, das Wiedergeben von Reasoning Schritten über mehrere Turns bei store false, und ein Retry bei überlasteten Anfragen. Beim OpenRouter Katalog lässt sich die Basis URL konfigurieren.
Achtung beim Update: Die Bundle Option keep_tool_messages heißt jetzt exclude_tool_messages. Symfony AI ist weiterhin als experimentell markiert und fällt nicht unter die Abwärtskompatibilitätszusage, Umbenennungen dieser Art sind also normal. Der komplette Changelog steht im Release v0.13.0 auf GitHub.

Die wichtigsten Änderungen in v0.13.0

Komponente Was neu ist Warum es zählt
Mate Native CLI statt MCP Server, kompletter Skill Lifecycle Einfacher einzubinden, Skills lassen sich ein und ausschalten
Mate Sicherheit Tool Ausgaben als untrusted data, Redaktion in Mailer und Profiler Schutz gegen Prompt Injection über Logs und Mails
Agent Tool Calling im Agent, lazy Execution, Schema Validierung Limits greifen wieder, fehlerhafte Aufrufe werden vorher abgefangen
MCP Bundle Mehrere Server und Clients, Revision 2026-07-28, completion Ein Projekt kann mehrere MCP Quellen gleichzeitig bedienen
Platform Record und Replay Cassettes, Tool Calls im Stream, onError Bridge Tests laufen ohne API Schlüssel in der Pipeline
Bridges Voxtral und Audio bei Mistral, Zitate und Retry bei OpenResponses Sprache und Quellenangaben ohne eigenen Klebecode

At first AI is a ton of buzzwords and hype

Christopher Hertel, Initiator von Symfony AI – Speaker Deck, PHP UK 2026