TYPO3 KI-fit machen: Wie klare Strukturen bessere Agenten-Ergebnisse liefern

Was der TYPO3-Core bereits für KI-Lesbarkeit tut – und was Sie in Ihrem Projekt ergänzen sollten. Mit Schema API, Content Blocks, Property Hooks, DataHandler und Harness Engineering.

Auf einen Blick

  • KI-Agenten scheitern nicht am Modell, sondern an unklarer Architektur und fehlender Struktur der Codebasis.
  • Der TYPO3-Core liefert mit Schema API, strikten Typen und PSR-14 bereits eine solide Grundlage für KI-Lesbarkeit.
  • Content Blocks, Property Hooks und DataHandler-Patterns sind die größten Hebel für Extension-Entwickler:innen.
  • Harness Engineering – Linter, Tests und Projektregeln – sichert die Qualität von Agent-generiertem Code ab.
  • Eine priorisierte Roadmap zeigt die ersten Schritte für bestehende TYPO3-Projekte.

KI-Agenten scheitern in TYPO3-Projekten selten an fehlender Rechenleistung. Sie scheitern an Kontextverlust: an TCA-Verzweigungen, Extbase-Boilerplate, impliziten Seiteneffekten und Regeln, die nur in Köpfen existieren. Genau dort entscheidet sich, ob ein Agent eine Änderung sauber umsetzt oder teure Review-Schleifen produziert.

Dass Architektur schwerer wiegt als Modellwahl, ist kein Bauchgefühl. LangChain verbesserte die Trefferquote seines Coding-Agenten von 52,8 % auf 66,5 % – ohne ein einziges Modell-Upgrade. Nur die Umgebung änderte sich: bessere Verifikationsschleifen, klarerer Kontext, engere Feedback-Loops. Dasselbe Modell, andere Ergebnisse.

Die Architektur einer Codebasis bestimmt die Qualität des Agenten – nicht umgekehrt.

Dieser Artikel trennt zwei Perspektiven: Was hat der TYPO3-Core bereits getan, um Code maschinenlesbarer zu machen? Und was können Sie als Extension-Entwickler:in in Ihrem Projekt ergänzen?


Inhaltsverzeichnis  

KI-Lesbarkeit

Kontextverlust und Architektur

Harness Engineering

Verifikation, Kontext, Constraints

Strukturierte Specs

Maschinenlesbare Spezifikationen

Roadmap

Phasen von Sofort bis v14-Migration

Fazit

Drei stärkste Hebel


Warum KI-Lesbarkeit jetzt zählt  

In klassischen Projekten wurde Code für Menschen strukturiert, die Zeit hatten, sich in historische Entscheidungen einzuarbeiten. KI-Agenten arbeiten anders: Sie müssen mit begrenztem Kontext in kurzer Zeit das relevante Signal erkennen. Liu et al. zeigten 2023 in „Lost in the Middle", dass Sprachmodelle bei langen Kontexten eine U-förmige Aufmerksamkeitskurve aufweisen – sie bevorzugen Informationen am Anfang und Ende, der Mittelteil verliert bis zu 20 % an Wirksamkeit. Größere Kontextfenster verschärfen dieses Problem, statt es zu lösen.

Für TYPO3 bedeutet das: Je mehr Boilerplate, Wiederholung und implizite Regeln eine Extension enthält, desto höher ist das Risiko für unpräzise Patches, falsche Abkürzungen und unnötige Rückfragen. Wenn eine TCA-Datei 400 Zeilen verschachtelte Arrays enthält, sieht ein Agent viel Syntax und wenig Fachsignal.

SituationWas das Modell siehtFolge im Projekt
Große TCA-Datei mit verschachtelten ArraysViel Syntax, wenig FachsignalHöhere Fehlerquote bei kleinen Konfigurationsänderungen
Extbase-Model mit Getter-/Setter-SerienTokenbudget wird von Boilerplate verbrauchtGeschäftslogik rückt aus dem Fokus
Direkte SQL-Updates auf TCA-RecordsFormal plausibler, aber fachlich falscher WegRisiko für Workspaces, FAL-Referenzen und Berechtigungen
Projektregeln nur im TeamwissenFällt auf Trainingsmuster zurückInkonsistente Implementierungen über Dateien hinweg

Was der TYPO3-Core bereits liefert  

Das TYPO3-Ökosystem modernisiert sich seit mehreren Versionen in eine Richtung, die KI-Agenten direkt zugutekommt – auch wenn das nicht die ursprüngliche Absicht war. Wer diese Core-Änderungen kennt, versteht, warum TYPO3-Projekte heute strukturell besser für agentische Workflows aufgestellt sein können als viele andere PHP-Systeme.

Schema API und Record API ersetzen rohe TCA-Arrays  

Seit v13.2 bietet die Schema API einen typisierten, objektorientierten Zugang zu TCA-Strukturen. Statt direkt auf $GLOBALS['TCA'] zuzugreifen, nutzen Entwickler:innen eine API, die Felder, Typen und Relationen als Objekte bereitstellt. Die begleitende Record API (v13.3) transformiert rohe Datenbankwerte automatisch in typisierte Objekte: Record, FileReference, DateTimeImmutable. Relationen werden per Lazy Loading aufgelöst.

Für Agenten bedeutet das: weniger Array-Navigation, klarere Typen und ein vorhersehbares Objektmodell. Die Migration auf Schema API ist eine laufende Core-Initiative – der Core löst TCA als PHP-Array schrittweise ab.

Strikte Typen und PHP-Attribute in Extbase  

TYPO3 v13 erzwingt strikte Typisierung in Extbase-Kernklassen: ActionController, PersistenceManager, ObjectStorage und Domain-Model-Basisklassen sind durchgängig strikt typisiert. Wer Extbase-Klassen erweitert, muss seine Signaturen anpassen.

In v14 geht die Bereinigung weiter: Extbase-Annotations (@Extbase\Validate) sind entfernt, ausschließlich native PHP-Attribute (#[Extbase\Validate]) werden akzeptiert. Die doctrine/annotations-Bibliothek ist nicht mehr nötig. Für KI-Agenten ist das ein klarer Gewinn: Attribute sind maschinenlesbar, IDE-navigierbar und statisch analysierbar – DocBlock-Annotations waren keines von alledem.

Fluid 5.0 mit strikter Typvalidierung  

Fluid 5.0 in TYPO3 v14 validiert ViewHelper-Argumente strenger als zuvor. Null-Werte erzeugen keine leeren HTML-Attribute mehr, sondern lassen das Attribut weg. Custom ViewHelpers benötigen explizite Return-Type-Deklarationen. Variable-Namen mit Unterstrich-Präfix sind reserviert.

Diese Strenge reduziert die Klasse von Fehlern, die Agenten in Templates produzieren können – das System meldet Typfehler zur Laufzeit sofort, statt sie als stilles Fehlverhalten durchrutschen zu lassen.

PSR-14 Events statt Legacy-Hooks  

Die Migration von Hooks und Signal/Slot auf PSR-14 Events läuft seit v10 und ist in v14 nahezu abgeschlossen. Events sind typisierte Klassen mit klar definierten Properties, registriert über Services.yaml. Für Agenten sind sie ungleich einfacher zu entdecken und korrekt zu verwenden als die alten Hook-Registrierungen mit Magic Strings und impliziten Parametern.

Content Blocks als deklarative Alternative  

Content Blocks (v2.0 seit November 2025, v14-kompatibel) verlagern die Definition von Content-Elementen, Record-Types und Page-Types in eine einzige config.yaml. TCA, SQL und Backend-Formulare werden automatisch generiert. Die Core-Integration begann in v13 mit Schema API, Record Transformation API und automatischer TCA-Feldwert-Transformation.

Content Blocks sind keine Core-Extension, sondern ein von der Community gepflegtes Paket – aber die Infrastruktur dafür wurde bewusst im Core verankert.

Rector und Fractor als Community-finanzierte Migrationswerkzeuge  

Für TYPO3 v14 entstanden 45 neue Rector-Regeln und 11 Fractor-Regeln, finanziert durch das Community Budget. Rector transformiert PHP-Code (Deprecations, Breaking Changes), Fractor deckt TypoScript, FlexForms, Fluid und composer.json ab. Für Agenten bedeutet das: automatisierte Migration statt manueller Suche nach veralteten Patterns.

Core-MaßnahmeVersionErsetztKI-Gewinn
Schema APIv13.2$GLOBALS['TCA']-ZugriffeTypisiertes OOP statt Array-Navigation
Record APIv13.3Manuelle Typ-UmwandlungAutomatische Transformation in typisierte Objekte
Extbase Strict Typesv13.0Lose Typisierung in KernklassenStatische Analysierbarkeit, weniger Halluzinationen
PHP-Attribute statt Annotationsv14.0@Extbase\Validate DocBlocksMaschinenlesbar und IDE-navigierbar
Fluid 5.0 Strict Typesv14.0Lose ArgumentvalidierungTypfehler in Templates sofort sichtbar
PSR-14 Eventsv10–v14Hooks, Signal/SlotTypisierte Klassen statt Magic Strings
Content Blocks v2.0v13–v14TCA + SQL + Overrides + TemplatesYAML Single Source of Truth
45 Rector-Regeln + 11 Fractor-Regelnv14.0Manuelle MigrationAutomatisierte Code-Transformation
Die DataHandler- & Persistence-Initiative

Der TYPO3-Core arbeitet an einer langfristigen Vision: entkoppelte Persistenz mit JSON-Datentypen, vom Backend-User unabhängigen ACLs und vereinfachter Lokalisierung. Diese Initiative macht den DataHandler nicht nur sicherer, sondern auch für Agenten vorhersehbarer – weil Schreiboperationen eine einzige, klar definierte API durchlaufen.


Was Sie in Ihrem Projekt tun können  

Die Core-Modernisierung liefert das Fundament. Der entscheidende Hebel liegt aber in Ihrem Projekt: in der Extension-Architektur, den Schreibpfaden und den Regeln, die Sie für Agenten hinterlegen.

Property Hooks statt Getter/Setter  

Legacy-Extbase-Modelle sind für Agenten oft zu groß, aber inhaltlich zu dürftig. Ein Agent liest Dutzende Zeilen triviale Zugriffsmethoden, bevor die eigentliche fachliche Abweichung sichtbar wird. PHP 8.4 Property Hooks verlagern relevante Logik dorthin, wo sie hingehört: direkt an die Property. Das spart pro Feld rund 85 % Boilerplate.

PHP
<?php
declare(strict_types=1);

final class Article extends AbstractEntity
{
  protected string $title = '';

  public function getTitle(): string
  {
      return $this->title;
  }

  public function setTitle(string $title): void
  {
      $this->title = trim($title);
PHP
<?php
declare(strict_types=1);

final class Article extends AbstractEntity
{
  public string $title = '' {
      set {
          $value = trim($value);
          if ($value === '') {
              throw new \InvalidArgumentException('Title must not be empty');
          }
          $this->title = $value;
      }
  }
}
Extbase-Hydration beachten

Extbase nutzt beim Laden aus der Datenbank nicht den Konstruktor. Default-Werte gehören deshalb in die Property-Deklaration, nicht in Constructor Promotion.

Content Blocks statt TCA-Streuung  

TCA ist mächtig, aber als großes PHP-Array für Agenten ein denkbar schlechter Arbeitsraum. Content Blocks verschieben die Fachdefinition in eine deklarative YAML-Datei – TCA, SQL und Backend-Formulare werden automatisch generiert. Eine Änderung am Inhaltstyp erfordert eine Datei statt vier.

YAML
name: webconsulting/faq-item
title: FAQ Item
typeName: wc_faq_item
fields:
- identifier: question
  type: Text
  required: true
- identifier: answer
  type: Textarea
- identifier: teaser_image
  type: File
Warum YAML für Agenten besser funktioniert

YAML verdichtet die Fachabsicht ohne syntaktisches Rauschen. Agenten müssen keine verschachtelten PHP-Arrays rekonstruieren und können Änderungen schneller gegen Schema und Linting absichern.

DataHandler als einziger Schreibpfad  

Sobald ein Agent Daten in TCA-gemanagten Tabellen verändert, darf er nicht den bequemsten Weg nehmen, sondern den korrekten. In TYPO3 heißt dieser Weg DataHandler. Workspaces, Berechtigungen, Referenzindex und FAL-Relationen werden nur über diesen Pfad korrekt verarbeitet. Direkte QueryBuilder-Updates sehen kurzfristig schneller aus und kosten später Integrität.

PHP
<?php
declare(strict_types=1);

use TYPO3\CMS\Core\DataHandling\DataHandler;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$data = [
  'tt_content' => [
      'NEW123' => [
          'pid' => 42,
          'CType' => 'textmedia',
          'header' => 'KI-fitte TYPO3-Architektur',
      ],
  ],
];
DataHandler nicht per DI einschleusen

Der DataHandler hält internen Zustand. Wird er wie ein zustandsloser Service injiziert, entstehen schwer reproduzierbare Fehler. Für write-heavy Workflows muss der Instanzierungsweg in Projektregeln fixiert sein.

Projektregeln: .cursorrules, AGENTS.md und .cursor/rules  

Ein Agent ohne Projektregeln fällt auf generische Trainingsmuster zurück. Eine empirische Studie der UC Irvine (MSR 2026) analysierte 401 Repositories mit Cursor-Regeln und identifizierte eine klare Taxonomie: Conventions, Guidelines, Project Information und LLM Directives. Das Ergebnis: Persistente Regeln reduzieren die Varianz zwischen Sessions, Modellen und Entwickler:innen messbar.

AGENTS.md hat sich als Cross-Tool-Standard etabliert (Linux Foundation, Agentic AI Foundation). Cursor, Codex, Copilot, Windsurf und Devin lesen es nativ. Für TYPO3-Projekte gehören die kritischsten Pfade in dieses Format:

Text
ALWAYS use TYPO3 DataHandler for write operations on TCA-managed records.
NEVER inject DataHandler via the constructor of another service.
ALWAYS prefer Content Blocks over manual TCA/SQL for new content types.
ALWAYS use PHP attributes (#[AsEventListener]) instead of Services.yaml tags.
ALWAYS run PHPStan and tests before proposing a refactoring as complete.
NEVER bypass Schema API with direct $GLOBALS['TCA'] access in new code.
Regeln sind nicht optional

Regeln in Konfigurationsdateien sind unverbindlich – unter Kontextdruck können Agenten sie ignorieren. Kritische Standards erfordern zusätzliche mechanische Durchsetzung durch Linter, Tests und CI-Gates.

Harness Engineering: Die Umgebung ist das Produkt  

Das Konzept des Harness Engineering beschreibt eine fundamentale Verschiebung: Nicht der Code ist das Produkt, sondern die Umgebung, in der Agenten Code produzieren. Ein Harness umfasst Verifikationsschleifen (Tests, Linter, CI), Kontextsteuerung (Dokumentation, Regeln), Constraints (Architekturregeln, Abhängigkeiten) und Feedback-Systeme (Logs, Metriken).

OpenAI demonstrierte das Prinzip in der Praxis: Ein Team von drei (später sieben) Engineers lieferte mit Codex-Agenten ein Produktionssystem mit rund einer Million Zeilen Code – jede Zeile von Agenten geschrieben, kein manueller Code. Die Engineers designten den Harness, nicht den Code.

Für TYPO3-Projekte besteht ein Minimum Viable Harness aus:

Harness-SchichtTYPO3-WerkzeugWirkung
Statische AnalysePHPStan Level 8+Typfehler und tote Pfade werden vor dem Review gefunden
Code-StilPHP CS Fixer (PSR-12) Deterministische Formatierung über Sessions hinweg
Architekturregeln.cursor/rules/ + AGENTS.mdPersistenter Kontext für jeden Agent-Lauf
TestsPHPUnit (Unit + Functional)Verhaltensgarantie bei jedem Refactoring
Content-Block-ValidierungContent Block LintSchema-Fehler in YAML vor dem Build
CI-GateGitHub Actions / GitLab CIKein Merge ohne bestandene mechanische Prüfung

Strukturierte Spezifikationen statt Prosa  

Stefan van Egmond ließ 20 KI-Agenten dasselbe Feature implementieren – mit identischen Architekturregeln. Trotzdem wichen die Agenten bei grundlegenden Entscheidungen voneinander ab: Tags kopieren oder nicht, Status zurücksetzen, Fälligkeitsdaten übernehmen. Natural-Language-Spezifikationen sind mehrdeutig, schwer zu scannen und nicht testbar.

Die Lösung: Maschinenlesbare Spezifikationen, die auf Patterns aufbauen, die LLMs aus ihren Trainingsdaten bereits kennen – Pact Contracts, Design by Contract, Specification by Example. In TYPO3-Projekten lässt sich dieses Prinzip durch typisierte Interfaces, Contract-basierte DTOs und explizite Vor-/Nachbedingungen abbilden.


Priorisierte Roadmap für bestehende TYPO3-Projekte  

PhaseZielErster SchrittWirkung
SofortHotspots sichtbar machenTCA-Großdateien, Getter-/Setter-Cluster und direkte Schreibzugriffe inventarisierenSie sehen, wo KI heute die meiste Reibung hat
SofortProjektregeln etablierenAGENTS.md und .cursor/rules/ mit TYPO3-spezifischen Direktiven anlegenJeder Agent-Lauf startet mit korrektem Kontext
Nächster SprintPilot-Feature modernisierenEin isoliertes Feature auf Content Blocks und schlankere Models umstellenProof of Value ohne Migrationsrisiko
Nächstes QuartalHarness aufbauenPHPStan, Tests, Content-Block-Lint und CI-Gate koppelnMechanische Absicherung für hohes Agent-Volumen
v14-MigrationCore-Modernisierung nutzenRector/Fractor für automatisierte Migration einsetzen, Schema API adaptierenWeniger Legacy-Muster, bessere Agent-Kompatibilität
FortlaufendKontext pro Feature verkleinernVertical Slices ausbauen und streuende Utilities auflösenAgenten arbeiten mit weniger Kontext sicherer

Fazit  

Wer TYPO3 für KI optimiert, schreibt nicht für Maschinen statt für Menschen. Er baut eine Codebasis, die für beide Seiten besser funktioniert: für Agenten, weil sie mit weniger Kontext präziser arbeiten können, und für Teams, weil Architekturentscheidungen sichtbarer und wiederholbarer werden.

TYPO3 bringt dabei einen Vorteil mit, der in der Diskussion oft übersehen wird: Der Core modernisiert sich bereits in die richtige Richtung. Schema API, strikte Typen, PSR-14 Events und die Content-Blocks-Infrastruktur sind keine Zukunftsversprechen – sie sind verfügbar und in Produktion einsetzbar. Die Frage ist nicht, ob sich die Investition lohnt, sondern wie schnell Sie die Brücke zwischen Core-Fundament und Projekt-Architektur schlagen.

Die drei stärksten Hebel auf Projektseite bleiben: weniger Boilerplate (Property Hooks, Content Blocks), explizitere Verträge (Typed Properties, PHP-Attribute, Schema API) und mechanische Absicherung (Harness Engineering mit PHPStan, Tests und CI-Gates).

Wenn Sie Ihre bestehende TYPO3-Codebasis darauf abklopfen wollen, wo KI heute noch gebremst wird, ist ein fokussierter Architektur-Review für TYPO3-Projekte der schnellste Startpunkt.

Lassen Sie uns über Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.