Zurück zur Startseite

gnata: JSONata auf Go mit KI für $400

Engineer Reco nutzte Cursor KI, um JSONata nach Go zu portieren und die gnata-Bibliothek zu erstellen. Das Projekt lieferte 1000x Beschleunigung und sparte $500,000 pro Jahr durch den Verzicht auf Node.js-Cluster. Der Fall demonstriert Shadow-Deployment und die Erkennung von Fehlern in der Referenzimplementierung.

So schreiben Sie JSONata in Go mit KI um: $500k Einsparungen
Advertisement 728x90

## JSONata in Go mit KI umgeschrieben: Die gnata-Bibliothek und 500.000-$Einsparungen

Der Lead Data Engineer von Reco, Nir Barak, nutzte den KI-Assistenten Cursor, um die gnata-Bibliothek – eine JSONata-Implementierung in Go – in nur sieben Stunden zu generieren. Die Token-Kosten beliefen sich auf 400 $, was dem Unternehmen jährliche Einsparungen von 500.000 $ durch den Verzicht auf Node.js-Infrastruktur und die Optimierung des Regelmotors einbrachte.

Die Herausforderung beim Skalieren von JSONata in der Produktion

JSONata ist eine deklarative Sprache zur Abfrage und Transformation von JSON, die in der Bedrohungserkennung weit verbreitet eingesetzt wird. Die Referenzimplementierung in JavaScript ist inkompatibel mit der Go-Pipeline von Reco. Das Unternehmen betrieb Node.js-Cluster auf Kubernetes: bis zu 200 Replicas zur Verarbeitung von JSONata-Ausdrücken via RPC aus Go-Services. Dies führte zu einer IP-Adressknappheit und allein 300.000 $ jährlichen Infrastrukturkosten.

Der Migrationsansatz war von einem Cloudflare-Fall inspiriert: Nutzung des offiziellen Test-Suites der Originalimplementierung. Die KI generiert Code in der Zielsprache, bis alle Tests bestanden sind. Reco wandte die gleichen 1778 Tests aus jsonata-js an.

Google AdInline article slot

Portierungs- und Testprozess

Die Arbeit dauerte sieben Stunden reale Zeit:

  • Cursor analysierte die JSONata-Spezifikation und Tests.
  • Generierte 13.000 Zeilen Go-Code.
  • Iterativ Fehler behoben, bis volle Abdeckung.

Das Deployment lief im Shadow-Modus: gnata verarbeitete den Traffic parallel zu jsonata-js und protokollierte Abweichungen. Über drei Tage – null Fehler bei Milliarden von Events. Die Bibliothek deckte Inkonsistenzen in der Referenzimplementierung auf: jsonata-js verstößt manchmal gegen die eigene Spezifikation.

Quelle: Habr (https://habr.com/ru/news/1015970/)

Google AdInline article slot

Wirtschaftliche Auswirkungen und Optimierungen

Der Verzicht auf die Node.js-RPC-Flotte sparte 300.000 $ jährlich. Weitere 200.000 $ kamen durch die Refaktorisierung des Regelmotors: Zuvor wurden Zehntausende von Goroutines erzeugt, um JSONata-Limits zu umgehen; jetzt arbeitet er direkt mit gnata.

Insgesamt eine Woche für die Integration, inklusive der Shadow-Periode. Barak nennt das „chirurgische Refaktorisierung“ – KI-Generierung gezielt auf Engpässe ohne vollständigen Neubau.

LeistungsVorteile von gnata:

Google AdInline article slot
  • Bis zu 1000-fache Beschleunigung bei einfachen Ausdrücken.
  • Volle Kompatibilität mit JSONata-Tests.
  • Open-Source-Code für die Community.

Wichtige Erkenntnisse

  • gnata: 13.000 Zeilen Go-Code, 1778/1778 Tests bestanden.
  • 400 $ Cursor-Token-Kosten vs. 500.000 $ jährliche Einsparungen.
  • Shadow-Deployment deckte Bugs in jsonata-js auf.
  • Eliminierung von 200+ Node.js-Replicas löste die IP-Adressknappheit.
  • Neue Phase: KI für gezielte Refaktorisierung von Legacy-Code.

Die gnata-Bibliothek ist öffentlich verfügbar und demonstriert die Machbarkeit, JS-Engines mit KI nach Go zu portieren. Für Mid-/Senior-Entwickler ist es eine Fallstudie zur Automatisierung von Migrationen bei Erhalt der Spezifikation.

— Editorial Team

Advertisement 728x90

Weiterlesen