9 Punkte von GN⁺ 2025-12-24 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Um LLMs in großen Codebasen effektiv zu nutzen, sind Investitionen in „Guidance“ und „Oversight“ entscheidend
  • Guidance liefert Kontext und Rahmenbedingungen, damit das LLM bessere Entscheidungen treffen kann, und Oversight übernimmt die Prüfung der Ergebnisse und gibt die Richtung vor
  • Der Aufbau einer Prompt-Bibliothek ist wichtig, damit das LLM die Regeln, Dokumentation und Best Practices der Codebasis verstehen kann
  • Der Umgang mit technischem Schuldenstand sowie Einfachheit, Modularisierung und Konsistenz der Codestruktur sind direkt mit einem besseren Codeverständnis und höherer Produktivität des LLMs verbunden
  • Automatisierte Oversight- und Verifikationssysteme zu nutzen, um das LLM bei der Erzeugung sicheren und konsistenten Codes zu unterstützen, ist der Schlüssel zu langfristiger Skalierbarkeit

Zentrale Konzepte für die Skalierung von LLMs

  • Wie LLMs auf große Codebasen angewendet werden sollten, ist noch nicht abschließend geklärt, doch Investitionen in Guidance und Oversight werden als der wirksamste Ansatz dargestellt
  • Guidance bezeichnet den Kontext und das Umfeld, die dem LLM helfen, die richtigen Entscheidungen zu treffen, während Oversight die erzeugten Ergebnisse überprüft und ihre Richtung korrigiert

Investitionen in Guidance

  • Damit ein LLM beim ersten Versuch hochwertigen Code erzeugt, also „One-Shotting“ erreicht, braucht es klare Guidance
    • Umgekehrt ist es ineffiziente Nacharbeit (Rework), wenn das Ergebnis ungeeignet ist und manuell korrigiert werden muss
  • Da ein LLM alle Entscheidungen im Code erzeugt — Variablennamen, Funktionsstruktur, Tech-Stack usw. — ist es ideal, wenn der Prompt nur die Geschäftsanforderungen enthält und alles andere ableitbar oder kodiert ist

Aufbau einer Prompt-Bibliothek

  • Eine Prompt-Bibliothek ist eine Sammlung von Kontexten für das LLM, darunter Dokumentation, Best Practices und strukturelle Übersichten der Codebasis
    • Jedes Mal, wenn die Ausgabe des LLMs danebenliegt, sollte geprüft werden, „was klarer hätte formuliert werden müssen“, und dies der Bibliothek hinzugefügt werden
    • Wichtig ist ein Gleichgewicht zwischen Vollständigkeit und Prägnanz
  • Im Beispiel werden Dokumente wie @prompts/How_To_Write_Views.md und @prompts/The_API_File.md dem LLM bereitgestellt, um die Feature-Entwicklung anzuleiten
  • Prompts sollten ausreichend konkret sein, trotzdem muss jede Zeile des erzeugten Codes überprüft werden

Umgebung und Codequalität

  • Eine Codebasis mit vielen technischen Schulden (technical debt) verringert die Effizienz beim Einsatz von LLMs
    • Im Fall von Meta wird erwähnt, dass technische Schulden das Erreichen von Automatisierungszielen erschwerten
  • Sauberer Code, Modularisierung, klare Benennung und einfache Strukturen erhöhen das Verständnis und die Genauigkeit des LLMs
  • Im Django-Beispiel wird der Einstiegspunkt jeder App in einer Datei namens _api.py gebündelt, damit das LLM benötigte Funktionen schnell finden kann
    • Beispiel: visit_api.handoff_to_doctor(user) als vereinheitlichter externer Zugriff
    • Das _api-Muster wird in der Prompt-Bibliothek festgehalten, damit das LLM auf die richtige Stelle verwiesen wird

Investitionen in Oversight

  • An LLM-Automatisierung sollte man nicht als Ersatz für Engineers denken, sondern als Möglichkeit, das Team zu stärken
  • Oversight führt zu Investitionen in Team, Alignment und Workflow
    • Auf Teamebene ist die Stärkung der Designkompetenz wichtig, was sich direkt auf die Architekturqualität auswirkt
  • Als Methoden zur Stärkung der Designkompetenz werden das Lesen von Büchern, Blogs und Code, das Nachbauen von Meisterwerken sowie praktische Implementierungsübungen genannt
    • Beispiel: Erweiterung des Architekturverständnisses durch Codeanalysen von TLDraw und SerenityOS Jakt

Automatisiertes Oversight

  • Ein Teil der Designprüfung lässt sich programmatisch automatisieren
    • Beispiel: Sofortiges Feedback aus der Umgebung bei Typfehlern oder Regelverstößen
  • „Safety“ bedeutet, Abstraktionen zu schützen
    • Nach Pierces Definition stellt eine sichere Sprache sicher, dass Programmierer Abstraktionen nicht unbeabsichtigt verletzen
  • Beispiel: Eine Regel, die den direkten Zugriff auf interne Dateien zwischen Django-Apps verbietet, wird durch ein AST-basiertes Prüfskript automatisiert
    • Unerlaubte Zugriffe wie from visit import logic.internal_file werden erkannt

Verifikation

  • Neben Design und Implementierung ist auch die Verifikationsphase (Code Review, QA) unerlässlich, um Qualität sicherzustellen
  • Mit wachsendem Arbeitsvolumen wird die Review-Geschwindigkeit zum Engpass, daher werden folgende Verbesserungen vorgeschlagen
    • Die Hürde für QA senken, damit sie auch ohne Entwicklungsumgebung möglich ist
    • Eine Umgebung schaffen, in der das Schreiben von Tests einfach ist, etwa durch die Generierung von Testdaten
    • Wiederkehrendes PR-Feedback dokumentieren, damit das LLM einen Teil der Reviews automatisch durchführen kann
    • Sicherheitsregeln als Framework-Defaults integrieren

Fazit und weitere Beobachtungen

  • LLMs funktionieren besonders gut in Greenfield-Projekten
    • Weil dort bestehender Kontext fehlt und die Anforderungen an Konsistenz geringer sind
  • Je größer ein Projekt wird, desto stärker bestimmen Konsistenz und Modularisierung die Produktivität
    • Eine modulare Struktur, die verifizierte Komponenten wiederverwendet, ist der Schlüssel zu effizienter Entwicklung

Noch keine Kommentare.

Noch keine Kommentare.