En esta sección
Guías / Cómo construir un agente de IA

Cómo construir un agente de IA

Qué es un agente, en qué se diferencia de un chatbot de flujos, y los cinco pasos para tener uno atendiendo por WhatsApp con acceso a los datos de tu negocio.

Un agente de IA es un programa que recibe una instrucción en lenguaje natural, decide qué herramientas usar para cumplirla, las ejecuta y responde. Lo que lo separa de una integración normal con un modelo de lenguaje es la palabra *decide*: nadie escribió por adelantado la secuencia de pasos.

En Meteor un agente se llama Met, y son tres cosas: un prompt que define qué hace, un conjunto de herramientas que puede usar, y acceso a datos del negocio. El modelo de lenguaje es el cuarto componente y el más intercambiable — no es lo que determina si el agente sirve.

Agente o flujo: la decisión que hay que tomar primero

Es la confusión más costosa, porque se paga en producción y no en desarrollo.

agenteflujo
decide la secuenciael modelo, en cada ejecucióntú, al construirlo
bueno paralo que no se puede preverlo que no puede improvisarse
ejemploresponder una consulta que nadie anticipócobrar, despachar, notificar
falla comocontesta algo razonable pero equivocadose queda quieto ante lo inesperado

La respuesta correcta casi nunca es una de las dos: el agente atiende la conversación y llama a un flujo cuando hay que ejecutar algo que no admite improvisación. Un agente que cobra decidiendo el monto es un incidente esperando su turno; un flujo que intenta atender una queja es un formulario disfrazado.

En Meteor los dos existen y se llaman entre sí — un Met puede disparar un flujo como una de sus herramientas.

Los cinco pasos

1. Consigue una API key

Desde el panel, en Ajustes → Desarrolladores. Empieza con una de prueba (met_test_): ejecuta gratis, con tope diario, y los scopes que producen efectos reales quedan restringidos — no hay forma de mandarle un mensaje a un cliente de verdad por accidente.

npm install @meteor.ia/sdk

Detalle completo en Autenticación.

2. Define qué hace el agente

El prompt es la definición del agente, no un adorno. Lo que decide la calidad no es la extensión sino la precisión sobre qué no debe hacer y cuándo pasarle el turno a un humano.

Un Met se crea desde el panel o por API, y ahí mismo se le asignan sus habilidades. Ver Mets y sus herramientas.

3. Dale acceso a los datos del negocio

Un agente sin datos improvisa. En Meteor los datos viven en colecciones — tablas del workspace que el agente lee y escribe sin que programes un endpoint por cada una:

import Met from '@meteor.ia/sdk';
const met = new Met(process.env.MET_API_KEY!, { workspaceId: 7 });

const cols = await met.collections.list();
await met.items.create(cols[0].id, { data: { titulo: 'Consulta nueva' } });

Si los datos están en otro sistema, se conectan como integraciones MCP y el agente las usa como herramientas.

4. Ejecútalo

const run = await met.runs.create({ input: 'Resume las consultas de hoy' });
console.log(run.output);

Con stream: true la respuesta llega token por token por SSE, que es lo que quieres en una interfaz de chat. Ver Ejecutar Mets y Streaming.

5. Conéctalo a un canal

Un agente que solo responde por API no atiende a nadie. Conectando WhatsApp, Messenger o Instagram al workspace, el Met contesta en el hilo del contacto:

await met.contacts.sendMessage(42, 'Ya quedó agendada la visita');

Aquí hay un límite que conviene saber antes de escribir código: fuera de la ventana de 24 horas desde el último mensaje de la persona, WhatsApp solo permite escribir con plantillas aprobadas por Meta. No es un límite de Meteor y no se puede saltear. Ver CRM y contactos.

Lo que casi siempre se olvida

Un agente necesita poder rendirse. El caso que decide si la gente vuelve a escribirle no es el que resuelve bien, sino el que no puede resolver: si no hay una salida hacia un humano, la conversación muere ahí. En Meteor eso es el autopiloto — se pausa por minutos y se reanuda solo, en vez de apagarse hasta que alguien se acuerde. Ver Operación del workspace.

Las ejecuciones se cobran, así que hay que poder mirarlas. GET /billing/executions da una fila por ejecución con su costo. Cuando el total no cuadra, la respuesta casi siempre es un agente que se llama a sí mismo en un bucle.

Todo lo que un agente hizo queda auditable. Cada ejecución tiene su traza, y el request_id de la respuesta HTTP la une con lo que ves en el panel. Ver Eventos en vivo.

Usar Meteor desde tu propio agente

Si ya tienes un agente —en Claude, en Cursor, o uno propio— no necesitas la API: Meteor expone un servidor MCP remoto con 22 herramientas met_*. Tu agente ejecuta Mets, consulta el CRM, dispara tareas y lee datos como herramientas nativas:

https://api.met.meteor.com.co/api/v1/mcp

El catálogo se filtra por los scopes de tu API key: una herramienta cuyo scope no tienes simplemente no aparece. Ver Servidor MCP.

Preguntas frecuentes

¿Necesito entrenar un modelo?

No. Un agente se define con prompt, herramientas y datos; el modelo es un componente intercambiable. Entrenar tiene sentido cuando el problema es que el modelo no *sabe* algo del dominio, y casi siempre el problema real es que no *puede* hacer algo — y eso se arregla con una herramienta, no con entrenamiento.

¿Cuánto tarda tener uno funcionando?

Un Met contestando con acceso a una colección son unas horas. Lo que toma tiempo es lo otro: definir cuándo se rinde, qué no debe decir, y qué pasa cuando la herramienta que necesita está caída.

¿Puedo probar sin afectar datos reales?

Sí, con una key met_test_. Las ejecuciones quedan con livemode: false y no debitan Energía.

¿Qué lenguajes tienen SDK?

TypeScript (@meteor.ia/sdk) y Python (meteor-ia), los dos con paridad completa sobre las 300 operaciones públicas. También hay un CLI (met) y la API REST con su OpenAPI publicado.

¿Y si mi caso no es conversacional?

Buena parte de lo que la gente construye no es un chat: es un procedimiento que corre solo. Eso son tareas — se disparan por API, por horario o por un evento, y sus pasos pueden ejecutar Mets.