8 Punkte von GN⁺ 2025-04-09 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Qodo ist ein Team, das seit der GPT-3-Ära KI-gestützte Coding-Assistenten entwickelt, und hat sich zuletzt für das LangGraph-Framework entschieden, um flexiblere und dynamischere Coding-Agenten zu bauen
  • Dieses Dokument erklärt, wie LangGraph gleichzeitig die Flexibilität im Entwicklungsablauf und die Anforderungen an die Codequalität erfüllen konnte

Vom anfänglichen strukturierten Ansatz zu LangGraph

  • In der frühen, auf GPT-3 basierenden Phase standen strukturierte Aufgaben mit klaren Abläufen im Mittelpunkt, etwa Testgenerierung, Code-Review und Verbesserungsarbeiten
  • Seit Claude Sonnet 3.5 hat sich die Leistungsfähigkeit von LLMs deutlich verbessert, wodurch dynamischere Agenten-Designs möglich wurden
  • Zuvor waren nur stark standardisierte Workflows möglich, doch mit den neuen Modellen wollte das Team ein System entwickeln, das flexibel auf Nutzeranfragen reagieren kann
  • Bei der Suche nach einem Framework, das schnelle Experimente und Validierung ermöglicht, fiel die Wahl auf LangGraph, das sich über den frühen Proof of Concept hinaus bis in ein reales Produkt skalieren ließ

Flexibilität und klare Regeln im Zusammenspiel

  • LangGraph bietet eine Graphstruktur auf Basis einer Zustandsmaschine (state machine)
  • Jeder Knoten übernimmt einen einzelnen Schritt im Workflow, etwa Kontextsammlung, Planung, Ausführung oder Verifizierung, und die Kanten (edges) definieren die Übergangsregeln zwischen den Schritten
  • Je nach Dichte der Kanten verändert sich der Grad an Flexibilität oder Strukturierung des Workflows
    • Spärlicher Graph → fester und vorhersehbarer Ablauf
    • Dichter Graph → dynamischer Ablauf und Auswahl verschiedener Pfade
  • Ein Vorteil von LangGraph ist, dass sich der Grad der Strukturierung des Workflows mit dem Fortschritt der Modelle leicht neu justieren lässt
  • Der Hauptablauf ist wie folgt aufgebaut:
    • Kontextsammlung → Aufgabenplanung → Codeausführung → Ergebnisverifizierung → bei Fehlschlag Wiederholung

Knappes und intuitives Interface

  • Mit LangGraph lassen sich Workflows deklarativ definieren, sodass sich der Code beinahe wie ein Dokument liest
  • Es arbeitet, indem ein Zustandsgraph deklariert und anschließend Knoten und Kanten hinzugefügt werden
  • Auch bedingte Abläufe lassen sich leicht umsetzen (z. B. Schleife zurück zum Ausführungsknoten bei fehlgeschlagener Verifizierung)
  • Anders als die komplexen Abstraktionen von LangChain legt LangGraph die Logik offen, was die Developer Experience verbessert

Wiederverwendbarkeit über verschiedene Workflows hinweg

  • Dank der knotenbasierten Struktur lassen sich Komponenten leicht wiederverwenden
    • Beispiel: Knoten für Kontextsammlung und Verifizierung werden in den meisten Flows wiederholt genutzt
  • Auch beim Erstellen neuer spezialisierter Abläufe (TDD usw.) lassen sich bestehende Knoten neu verbinden und so schnell erweitern

Integriertes Zustandsmanagement

  • LangGraph bietet Statusspeicherung standardmäßig an, wodurch sich Persistenz sehr einfach umsetzen lässt
    • Beispiel: Checkpointing über Postgres lässt sich mit nur wenigen Codezeilen einrichten
  • Der gesamte Zustand, einschließlich gesammeltem Kontext, Planung und Ausführungsergebnissen, kann gespeichert werden; auch Branching und Rollback werden unterstützt
  • Andere Ansätze wie SQLite oder In-Memory lassen sich ebenfalls leicht austauschen

Bereiche mit Verbesserungsbedarf

  • Da sich das Framework schnell weiterentwickelt, ist die Dokumentation teils unvollständig oder wird verspätet aktualisiert
    • Immerhin war die Kommunikation mit den Maintainer:innen über Slack schnell und engagiert
  • Das Testen nichtdeterministischer LLM-Systeme bleibt weiterhin eine Herausforderung
    • Bei Agenten, die mit einer IDE interagieren, ist es schwierig, eine automatisierte Testumgebung aufzubauen
    • Einige IDE-Funktionen lassen sich nur sehr schwer mocken, sodass man auf manuelle Tests angewiesen war, was die Iterationsgeschwindigkeit verlangsamte
  • Reifere Frameworks bieten oft Infrastruktur für Tests und Mocking, und es bleibt zu hoffen, dass sich auch LangGraph in diese Richtung weiterentwickelt

Noch keine Kommentare.

Noch keine Kommentare.