Case Study
Mein erster KI-Agent in PHP, gebaut mit Symfony AI
Eine kleine Symfony-Anwendung, um Symfonys brandneue offizielle AI-Komponente praktisch kennenzulernen: Ein Agent fasst beliebige Texte über die OpenAI-API (gpt-4o-mini) in drei Sätzen zusammen. Entstanden als Begleitcode zu einem deutschsprachigen Tutorial, das ich aufgenommen habe – ein kompaktes, ehrliches Demo statt einer Produktivanwendung, bei dem das neue AgentInterface end-to-end verdrahtet ist.
Tech-Stack
- Backend: PHP 8.4, Symfony 8.1
- KI: Symfony AI Bundle v0.11.0 (ai-bundle, ai-agent, ai-open-ai-platform) mit OpenAI gpt-4o-mini
- Frontend: Twig, Symfony UX Turbo
Herausforderungen & Lösungen
1. Symfony AI ist ein Baukasten aus 70+ Paketen, nicht eines
Das ai-bundle allein reicht nicht. Dazu kommen die Agent-Komponente ai-agent (Agent, MessageBag) und eine separate Anbieter-Bridge (hier: ai-open-ai-platform). Der Vorteil: Ein späterer Anbieterwechsel – Anthropic, Gemini, ein lokales Ollama-Modell – bedeutet nur das Austauschen der Bridge, nicht das Umschreiben der eigenen Anwendungslogik.
2. Turbo schluckt die Antwort
Das Symfony-Webapp-Skeleton bringt Symfony UX Turbo mit, das nach einem Formular-POST einen Redirect erwartet. Ohne data-turbo="false" am <form> antwortet der Server zwar korrekt, im Browser erscheint aber nichts – eine gute Erinnerung, bei „die UI tut nichts" den Network-Tab statt nur die Server-Logs zu prüfen.
Meine Rolle
Alleiniger Entwickler – gebaut, um Symfonys neue AI-Integrationsschicht praktisch zu lernen, bevor ich sie in einem echten Projekt einsetze. Begleitcode zu einem deutschsprachigen YouTube-Tutorial, das ich aufgenommen habe. Produktionsthemen (Formular-Validierung, CSRF, Fehlerbehandlung, Streaming) habe ich bewusst weggelassen, da sie nicht der Punkt der Übung waren.
Ergebnis
Ein minimaler, funktionierender KI-Agent – vom Formular über den Agent und OpenAI bis zu Twig – plus zwei dokumentierte Stolpersteine für den nächsten Entwickler (und mein zukünftiges Ich), der mit Symfony AI arbeitet.