Cómo está hecho un agente LLM: contexto, herramientas y bucle de retroalimentación

Un agente LLM no es simplemente un chatbot, sino un sistema con retroalimentación. El modelo genera texto, invoca herramientas, observa los resultados (incluidos los errores) y corrige el rumbo en la siguiente iteración. Antes el modelo escribía código a ciegas; ahora sabe lo que ha hecho y puede corregirlo. Esta es la arquitectura básica: • **Contexto** — entrada del modelo con un tamaño de 32K → 1M de tokens (estándar de la industria) • **Herramientas** (harness) — se describen mediante JSON Schema, se invocan con el formato de Anthropic o la Tools API de OpenAI • **MCP** (Model Context Protocol) — estándar de integración con sistemas externos mediante JSON-RPC 2.0 (transporte: stdin/stdout o HTTP)

Procesado por IA desde Habr AI; editado por Hamidun News
Cómo está hecho un agente LLM: contexto, herramientas y bucle de retroalimentación
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
Dato clave #1Contexto — entrada del modelo con un tamaño de 32K → 1M de tokens (estándar de la industria)
Dato clave #2Herramientas (harness) — se describen mediante JSON Schema, se invocan con el formato de Anthropic o la Tools API de OpenAI
Dato clave #3MCP (Model Context Protocol) — estándar de integración con sistemas externos mediante JSON-RPC 2.0 (transporte: stdin/stdout o HTTP)

Un agente LLM se diferencia de un modelo generativo por el bucle de retroalimentación. Si un chatbot simplemente genera texto, un agente invoca herramientas, recibe resultados y afina su respuesta. Esto es posible gracias a una arquitectura específica construida sobre el LLM.

Contexto y fundamentos del funcionamiento

A la entrada del LLM se le suministra un bloque de texto llamado contexto. Su tamaño está limitado: a comienzos de la era de los transformers, 32K tokens se consideraban un avance; ahora 1M es el estándar de la industria. A partir del contexto, el modelo genera una continuación —un fragmento lógicamente completo que termina con un token especial <stop>—. Después el contexto se amplía: se le añade el nuevo fragmento y el ciclo se repite.

Invocación de herramientas y su descripción

El modelo está entrenado para usar un formato especial al invocar funciones externas. Cada proveedor lo implementa a su manera: Anthropic usa su propio formato, mientras que Ollama y vLLM reproducen la Tools API de OpenAI. Para que el modelo sepa qué herramientas tiene disponibles, hay que describirlas de antemano en el contexto (en el «system prompt») siguiendo el estándar JSON Schema, indicando los parámetros, sus tipos, su descripción y si son obligatorios.

Aquí hay un ejemplo de descripción de una herramienta de verificación de entregas (get_delivery_status): nombre, descripción de su propósito, y un schema con los campos order_id (obligatorio, string) y detailed (opcional, booleano). Con estas descripciones en el contexto, el modelo genera las invocaciones en un formato específico (por ejemplo, el de Anthropic).

Al conjunto de herramientas disponibles se le llama harness. Para describir herramientas que no están integradas directamente en el agente, se usa MCP (Model Context Protocol), el estándar de la industria para la comunicación entre procesos (IPC) entre el agente y sistemas externos. El intercambio se realiza mediante JSON-RPC 2.0, con un transporte que puede ser stdin/stdout de un proceso local (análogo a FastCGI) o HTTP para servidores externos.

El ciclo del agente, la retroalimentación y la gestión del contexto

La API del proveedor del LLM devuelve objetos JSON tipados. El formato varía: la Tools API de OpenAI es la más extendida, y Ollama y vLLM la reproducen; Anthropic tiene la suya propia. En la respuesta (del modelo claude-sonnet-4-5), la invocación llega como un bloque independiente dentro del array content, con un id, un nombre y un objeto input ya analizado. La señal de que el turno no ha terminado es stop_reason: "tool_use".

El resultado de la ejecución se devuelve en un nuevo mensaje con el rol user y un bloque tool_result, que hace referencia al id de la invocación. Si la herramienta falla, se devuelve una marca is_error junto con el traceback. El error no interrumpe el ciclo: el agente ve lo que ha provocado y lo corrige en el siguiente turno. Antes el modelo escribía código a ciegas; ahora ve la retroalimentación.

El contexto tiene dos límites: uno formal (si se supera, la API devuelve un error) y otro práctico (el volumen a partir del cual la calidad se degrada). En un contexto largo, el principio y el final permanecen en el foco de atención, mientras que la parte central se pierde. Para combatir esto se usan dos técnicas:

• Desalojo a archivos — en el contexto solo se colocan de 10 a 20 líneas de la salida, el resto se escribe en un archivo temporal cuya ruta queda disponible cerca; el modelo, si lo necesita, extraerá la parte requerida con una invocación de herramienta independiente. • Compactación — sustitución del contexto por un resumen conciso generado mediante el propio LLM, usando un system prompt especial que fija la solicitud principal, los conceptos clave, los detalles técnicos y las decisiones de arquitectura.

Esta es, en esencia, toda la arquitectura básica de un agente. Se recomienda practicar escribiendo un agente sobre la API en crudo: se puede lograr en 200-300 líneas de código y obtener una herramienta que no le va mucho a la zaga a Claude Code o Codex. La fuerza de un agente la determina principalmente la fuerza del modelo, no el conjunto de herramientas.

Historia

Preguntas frecuentes sobre la noticia

¿Qué se sabe sobre Contexto y fundamentos del funcionamiento?

A la entrada del LLM se le suministra un bloque de texto llamado contexto. Su tamaño está limitado: a comienzos de la era de los transformers, 32K tokens se consideraban un avance; ahora 1M es el estándar de la industria. A partir del contexto, el modelo genera una continuación —un fragmento lógicamente completo que termina con un token especial <stop>—. Después el contexto se amplía: se le añade el nuevo fragmento y el ciclo se repite.

¿Qué se sabe sobre Invocación de herramientas y su descripción?

El modelo está entrenado para usar un formato especial al invocar funciones externas. Cada proveedor lo implementa a su manera: Anthropic usa su propio formato, mientras que Ollama y vLLM reproducen la Tools API de OpenAI. Para que el modelo sepa qué herramientas tiene disponibles, hay que describirlas de antemano en el contexto (en el «system prompt») siguiendo el estándar JSON Schema, indicando los parámetros, sus tipos, su descripción y si son obligatorios. Aquí hay un ejemplo de descripción de una herramienta de verificación de entregas (get_delivery_status): nombre, de

¿Qué se sabe sobre El ciclo del agente, la retroalimentación y la gestión del contexto?

La API del proveedor del LLM devuelve objetos JSON tipados. El formato varía: la Tools API de OpenAI es la más extendida, y Ollama y vLLM la reproducen; Anthropic tiene la suya propia. En la respuesta (del modelo claude-sonnet-4-5), la invocación llega como un bloque independiente dentro del array content, con un id, un nombre y un objeto input ya analizado. La señal de que el turno no ha terminado es stop_reason: "tool_use". El resultado de la ejecución se devuelve en un nuevo mensaje con el rol user y un bloque tool_result, que hace referencia al id de la invocación. Si l

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Autonomous AI Execution · Nomad Agent

Delegate Deep Research, Coding & Multi-Step Workflows to Nomad Agent

Deploy autonomous task execution with Nomad Agent (agent.nomadnet.ai) — automated web research, data synthesis, code generation, and MCP tool orchestration.

Launch Nomad Agent →Nomad AI Workspace
¿Qué te parece?
Cargando comentarios…