Startseite / Artikel

Testen von GLM 5.2 innerhalb von Claude Code mit einem echten SDK für fünf Dollar

Ein fünf-Dollar-Experiment mit OpenRouter: Routing von Claude Code zu GLM 5.2, Überprüfung und Anpassung eines React Native SDKs, wie viel jede Aufgabe kostete und wo die Einsparungen enden.

Verlag: REACTAPP.TOP8 Min. Lesezeit1756 Wörter

Quellen: I ran GLM 5.2 on my React Native SDK for five dollars

Ein stetig steigender Preis für Claude Code ist ein guter Grund, nach einem günstigeren Engine zu suchen. Der übliche Kandidat ist GLM 5.2, ein Open-Weight-Modell eines chinesischen Labors, das in vielen Benchmark-Beiträgen gelobt wird. Anstatt weitere solcher Beiträge zu lesen, investierte ein Entwickler fünf Dollar in OpenRouter und setzte das Modell auf eine echte Codebasis ein – ein generatives UI SDK, das für React Native entwickelt wurde – und überprüfte jede von ihm zurückgegebene Zeile. Die Prüfung kostete 59 Cent und der Build vier Dollar. Die Details lohnen es, genauer betrachtet zu werden, einschließlich eines beinahe fehlerhaften Ansatzes bezüglich dessen, welcher Code überhaupt an ein gehostetes Modell gesendet werden sollte.

Warum es überhaupt testen?

Zwei Gründe trieben das Experiment an. Der erste war der Preis. Ein Modell, das ein Zehntel des üblichen Preises kostete und dennoch die Hälfte der Arbeitslast bewältigen konnte, hätte tatsächlich Geld eingespart – besonders für jemanden, der gleichzeitig viele Agenten betreibt, manchmal sogar eine ganze Gruppe davon. Der zweite Grund war die Neugier auf chinesische Labore, die schnell liefern und beeindruckende Benchmark-Ergebnisse präsentieren, deren Modelle jedoch noch nie auf dem eigenen Code des Entwicklers getestet worden waren.

Die Regel für den Test war einfach: Man sollte die Codebasis verwenden, die der Entwickler besser kennt als jeder andere, und jede Angabe in den Ausgabeergebnissen überprüfen.

Die Einrichtung ist kürzer als erwartet

GLM 5.2 stammt von Z.ai. Er erschien Mitte Juni, verfügt über ein Kontextfenster von einer Million Token und wird weitgehend als ein Pioniermodell im Bereich Programmierung bezeichnet – zu einem Bruchteil des Preises. Offizielle Zahlen bestätigen diesen Hype. OpenRouter’s Design Arena stuft ihn aufgrund von 3.243 direkten Vergleichsturnieren in die oberste einprozentige Gruppe bei der Code-Generierung ein. Das ist jedoch weiterhin ein Benchmark von jemand anderem, und Benchmarks sind schließlich der Code anderer Menschen.

Claude Code kümmert sich nicht darum, was hinter ihm steckt. Er verwendet das Anthropic API-Format und liest zwei Umgebungsvariablen, um zu entscheiden, wohin die Anfragen gesendet werden sollen. Wenn man diese auf einen anderen Endpunkt richtet, funktioniert das gesamte Tool weiterhin – mit demselben Agenten, der Dateibearbeitung und den Tests – nur mit einem anderen „Gehirn“ dahinter.

OpenRouter diente als Endpunkt. Ein Konto sowie ein API-Schlüssel können an Dutzende von Anbietern, einschließlich Z.ai, weitergeleitet werden, sodass es keinen Bedarf an einer separaten Abrechnungsbeziehung mit einem ausländischen Labor gab, nur um ein einziges Experiment durchzuführen. Ein paar Dollar an Guthaben geben Zugang zu jedem Modell mit einem einzigen Schlüssel. Der Prozess umfasst drei Schritte.

Schlüssel erstellen. Erstellen Sie einen API-Schlüssel bei OpenRouter und fügen Sie etwas Guthaben hinzu. GLM 5.2 bietet keine kostenlose Version, doch das Guthaben reicht aus: Das gesamte Experiment ließ sich bereits mit fünf Dollar durchführen, wobei noch etwas übrig blieb. Das Guthabenslimit im Schlüssel dient als Sicherheitsnetz – in diesem Fall lag die Obergrenze bei fünf Dollar. Nach dem Experiment zeigte das Dashboard an, dass 4,59 Dollar dieses Limits verbraucht wurden, was alles umfasst, was unten beschrieben wird.

Richten Sie den Claude Code darauf aus. Ein paar Einstellungen reichen aus: Die Basis-URL weist auf die OpenRouter API, das Authentifizierungstoken ist der OpenRouter-Schlüssel, und die Standardnamen für die Opus- sowie Sonnet-Modelle sind beide auf den GLM 5.2-Identifikator gesetzt.

ANTHROPIC_BASE_URL = https://openrouter.ai/api
ANTHROPIC_AUTH_TOKEN = your_openrouter_key
ANTHROPIC_DEFAULT_OPUS_MODEL = z-ai/glm-5.2
ANTHROPIC_DEFAULT_SONNET_MODEL = z-ai/glm-5.2
ANTHROPIC_DEFAULT_HAIKU_MODEL = z-ai/glm-4.5-air

Sobald das eingestellt ist, bedeutet das Starten von Claude Code, mit GLM zu kommunizieren. Um zu Claude zurückzukehren, genügt es, nur diese Zeilen zu deaktivieren. Das ist der gesamte Wechselvorgang.

Den Anbieter festlegen. Die meisten Menschen überspringen diesen Schritt, obwohl er wichtig ist. Bei OpenRouter kann ein Modellname von einer langen Liste von Unternehmen bereitgestellt werden, wobei sich die Preise stark unterscheiden – von unter einem Dollar pro Million Token bis über drei Dollar. Dieser Unterschied ist kein Zufall. Einige Anbieter nutzen quantisierte Versionen des Modells, die kleiner, schneller, aber deutlich weniger leistungsfähig sind; deshalb enthält die Registerkarte „Anbieter“ sogar einen Quantisierungsfilter. Wenn die automatische Zuweisung aktiv bleibt, könnte eine Anfrage bei einem dieser Anbieter landen, wodurch der Tester letztendlich ein komprimiertes Nachahmungsprodukt für das Original hält.

Zur fairen Vergleichbarkeit wurde die Routing-Option direkt auf Z.ai, den Hersteller des Services, eingestellt, wobei die Fallback-Möglichkeiten deaktiviert waren. Jeder Anfrage ging somit ausschließlich an das echte, hochpräzise Modell. Wenn Gerechtigkeit das Ziel ist, entscheidet diese Einstellung über das Ergebnis.

Der beinahe Fehler: Nicht der gesamte Code ist teilebar

Die SDKs sind Open Source, doch im selben Repository befinden sich auch Materialien, die nicht teilebar sind: ein dynamisches Onboarding-Kit, Systeme zur Abrechnung, Logik zur Verwaltung von Nutzern sowie Funktionen zur Erzielung von Einnahmen. Das Versenden des gesamten Monorepos an ein in einem anderen Land gehostetes Modell ist eine solche nachlässige Datenoffenlegung, die erst später bemerkt wird.

Bevor irgendetwas ausgeführt wurde, wurde zunächst eine saubere Kopie erstellt. Nur die sichtbaren Teile kamen hinein, nämlich das SDK-Paket sowie eine Beispielanwendung mit ihrem Agenten-Backend, während der kommerzielle Code auf der Festplatte des Entwicklers blieb. Anschließend folgte die langweilige, aber wichtige Überprüfung: In der Kopie wurden nach Wörtern gesucht, die das Spiel verraten könnten – wie beispielsweise „onboarding“, „billing“, „tenant“ und „stripe“ – und es gab null Treffer, bevor auch nur ein Token die Maschine verließ.

Diese Gewohnheit ist die eigentliche Lektion: Ein billiges Modell ändert die Regeln nicht. Offener Code kann in eine gehostete API gelangen, während privater Code lokal bleibt oder gar nicht übertragen wird. Derselbe Gedanke führte den Entwickler einst dazu, für einen Client-Backend ein teureres, aber in der EU sicheres Modell zu wählen – und er gilt genauso, wenn das Experiment nur zum Spaß durchgeführt wird.

Aufgabe eins: Lesen Sie das SDK und geben Sie an, an welcher Stelle es versagt

Die erste Aufgabe bestand aus einem reinen Lesetest. GLM sollte die Architektur prüfen, als würde darauf eine neue Generation an Werkzeugen entwickelt werden: die tragenden Elemente identifizieren, die Dateien benennen und angeben, was zuerst versagen würde. Eine Regel war am wichtigsten – jede Aussage musste auf eine konkrete Datei und Zeile verweisen, und Unsicherheiten mussten eingestanden werden, anstatt mit Erfindungen übertüncht zu werden.

Das Modell las vierundvierzig Dateien und lieferte einen Prüfbericht, in dem drei tatsächliche Probleme auftraten, von denen der Entwickler bereits wusste:

  • Die Komponententypen werden beim Start der Anwendung in das Paket eingebunden, sodass ein Agent zur Laufzeit keine neuen Komponenten definieren kann – genau das erfordert jedoch die nächste Funktion.
  • Das Streaming bewirkt auf dem primären Agentenpfad nichts, da der zuständige Adapter niemals eine Methode für das Streaming erhalten hat.
  • Ein Fehler im Verhalten des Agenten wurde ignoriert: Das SDK kann dreizehn Komponenten darstellen, doch der Server erlaubt nur elf und teilt dem Modell lediglich Informationen über sieben mit, wodurch zwei völlig funktionstüchtige Komponenten für den Agenten unerreichbar bleiben.
  • Nichts davon wurde einfach so hingenommen. Jede Angabe wurde mit grep im Code überprüft, und sie stimmte. Die Dateipfade sowie Zeilennummern waren korrekt, und das Modell hatte keine einzige Funktion erfunden. Es entdeckte sogar etwas, was niemand sonst bemerkt hatte: einen Kommentar im Backend, der stolz behauptete, die neuesten Claude-Modelle zu verwenden, direkt über dem Code, der tatsächlich ein günstigeres OpenAI-Modell aufruft. Ein veralteter Kommentar hatte sich somit in eine kleine Lüge verwandelt. Das ist eine bemerkenswerte Entdeckung von einem Modell, das der Entwickler ursprünglich hatte ignorieren wollen.

    Die Prüfung kostete 59 Cent und dauerte sechs Minuten.

    Aufgabe zwei: Den Code ändern

    Beim Lesen wirkt jedes Modell klug, daher war der nächste Schritt, es mit dem Code in Berührung zu bringen. Durch seine eigene Überprüfung erhielt es die schwierigste Korrektur: das endgültige Beenden der Komponenten-Abweichungen. Das SDK sollte zur einzigen Quelle der Wahrheit werden, daraus würde ein Manifest generiert, und der Server würde dieses Manifest statt einer manuell eingegebenen Liste lesen, sodass die beiden nie wieder auseinanderdriften konnten. Sollte das doch geschehen, musste ein Test fehlschlagen.

    Das Modell hat jeden Teil abgeschlossen. Aus dem SDK wurde ein Manifest erzeugt, der Server wurde darauf umgestellt, es zu verarbeiten, die beiden zuvor isolierten Komponenten wurden zu richtigen integrierten Bestandteilen und waren somit endlich erreichbar, und ein Schutztest gegen Abweichungen wurde hinzugefügt. Der eigene Testlauf des Entwicklers zeigte 92 bestandene Tests – die ursprünglichen 87 unverändert plus fünf neue. Danach folgte ein gezielter Versuch, das System zu stören: Eine Komponente wurde manuell aus dem Manifest entfernt und der Schutztest erneut ausgeführt. Dies scheiterte deutlich sichtbar an der richtigen Stelle. Das Sicherheitsnetz hatte tatsächlich Zähne.

    Unterdessen stieß das Modell auch auf eine lästige Falle in der Toolchain – ein Syntaxproblem in React Native, das den Testläufer daran hinderte, bestimmte Dateien zu laden. Es verbarg das Problem weder noch gab es auf. Stattdessen entwickelte es eine kleine Workaround-Lösung und dokumentierte das Problem als Hinweis in seinem Bericht – eine Ehrlichkeit, die mehr wert ist als ein ordentlich aussehendes Ergebnis.

    Die Fallstricke

    Der Aufbau kostete vier Dollar, während das Lesen 59 Cent kostete – genau diesen Unterschied verschweigen die Werbevideos. Beim Lesen war GLM eindeutig der Sieger: etwa zehnmal günstiger als die übliche Lösung und dreimal schneller. Beim Aufbau funktionierte es zwar, doch der größte Teil der vier Dollar ging dafür drauf, den Testrahmen durchzuführen – ein Kreislauf aus Ausführen, Fehlerlesen, Bearbeiten und erneutem Ausführen, der sich etwa dreihundert Mal wiederholte. Nur etwa dreißig dieser Schritte beinhalteten tatsächliche Codeänderungen. Der Rest war reine Ausdauerarbeit.

    Daher ist das Fazit enger gefasst als „GLM ersetzt die bestehende Lösung“. Für das Lesen, Überprüfen, Auditen und Erklären einer Codebasis – also bei Aufgaben, bei denen das Modell einmal intensiv nachdenkt und anschließend eine Antwort liefert – ist GLM 5.2 eine echte Schnäppchenlösung, die man bewusst wählen sollte. Bei langfristiger, unüberwachter Entwicklung, bei der sich die Kosten durch Debugging-Schleifen summieren, erreicht GLM zwar immer noch das gewünschte Ergebnis, doch die Einsparungen schrumpfen, und der Nutzen eines fortschrittlichen Modells tritt wieder in den Vordergrund.

    Eines Nachmittags lieferten fünf Dollar sowie vertrauter Code eine klare Antwort, wo eine Flut an spontanen Meinungen niemals dazu in der Lage gewesen wäre – was diese Methode zur günstigsten Forschungsmethode des Monats machte.

    Einsetzen im täglichen Gebrauch

    Je nach Code gibt es zwei mögliche Ansätze.

    Für alles Öffentliche bleibt die OpenRouter-Konfiguration in einem kommentierten Block innerhalb der Claude Code-Einstellungen. Für eine günstige zweite Meinung zu einem Open-Source-Repository, zur Analyse einer Architektur oder zur Frage „Was ist hier falsch?“, entfernen Sie die Kommentarzeichen, wechseln Sie den Anbieter auf Z.ai und lassen Sie GLM die aufwändige Auswertung zu einem Bruchteil der Kosten durchführen. Claude bleibt die Standardwahl, wenn es darum geht, etwas zu entwickeln.

    Für alles Private gelangt das Modell in den Code – und nicht umgekehrt. Das bedeutet entweder lokale Gewichte oder gar nichts.