10 Punkte von GN⁺ 2024-06-21 | 2 Kommentare | Auf WhatsApp teilen
  • Octomind nutzt AI-Agenten, um in Playwright End-to-End-Tests automatisch zu erstellen und zu überarbeiten.
  • Anfangs wurde das LangChain-Framework verwendet, doch mit der Zeit führte der hohe Abstraktionsgrad von LangChain zu Problemen.

Probleme mit LangChain

  • Die Abstraktion von LangChain war anfangs nützlich, doch mit komplexeren Anforderungen wurde es schwieriger, den Code zu verstehen und zu warten.
  • Es wurde viel Zeit darauf verwendet, die interne Struktur von LangChain zu verstehen und zu debuggen.
  • So erhöht LangChain beispielsweise selbst bei Code, der einfach nur ein englisches Wort ins Italienische übersetzt, die Komplexität.

Das Abstraktionsproblem von LangChain

  • LangChain schichtet mehrere Abstraktionen übereinander und erhöht so die Komplexität des Codes.
  • Diese Abstraktionen erschweren das Verständnis und das Debugging des Codes.
  • Selbst bei einer einfachen Aufgabe wie dem Abrufen von JSON-Daten aus einer API steigt die Komplexität durch den Einsatz von LangChain.

Auswirkungen auf das Entwicklungsteam

  • Beim Versuch, komplexe Agentenarchitekturen umzusetzen, wirkte LangChain als einschränkender Faktor.
  • Nach dem Entfernen von LangChain konnte wieder frei entsprechend den Anforderungen programmiert werden.

Braucht man für den Bau von AI-Anwendungen ein Framework?

  • LangChain war anfangs nützlich, doch langfristig wäre die Entwicklung ohne Framework vermutlich besser gewesen.
  • Die meisten AI-Anwendungen lassen sich mit einfachem Code und einigen externen Paketen ausreichend umsetzen.
  • Bis sich Nutzungsmuster für Agenten etabliert haben, wird ein einfacher Ansatz empfohlen.

Schnelle und schlanke Entwicklung mit modularen Building Blocks

  • Frameworks erzwingen Struktur, doch für AI-Anwendungen gibt es noch keine etablierten Nutzungsmuster.
  • Der Ansatz mit modularen Building Blocks bevorzugt einfachen Code auf niedriger Ebene und erhöht die Entwicklungsgeschwindigkeit.
  • Durch den Einsatz modularer Komponenten wie Vektordatenbanken bleibt die Codebasis schlank und anpassungsfähig.

Meinung von GN⁺

  • Die Grenzen von LangChain: Der hohe Abstraktionsgrad von LangChain ist anfangs nützlich, kann bei komplexen Anforderungen jedoch eher zum Hindernis werden.
  • Vorteile des modularen Ansatzes: Der Ansatz mit modularen Building Blocks erleichtert das Verständnis und die Wartung des Codes und erhöht die Entwicklungsgeschwindigkeit.
  • Frameworks neu bewerten: Nicht jede AI-Anwendung braucht ein Framework; vieles lässt sich auch mit einfachem Code und externen Paketen ausreichend umsetzen.
  • Die Bedeutung von Entwicklungsgeschwindigkeit: Im AI-Bereich sind schnelles Experimentieren und Prototyping wichtig, und Frameworks können das einschränken.
  • Künftige Nutzungsmuster für Agenten: Bis sich Nutzungsmuster für Agenten etabliert haben, ist es sinnvoll, einen einfachen Ansatz beizubehalten.

2 Kommentare

 
yangeok 2024-06-24

Man hörte schon, dass es eine gescheiterte Architektur sei, und jetzt sieht man das sogar bei GeekNews.

 
GN⁺ 2024-06-21
Hacker-News-Kommentar
  • Ersten kommerziellen LLM-Agenten im letzten Oktober/November gebaut: Der Verzicht auf LangChain und der direkte Eigenbau des Agenten von Grund auf half dabei, bessere Ergebnisse zu erzielen.

  • Komplexität von LLM-Frameworks: LLM-Frameworks wie LangChain neigen dazu, die Komplexität von Java oder Python einzuführen.

  • Vergleich von LangChain und ChatGPT: LangChain wurde vor dem Erscheinen von ChatGPT entwickelt, aber mit ChatGPTs besserem Konversationsmodell wurde LangChain weniger notwendig.

  • Kontroverse um den Wert von LangChain: LangChain wollte zwischen Entwickler und LLM stehen, fügte aber in der Praxis keinen echten Mehrwert hinzu und führte unnötige Abstraktionen ein.

  • Gute und schlechte Abstraktionen: Gute Abstraktionen behandeln die Anwendungslogik, schlechte Abstraktionen abstrahieren die eigentlich nötige Arbeit weg und führen zum Verlust von Einsichten.

  • Probleme beim Einsatz von Agenten: Für die Erstellung von Inhalten ist die Verwendung sequenzieller Prompts einfacher und effektiver als der Einsatz von Agenten.

  • Vorstellung des Frameworks Ragged: Vorgestellt wird Ragged, ein leichtgewichtiger Connector zur einfachen Anbindung an LLMs. Er bietet eine einheitliche Schnittstelle ähnlich einem ORM.

  • Begrenzter Nutzen von LangChain: Der Ansatz von LangChain ist interessant, aber in der Praxis ist es effizienter, direkt die LLM-Runtime-Bibliothek zu verwenden.

  • Schnelllebige Agenten-Frameworks: Das verwendete Agenten-Framework verändert sich schnell, und schon kleine Versionsänderungen können das aktuelle Setup kaputtmachen.

  • Komplexitätsprobleme bei LangChain: LangChain ist für einfache Anwendungsfälle zu komplex und für komplexe Anwendungsfälle schwer anzupassen. Direkt zu coden ist oft die bessere Wahl.