KI-Programme haben in TYPO3-Projekten meistens genug Rechenleistung. Die KI verliert aber oft den Zusammenhang. Das liegt an unklaren Abzweigungen im TCA. Das liegt auch an unnötigem Code in Extbase. Viele Regeln stehen nirgendwo geschrieben. Das entscheidet über den Erfolg der KI. Eine gute Struktur verhindert ständige und teure Kontrollen.
Die Architektur vom Code ist wichtiger als die Wahl vom KI-Modell. Das ist eine bewiesene Tatsache. Das Unternehmen LangChain verbesserte seine KI deutlich. Die Erfolgsquote stieg von knapp 53 Prozent auf über 66 Prozent. LangChain hat das Modell dabei nicht verändert. Nur die Umgebung der KI hat sich verändert. Die KI bekam bessere Kontrollen und klarere Informationen. Die Rückmeldungen kamen schneller. Das gleiche Modell lieferte also bessere Ergebnisse.
Die Architektur vom Code bestimmt die Qualität der KI. Die KI bestimmt nicht die Qualität vom Code.
Dieser Artikel zeigt 2 Blickwinkel. Was hat TYPO3 schon für eine bessere Lesbarkeit getan? Und was können Sie in Ihrem eigenen Projekt noch verbessern?
Inhaltsverzeichnis
KI-Lesbarkeit
Verlust von Informationen und Architektur
Harness Engineering
Prüfung, Informationen, Regeln
Klare Vorgaben
Maschinenlesbare Vorgaben
Plan
Schritte von sofort bis Version 14
Fazit
Die 3 besten Möglichkeiten
Warum Lesbarkeit für KI wichtig ist
Früher haben Menschen den Code für andere Menschen geschrieben. Entwickler hatten Zeit für das Lesen von altem Code. KI-Programme arbeiten anders. Sie haben wenig Zeit. Sie müssen wichtige Informationen schnell erkennen.
Forscher haben im Jahr 2023 etwas Wichtiges herausgefunden. Sprachmodelle lesen lange Texte nicht gleichmäßig. Sie merken sich den Anfang und das Ende gut. Die KI vergisst oft die Mitte vom Text. Größere Textmengen machen dieses Problem noch schlimmer.
Das hat Folgen für TYPO3. Viel unnötiger Code ist schlecht. Ungeschriebene Regeln sind ebenfalls schlecht. Die KI macht dann mehr Fehler. Sie müssen den Code dann oft korrigieren. Eine TCA-Datei hat oft viele verschachtelte Listen. Die KI sieht dann viele Klammern. Die KI erkennt den echten Inhalt schwer.
| Situation | Was die KI sieht | Folge im Projekt |
|---|---|---|
| Große TCA-Datei mit Listen | Viel Code, wenig echter Inhalt | Mehr Fehler bei kleinen Änderungen |
| Extbase-Model mit Getter und Setter | Die KI verschwendet Zeit für unnötigen Code | Die KI übersieht wichtige Regeln |
| Direkte SQL-Änderungen auf TCA-Daten | Sieht richtig aus, ist aber falsch | Gefahr für Workspaces und Berechtigungen |
| Regeln existieren nur im Kopf | Die KI nutzt allgemeines Wissen | Unterschiedliche Lösungen in den Dateien |
Was TYPO3 bereits für Sie liefert
TYPO3 modernisiert sich seit einigen Versionen stark. Das hilft den KI-Programmen sehr. Das war am Anfang gar nicht der Plan. Kennen Sie diese Änderungen im Kern von TYPO3? Dann verstehen Sie einen großen Vorteil. TYPO3-Projekte sind für KI oft besser als andere PHP-Systeme.
Schema API und Record API ersetzen normale TCA-Arrays
Seit Version 13.2 gibt es die Schema API. Sie bietet einen guten Zugang zu den TCA-Strukturen. Alles basiert auf klaren Objekten. Entwickler greifen nicht mehr direkt auf $GLOBALS['TCA'] zu. Sie nutzen dafür nun die API. Die API zeigt Felder und Verbindungen als Objekte.
Die Record API aus Version 13.3 hilft ebenfalls. Sie wandelt Datenbankwerte in klare Objekte um. Beispiele sind Record, FileReference oder DateTimeImmutable. Das System lädt Verbindungen erst bei Bedarf. Dieser Vorgang heißt Lazy Loading.
Das bringt Vorteile für die KI. Sie muss nicht mehr durch Listen suchen. Sie findet klare Typen und vorhersehbare Objekte. TYPO3 stellt aktuell alles auf die Schema API um. TYPO3 entfernt das TCA als PHP-Array Schritt für Schritt.
Feste Typen und PHP-Attribute in Extbase
TYPO3 Version 13 verlangt feste Typen in Extbase. Das betrifft Klassen wie ActionController und PersistenceManager. Auch ObjectStorage und Basisklassen haben nun feste Typen. Erweitern Sie Klassen in Extbase? Dann müssen Sie Ihren Code anpassen.
In Version 14 geht das Aufräumen weiter. TYPO3 löscht die alten Extbase-Annotations. TYPO3 erlaubt nur noch echte PHP-Attribute. Sie brauchen die Bibliothek doctrine/annotations nicht mehr. Das ist ein großer Gewinn für die KI. Maschinen können Attribute leicht lesen. Das ging bei alten Kommentaren im Code nicht.
Fluid 5.0 mit genauer Prüfung der Typen
Fluid 5.0 prüft ViewHelper viel genauer als früher. Leere Werte erzeugen keine leeren HTML-Attribute mehr. Das System lässt das Attribut einfach weg. Eigene ViewHelper brauchen eine genaue Angabe der Rückgabe. Variablennamen mit einem Unterstrich am Anfang sind reserviert.
Diese strengen Regeln verhindern Fehler von der KI. Das System meldet falsche Typen sofort. Das Programm versteckt die Fehler nicht mehr.
PSR-14 Events anstatt alter Hooks
TYPO3 tauscht alte Hooks gegen PSR-14 Events aus. Dieser Tausch ist in Version 14 fast fertig. Events sind Klassen mit klaren Eigenschaften. Sie stehen in der Datei Services.yaml. Die KI findet diese Events viel leichter. Alte Hooks haben oft versteckte Parameter. Das war für die KI sehr schwer.
Content Blocks als einfache Alternative
Content Blocks beschreiben Elemente in einer einzigen Datei. Diese Datei heißt config.yaml. TYPO3 baut TCA und SQL ganz automatisch auf. Auch Formulare im Backend entstehen von selbst. TYPO3 hat das bereits in Version 13 vorbereitet. Es nutzt dafür die Schema API. Es nutzt auch automatische Umwandlungen.
Content Blocks sind keine Standard-Erweiterung von TYPO3. Die Gemeinschaft der Entwickler pflegt dieses Paket. TYPO3 hat die Technik dafür aber fest eingebaut.
Rector und Fractor als Hilfen für das Update
Für TYPO3 Version 14 gibt es neue Regeln. Es gibt 45 Rector-Regeln und 11 Fractor-Regeln. Die TYPO3-Gemeinschaft hat das bezahlt. Rector ändert alten PHP-Code automatisch. Fractor ändert TypoScript und Fluid. Fractor hilft auch bei FlexForms und der composer.json. Das ist sehr gut für die KI. Die KI nutzt diese Regeln für automatische Updates. Sie muss nicht nach altem Code suchen.
| Maßnahme | Version | Ersetzt | Vorteil für die KI |
|---|---|---|---|
| Schema API | v13.2 | Direkte Zugriffe auf TCA | Klare Objekte statt Listen |
| Record API | v13.3 | Umwandlung von Hand | Automatische Umwandlung in Objekte |
| Extbase feste Typen | v13.0 | Unklare Typen | Weniger Fehler beim Code |
| PHP-Attribute | v14.0 | Alte Kommentare im Code | Leichtes Lesen für Maschinen |
| Fluid 5.0 feste Typen | v14.0 | Lose Prüfung | Sie sehen Fehler bei Typen sofort |
| PSR-14 Events | v10–v14 | Alte Hooks | Klare Klassen anstatt Text |
| Content Blocks v2.0 | v13–v14 | Viele einzelne Dateien | Eine einzige Datei für Regeln |
| Neue Regeln für Updates | v14.0 | Updates von Hand | Automatische Änderung vom Code |
TYPO3 arbeitet an einem großen Ziel für die Zukunft. Das System soll Daten unabhängiger speichern. Es soll JSON-Daten und einfache Übersetzungen geben. Das macht den DataHandler sicherer. Das macht ihn auch für die KI verständlicher. Alle Änderungen gehen über einen einzigen Weg.
Was Sie in Ihrem Projekt tun können
TYPO3 liefert ein gutes Fundament. Aber Ihr eigenes Projekt ist noch wichtiger. Sie brauchen eine gute Architektur und klare Regeln für die KI.
Property Hooks anstatt Getter und Setter
Alte Extbase-Modelle sind oft sehr groß. Sie enthalten aber nur wenig echte Informationen. Die KI liest viele Zeilen mit unwichtigem Code. Sie findet die wichtigen Stellen erst sehr spät. PHP 8.4 bringt sogenannte Property Hooks. Sie setzen die Logik direkt an die Eigenschaft. Das spart sehr viel unnötigen Code.
<?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
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 nutzt beim Laden keine Konstruktoren. Sie müssen Standardwerte direkt bei der Eigenschaft angeben.
Content Blocks anstatt vieler TCA-Dateien
TCA bietet sehr viele Möglichkeiten. Es ist aber ein schlechter Arbeitsplatz für die KI. Content Blocks speichern alle Regeln in einer YAML-Datei. TYPO3 baut TCA und SQL dann ganz von alleine auf. Sie ändern nur noch eine Datei anstatt vier Dateien.
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: FileYAML zeigt den Inhalt ohne störende Klammern. Die KI muss keine verschachtelten Listen verstehen. Die KI kann Änderungen viel schneller prüfen.
DataHandler als einziger Weg für Daten
Die KI darf nicht den einfachsten Weg nehmen. Sie muss immer den richtigen Weg nutzen. In TYPO3 heißt dieser Weg DataHandler. Nur der DataHandler verarbeitet alle Rechte und Verbindungen korrekt. Direkte Änderungen mit dem QueryBuilder machen später Probleme.
<?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',
],
],
];Der DataHandler merkt sich interne Daten. Laden Sie ihn niemals als einfachen Service. Das erzeugt seltsame Fehler. Schreiben Sie diese Regel fest in Ihr Projekt auf.
Regeln für das Projekt: .cursorrules, AGENTS.md und .cursor/rules
Eine KI ohne Regeln nutzt einfach allgemeines Wissen. Eine Studie hat 401 Projekte mit KI-Regeln untersucht. Die Studie fand klare Kategorien für diese Regeln. Es gibt Vorgaben, Richtlinien und Projekt-Informationen. Das Ergebnis ist sehr eindeutig. Feste Regeln verringern die Fehler bei der Arbeit.
Die Datei AGENTS.md ist heute ein fester Standard. Viele KI-Programme lesen diese Datei automatisch. Dazu gehören Cursor, Copilot oder Windsurf. Schreiben Sie die wichtigsten TYPO3-Regeln in diese Datei:
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 in Dateien reichen oft nicht aus. Die KI kann diese Regeln manchmal vergessen. Sie brauchen deshalb strenge maschinelle Kontrollen. Nutzen Sie dafür Linter, Tests und CI-Systeme.
Harness Engineering: Die Umgebung ist wichtig
Das Harness Engineering bringt einen neuen Gedanken. Der Code ist nicht mehr das Wichtigste. Die Umgebung für die KI ist viel wichtiger. Eine solche Umgebung hat mehrere Teile. Sie braucht Tests, Regeln und gute Dokumentationen. Sie braucht auch Rückmeldungen aus Log-Dateien.
Die Firma OpenAI hat das erfolgreich gezeigt. Ein kleines Team hat ein riesiges Programm gebaut. Das Programm hatte eine Million Zeilen Code. Die KI hat jede einzelne Zeile geschrieben. Die Entwickler bauten nur die Umgebung. Sie bauten nicht den Code.
Eine solche Umgebung für TYPO3 braucht diese Dinge:
| Ebene | Werkzeug in TYPO3 | Wirkung |
|---|---|---|
| Analyse | PHPStan Level 8+ | Sie finden Fehler schon vor der Prüfung. |
| Stil | PHP CS Fixer (PSR-12) | Der Code sieht immer gleich aus. |
| Regeln | .cursor/rules/ und AGENTS.md | Die KI hat immer die richtigen Informationen. |
| Tests | PHPUnit | Garantie für die Funktion bei Änderungen. |
| Prüfung für Content Blocks | Content Block Lint | Sie finden Fehler in YAML sofort. |
| Kontrolle vor dem Speichern | GitHub Actions oder GitLab CI | Speichern nur nach erfolgreicher Prüfung. |
Klare Vorgaben anstatt langer Texte
Ein Forscher ließ 20 KI-Programme die gleiche Funktion bauen. Die Programme hatten alle die gleichen Regeln. Die Ergebnisse waren trotzdem sehr unterschiedlich. Die KI-Programme trafen oft völlig andere Entscheidungen. Normale Sprache führt oft zu Missverständnissen. Man kann normale Sprache schlecht automatisch testen.
Die Lösung sind maschinenlesbare Vorgaben. Die KI kennt diese Vorgaben schon aus dem Training. Sie können das auch in TYPO3 nutzen. Nutzen Sie dafür klare Interfaces und feste Bedingungen.
Ein Plan für bestehende TYPO3-Projekte
| Phase | Ziel | Erster Schritt | Wirkung |
|---|---|---|---|
| Sofort | Wichtige Stellen zeigen | Große TCA-Dateien und direkte Änderungen finden | Sie finden die Probleme für die KI |
| Sofort | Regeln aufstellen | Die Datei AGENTS.md und Regeln anlegen | Die KI startet immer mit den richtigen Informationen |
| Nächster Sprint | Erste Funktion erneuern | Eine kleine Funktion auf Content Blocks umstellen | Beweis für den Nutzen ohne großes Risiko |
| Nächstes Quartal | Umgebung aufbauen | PHPStan, Tests und automatische Prüfungen verbinden | Sicherheit für große Änderungen von der KI |
| Version 14 Update | Neue Techniken nutzen | Rector für automatische Updates und Schema API nutzen | Weniger alter Code und bessere KI-Hilfe |
| Immer weiter | Informationen verkleinern | Funktionen besser trennen und aufräumen | Die KI arbeitet besser mit weniger Text |
Fazit
Sie optimieren TYPO3 für die KI. Aber Sie vergessen dabei die Menschen nicht. Sie bauen einen Code für Menschen und Maschinen. Die KI arbeitet damit viel genauer. Und Ihr Team versteht die Architektur besser.
TYPO3 hat dabei einen sehr großen Vorteil. Das System entwickelt sich genau in die richtige Richtung. Viele gute Techniken sind bereits da. Dazu gehören Schema API, feste Typen und Content Blocks. Sie können diese Dinge heute schon nutzen. Die Investition lohnt sich auf jeden Fall. Nutzen Sie diese neuen Techniken in Ihrem Projekt.
Diese 3 Dinge helfen Ihrem Projekt am meisten: Sie brauchen weniger Code. Sie brauchen klare Verträge für Daten. Und Sie brauchen maschinelle Prüfungen.
Prüfen Sie Ihren alten TYPO3-Code. Finden Sie die Probleme für die KI. Eine Prüfung der Architektur ist der beste Start dafür.