Abierto a posiciones de AI Engineer remoto o híbrido
Competencia

Agentes de IA y tool calling: lo que aplico en producción

Diseño agentes que operan sistemas reales por medio de herramientas. Esta página cuenta cómo lo hice en AgendaGo, que está en producción, y en Nux, que todavía está en construcción.

Dónde la apliqué

Qué es el tool calling

En tool calling el modelo no ejecuta nada: devuelve qué herramienta quiere llamar y con qué parámetros. Es el sistema quien valida esa llamada, la ejecuta y le devuelve el resultado, y el ciclo se repite hasta que el modelo responde. Un agente es ese ciclo más las reglas que lo acotan.

El diseño que importa no es el prompt sino el conjunto de herramientas: qué puede leer el modelo, qué puede proponer y qué solo puede hacer una persona.

AgendaGo: dos agentes en producción

El asistente del panel tiene 21 herramientas: 11 de lectura, 2 de simulación o explicación y 8 de propuesta. El agente de WhatsApp tiene 9: disponibilidad, reserva, horarios, dirección, servicios, cobertura, requisitos, repregunta y derivación a una persona. Los dos corren en Edge Functions de Supabase y llaman a OpenAI por HTTP directo, sin SDK, detrás de una abstracción de proveedor.

  • Cada turno del asistente tiene un máximo de 4 rondas de herramientas y 700 tokens, además de un tope de gasto por turno y un presupuesto mensual por negocio.
  • Las ejecuciones se pueden cancelar, y la respuesta llega en streaming desde la Edge hasta el frontend.

Decisiones de diseño y sus costos

  • Las herramientas de propuesta nunca escriben. Crean una propuesta con el diff y su consecuencia, que vence a los 15 minutos, y un clic humano la aplica. Se paga una fricción más por cada cambio; a cambio, el modelo no tiene un camino directo a la escritura.
  • Aplicar está protegido en la base de datos, no en el prompt: una función SECURITY DEFINER para el rol admin, con bloqueo de fila y un paso atómico.
  • Reservar por WhatsApp pasa por tres barreras: el horario sale del motor de disponibilidad en el mismo turno, el cliente no puede tener otra reserva ese día y un trigger de la base bloquea el sobreturno.
  • Un router determinista responde alrededor del 44% de los mensajes sin llamar al modelo.
  • El negocio sale del JWT, nunca del modelo, y los parámetros prohibidos se descartan.

Nux: en construcción, con el LLM apagado

Nux es el asistente del panel de Bonuxo y está en construcción. Su agente usa tool calling con 19 herramientas: 12 de lectura, 5 de confirmación y 2 de confirmación fuerte. Las escrituras requieren confirmación humana y respetan los permisos del usuario. Hay un máximo de 8 rondas de herramientas por turno.

El proveedor es intercambiable entre OpenAI y Anthropic, y hay topes de costo por plan y un registro de uso. La capa de LLM está construida y probada, pero apagada en producción; la parte determinista de Nux sí está activa para todos los negocios.

Stack relacionado

  • OpenAI
  • Anthropic
  • Supabase Edge Functions
  • WhatsApp Cloud API
  • TypeScript