Wie Google versucht, mit Genkit Ordnung in die KI-App-Entwicklung zu bringen
Entwickler des Firebase-Teams haben Genkit als Open-Source-Framework für KI-Features veröffentlicht. Finden wir heraus, ob es hilft, Gemini, OpenAI und Ollama in einem einzigen Projekt zu kombinieren, ohne Spaghetti-Code zu produzieren.
Warum brauchen wir ein weiteres KI-Framework
Wenn du versucht hast, einen LLM-Aufruf zu deinem Backend hinzuzufügen, bist du wahrscheinlich diesem Pfad gefolgt. Zuerst schreibst du einen einfachen fetch-Aufruf an die OpenAI-API. Dann musst du strikt gültiges JSON aus der Antwort des Modells parsen und greifst zu Workarounds mit regulären Ausdrücken. Als Nächstes bittet die Business-Seite darum, auf Gemini zu wechseln oder eine lokale Ollama für Tests anzubinden, aber jede hat ein anderes SDK. Das Ergebnis ist ein Projekt, das mit benutzerdefinierten Wrappern, Prompt-Templating-Systemen und verstreutem Logging überladen ist.
Die Python-Community begegnet diesem Problem mit LangChain oder LlamaIndex. Aber wenn dein primärer Stack TypeScript oder Go ist, waren Alternativen bis vor Kurzem rar. Google-Ingenieure vom Firebase-Team sind intern auf dasselbe Problem gestoßen und haben Genkit entwickelt. Jetzt ist das Projekt als Open Source verfügbar.

Was das Framework kann
Genkits Konzept ist straightforward: eine einheitliche Schnittstelle zu verschiedenen neuronalen Netzwerkanbietern bereitstellen und die Routinearbeit erledigen. Anstatt spezifische SDKs für jeden Dienst zu erlernen, arbeitest du mit einer universellen API.
Mehrere Sprachen werden derzeit unterstützt:
- JavaScript und TypeScript sind produktionsreif
- Go ist produktionsreif
- Python befindet sich in der Beta-Phase
- Dart befindet sich in der Preview
Out of the box werden Google Gemini, OpenAI, Anthropic und Ollama unterstützt. Der Wechsel zwischen Modellen erfordert oft nur eine einzige Konfigurationszeile.
Schauen wir uns ein minimales Beispiel für die Initialisierung und den Aufruf eines Modells in TypeScript an:
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/google-genai';
const ai = genkit({ plugins: [googleAI()] });
const { text } = await ai.generate({
model: googleAI.model('gemini-flash-latest'),
prompt: 'What is the meaning of life?'
});
Der Code sieht sauber aus und bindet das Backend nicht an low-level HTTP-Requests.
Typisierte Ausgabe und Tool-Aufrufe
Eine der häufigsten Aufgaben bei der KI-Dienstentwicklung ist es, das Modell dazu zu bringen, nicht nur Text, sondern eine Datenstruktur zurückzugeben. Genkit arbeitet in TypeScript mit Zod-Schemata und ähnlichen Mechanismen in anderen Sprachen. Du beschreibst das Antwort-Schema, übergibst es an das Modell und erhältst ein gültiges Objekt zurück.
Die zweite nützliche Funktion ist das Aufrufen externer Funktionen, also Tool Calling. Wenn das Modell das aktuelle Wetter prüfen oder eine Datenbank abfragen muss, registrierst du ein Tool mit einer Beschreibung seiner Eingabeargumente. Genkit übergibt automatisch die Funktionsbeschreibung an das LLM, empfängt die Aufrufentscheidung und führt den notwendigen Code aus.
Das Framework enthält außerdem:
- Prompt-Templating im Dotprompt-Format
- Streaming-Antworten
- Vektor-Suche und RAG für die Arbeit mit Wissensdatenbanken
- Call-Chains und Agents über Flows-Mechanismen
Lokales Debugging über die Developer UI
Bei der Entwicklung komplexer KI-Features ist der schwierigste Teil zu verstehen, wo genau die Call-Chain unterbrochen wurde. Hat das Modell das falsche Format zurückgegeben? Ist ein Tool mit einem Fehler abgestürzt? War das Prompt zu lang?
Die Genkit-Entwickler haben ein lokales CLI-Tool und eine GUI zum Debugging erstellt. Du führst den Befehl genkit start aus, und ein Dashboard öffnet sich in deinem Browser.

Diese UI ermöglicht dir mehrere Dinge:
- Prompts und Chains manuell in einer interaktiven Sandbox ausführen
- Ergebnisse verschiedener Modelle beim gleichen Prompt vergleichen
- Detaillierte Traces mit schrittweisen Aufschlüsselungen, Zeitstempeln sowie präzisen Inputs und Outputs für jede Phase anzeigen
Eine lokale UI beschleunigt Iterationen erheblich. Du musst nicht in eine Testumgebung deployen oder jedes Mal Logging-Gerüst schreiben.
Wo deployen und wie überwachen
Obwohl Genkit innerhalb von Google entstanden ist und sich in Firebase Cloud Functions und Google Cloud Run integriert, bindet es dich nicht an die Google-Cloud-Infrastruktur. Du kannst die Anwendung auf Node.js oder Go in einem beliebigen Docker-Container, auf Vercel, AWS oder deinen eigenen Servern deployen.
In der Produktion kann das Framework Metriken und Traces an Monitoring-Systeme senden. Du siehst Request-Zahlen, Latenzen, Fehler und Token-Kosten direkt in der Firebase-Konsole oder über Drittanbieter-Lösungen basierend auf OpenTelemetry.
Für wen es sich lohnt
Genkit hat sich als ausgewogenes Werkzeug erwiesen. Im Gegensatz zu einigen Open-Source-Bibliotheken, die versuchen, alles zu tun, zeigt es einen sorgfältigen Engineering-Ansatz.
Das Projekt ist nützlich, wenn:
- Du KI-Services in TypeScript oder Go schreibst und nicht auf Python umsteigen möchtest
- Du eine einheitliche Abstraktionsschicht über OpenAI, Gemini und lokale Modelle benötigst
- Du es leid bist, komplexe KI-Agents ohne klare Traces zu debuggen
Python-Unterstützung befindet sich noch in der Beta-Phase und Dart entwickelt sich noch. Aber die Node.js-Version ist bereits recht bereit für produktive Dienste. Du kannst Beispiele ausprobieren und die Dokumentation auf der offiziellen Website genkit.dev oder im GitHub-Repository genkit-ai/genkit lesen.
Ähnliche Projekte