Volver al blogInteligencia Artificial

Agentes con LLMs: estructura mínima que no se desmorona

2 min de lectura

  • llm
  • agentes
  • arquitectura

Construir un agente con un LLM es fácil: un loop, un prompt y una herramienta. Construir un agente que no se atasca, alucina con los datos o ejecuta la misma acción diez veces ya es otra cosa. Esta es la estructura mínima que separa el demo del producto.

El bucle percibir-actuar

El núcleo de cualquier agente es un bucle de tres pasos:

  1. Percibir: obtener el estado actual (entrada del usuario + contexto del sistema).
  2. Decidir: el LLM elige la siguiente acción (responder o invocar una herramienta).
  3. Actuar: ejecutar la herramienta y devolver su resultado al contexto.
while (!terminado) {
  const contexto = `Estado: ${estado}\nHerramientas: ${herramienta(json)}\nHistorial: ${historial}`;
  const accion = await llm(contexto + prompt);
  if (accion.tipo === 'fin') terminado = true;
  else historial.push(await ejecutar(accion.herramienta));
}

El contexto se inyecta, no se “recuerda”

Un LLM no tiene memoria: tiene la ventana de contexto. Todo lo que el agente “sabe” debe caber en la prompt de cada iteración. Esto tiene una consecuencia práctica: no guardes en el historial lo que no haga falta, y trunca lo que exceda la ventana, priorizando los mensajes recientes y el resultado de herramientas por encima de mensajes intermedios.

Herramientas con contrato, no con texto

Define cada herramienta con un esquema (nombre, argumentos, descripción) y valida las salidas. Si el LLM devuelve JSON malformado, reintenta una vez con el error en contexto; si falla de nuevo, aborta. Un agente que asume que sus herramientas devuelven siempre datos válidos es un agente que devuelve datos corruptos en producción.

Evaluación: el agente SIN test es una apuesta

Antes de medir precisión, mide robustez del flujo: prepara 20-30 trayectorias de ejemplo, ejecuta el agente y marca si llegó al objetivo, cuántas vueltas dio y si llamó herramientas que no debía. Ese harness de evaluación es lo que te permite cambiar de modelo sin volver a empezar.

La regla de oro

Un agente útil no es el que parece inteligente: es el que ejecuta un trabajo acotado con pasos verificables. Acota el scope, inyecta contexto, contrata las herramientas y evalúa. El resto es prompt-polish.