Cómo Google intenta poner orden en el desarrollo de aplicaciones de IA con Genkit
Los desarrolladores del equipo de Firebase han liberado Genkit como código abierto — un framework para construir funcionalidades de IA. Descubramos si ayuda a combinar Gemini, OpenAI y Ollama en un solo proyecto sin código espagueti.
¿Por qué necesitamos otro framework de IA
Si has intentado agregar una llamada a un LLM en tu backend, probablemente has seguido este camino. Primero, escribes una simple llamada fetch a la API de OpenAI. Luego necesitas analizar JSON estrictamente válido de la respuesta del modelo, y recurres a soluciones alternativas con expresiones regulares. Después, el equipo de negocio pide cambiar a Gemini o conectar un Ollama local para pruebas, pero cada uno tiene un SDK diferente. El resultado es un proyecto lleno de wrappers personalizados, sistemas de plantillas de prompts y registros dispersos.
La comunidad de Python aborda esto con LangChain o LlamaIndex. Pero si tu stack principal es TypeScript o Go, las alternativas han sido escasas hasta hace poco. Los ingenieros de Google del equipo de Firebase encontraron el mismo problema internamente y construyeron Genkit. Ahora el proyecto está disponible como código abierto.

Qué puede hacer el framework
El concepto de Genkit es sencillo: proporcionar una interfaz unificada para diferentes proveedores de redes neuronales y manejar el trabajo rutinario. En lugar de aprender SDKs específicos para cada servicio, trabajas con una API universal.
Actualmente se admiten varios lenguajes:
- JavaScript y TypeScript están listos para producción
- Go está listo para producción
- Python está en Beta
- Dart está en Preview
De serie, los proveedores admitidos incluyen Google Gemini, OpenAI, Anthropic y Ollama. Cambiar entre modelos a menudo solo requiere un cambio de una línea de configuración.
Veamos un ejemplo mínimo de inicialización y llamada a un modelo en TypeScript:
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?'
});
El código se ve limpio y no ata el backend a solicitudes HTTP de bajo nivel.
Salida tipada y llamadas a herramientas
Una de las tareas más comunes en el desarrollo de servicios de IA es obtener que el modelo devuelva no solo texto, sino una estructura de datos. Genkit funciona con esquemas Zod en TypeScript y mecanismos similares en otros lenguajes. Describes el esquema de respuesta, lo pasas al modelo y obtienes un objeto válido de vuelta.
La segunda característica útil es llamar a funciones externas, o tool calling. Si el modelo necesita consultar el clima actual o hacer una consulta a una base de datos, registras una herramienta con una descripción de sus argumentos de entrada. Genkit pasa automáticamente la descripción de la función al LLM, recibe la decisión de llamada y ejecuta el código necesario.
El framework también incluye:
- Plantillas de prompts mediante el formato Dotprompt
- Respuestas en streaming
- Búsqueda vectorial y RAG para trabajar con bases de conocimiento
- Cadenas de llamadas y agentes mediante el mecanismo de Flows
Depuración local mediante Developer UI
Al desarrollar funcionalidades de IA complejas, la parte más difícil es entender exactamente dónde se rompió la cadena de llamadas. ¿El modelo devolvió el formato incorrecto? ¿Una herramienta falló con un error? ¿El prompt era demasiado largo?
Los desarrolladores de Genkit crearon una utilidad CLI local y una GUI para depuración. Ejecutas el comando genkit start y se abre un dashboard en tu navegador.

Esta interfaz permite hacer varias cosas:
- Ejecutar prompts y cadenas manualmente en un sandbox interactivo
- Comparar resultados de diferentes modelos con el mismo prompt
- Ver trazas detalladas con desgloses paso a paso, marcas de tiempo e entradas y salidas precisas para cada etapa
Tener una UI local acelera significativamente las iteraciones. No necesitas desplegar en un entorno de pruebas ni escribir andamiaje de logs cada vez.
Dónde desplegar y cómo monitorear
Aunque Genkit fue creado dentro de Google y se integra con Firebase Cloud Functions y Google Cloud Run, no te ata a la infraestructura de Google Cloud. Puedes desplegar la aplicación en Node.js o Go en cualquier contenedor Docker, en Vercel, AWS o tus propios servidores.
En producción, el framework puede enviar métricas y trazas a sistemas de monitoreo. Verás conteos de solicitudes, latencias, errores y costos de tokens directamente en la consola de Firebase o a través de soluciones de terceros basadas en OpenTelemetry.
Quién debería probarlo
Genkit resultó ser una herramienta equilibrada. A diferencia de algunas bibliotecas de código abierto que intentan hacerlo todo, muestra un enfoque de ingeniería cuidadoso.
El proyecto es útil si:
- Escribes servicios de IA en TypeScript o Go y no quieres cambiar a Python
- Necesitas una capa de abstracción unificada sobre OpenAI, Gemini y modelos locales
- Estás cansado de depurar agentes de IA complejos sin trazas claras
El soporte para Python todavía está en beta y Dart todavía está en desarrollo. Pero la versión de Node.js ya está bastante lista para servicios en producción. Puedes probar ejemplos y leer la documentación en el sitio oficial genkit.dev o en el repositorio de GitHub genkit-ai/genkit.
Proyectos relacionados