Dentro de un agente de IA: Modelos, herramientas, memoria y razonamiento explicados
Desglosa la arquitectura fundamental de los agentes de IA: objetivos, modelos, herramientas, memoria y razonamiento, y presenta un ejemplo práctico de un agente de investigación basado en Python.
En el primer volumen de AI Agents with Python 2026, abordamos una pregunta fundamental:
¿Qué es exactamente un agente de IA?
Analizamos cómo el software tradicional difiere de los chatbots, los sistemas de IA generativa y los agentes que persiguen objetivos por sí mismos. También describimos los componentes esenciales que componen a un agente: modelos, herramientas, memoria, conocimiento, acciones y mecanismos de seguridad.
Esta vez, vamos a abrir el capó para ver el mecanismo interno.
¿Qué ocurre realmente cuando un agente se ejecuta?
¿Cómo elige su siguiente movimiento?
¿Cómo selecciona la herramienta adecuada para la tarea?
¿Cómo conserva la información a lo largo de las etapas?
¿Y cómo reconoce que una tarea se ha completado?
Bienvenidos a la segunda parte de esta serie: pasando de la automatización simple hacia sistemas verdaderamente autónomos.
La arquitectura de un agente de IA
A nivel conceptual, un agente de IA combina varios componentes en un ciclo repetitivo:
Objetivo → Modelo → Decisión → Herramienta → Observación → Próxima decisión → Resultado
Una versión simplificada de esta arquitectura podría verse así:
USER / APPLICATION
│
▼
┌──────────────┐
│ GOAL │
└──────┬───────┘
│
▼
┌──────────────┐
│ AI MODEL │
│ LLM / Model │
└──────┬───────┘
│
▼
┌──────────────┐
│ DECISION │
│ / PLANNING │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
TOOL 1 TOOL 2 TOOL 3
│ │ │
└─────────┼─────────┘
│
▼
OBSERVATION
│
▼
┌──────────────┐
│ NEXT ACTION? │
└──────┬───────┘
│
┌──────┴──────┐
│ │
YES NO
│ │
▼ ▼
Continue Result
Tenga en cuenta que se trata de una representación simplificada.
Los sistemas de agentes de nivel profesional suelen ser mucho más complejos, pero comprender este ciclo básico le proporciona un punto de partida sólido para todo lo que venga después.
1. El objetivo
El comportamiento de cada agente comienza con un objetivo.
El sistema necesita una comprensión concreta de lo que debe lograr.
Considere este ejemplo:
"Analice los datos de ventas de este mes e identifique los tres productos con la mayor disminución."
Un objetivo establece la dirección para todo el proceso.
Cuando el objetivo no se expresa con claridad, el agente corre el riesgo de generar respuestas fuera del objetivo o tomar acciones que en realidad no ayudan.
Un objetivo bien formulado suele especificar:
- La tarea que debe completarse
- Los datos o información relevantes
- La forma esperada de la salida
- Cualquier límite o restricción que deba respetarse
Tomemos estas dos versiones:
Objetivo débil:
"Analizar los datos."
Objetivo más claro:
"Examinar el conjunto de datos de ventas, marcar cualquier producto cuyos ingresos mensuales hayan disminuido en más del 10 por ciento, y elaborar una tabla que resuma los hallazgos."
En comparación con la versión vaga, esta redacción proporciona al agente un objetivo mucho más claro al que dirigirse.
2. El modelo de IA
El modelo funciona como el motor de razonamiento y lenguaje en el corazón de la mayoría de los agentes modernos.
Los modelos de lenguaje grandes (LLM) ocupan este lugar porque son capaces de:
- Analizar entradas en lenguaje natural
- Comprender instrucciones
- Tomar en consideración la información contextual
- Generar resultados bien estructurados
- Elegir entre acciones posibles
- Construir los argumentos que necesita una herramienta
No obstante, el modelo es solo una pieza del rompecabezas.
Imágineselo como el cerebro dentro de un organismo más grande.
Un cerebro aislado de los ojos, las manos, la memoria y el mundo exterior no puede hacer mucho por sí solo.
Lo mismo ocurre con un LLM: su utilidad se multiplica una vez que está conectado a herramientas y fuentes de datos relevantes.
3. Instrucciones y contexto
El modelo necesita conocer su función y los detalles de la tarea actual.
Esto generalmente incluye:
- Instrucciones a nivel de sistema
- Instrucciones provenientes del usuario
- Una lista de herramientas que puede utilizar
- Historial de conversaciones anteriores
- Datos obtenidos mediante búsquedas
- El estado actual de la tarea
- Cualquier regla o límite que debe respetar
Como ilustración, un agente diseñado para apoyar a un servicio de soporte técnico podría configurarse con algo similar a:
You are an IT support assistant.
Your responsibilities:
1. Diagnose common technical issues.
2. Search the approved knowledge base.
3. Provide troubleshooting instructions.
4. Escalate high-risk issues to a human technician.
Do not modify production systems without authorization.
Instrucciones como estas determinan cómo se espera que se comporte el agente.
4. Herramientas
Aunque un modelo puede generar texto y razonamientos, son las herramientas las que permiten al agente interactuar con sistemas externos.
Las categorías comunes de herramientas incluyen:
- Búsqueda en la web
- APIs externas
- Bases de datos
- Sistemas de archivos
- Calculadoras
- Funciones personalizadas en Python
Imaginemos un asistente encargado de informar sobre el clima actual.
El conocimiento integrado en el modelo no incluirá las condiciones en tiempo real.
Por lo tanto, el agente se comunica con una API meteorológica a través de una llamada a herramienta.
El flujo es más o menos así:
User Request
↓
AI Model
↓
Weather Tool
↓
Current Weather Data
↓
AI Model
↓
Response
La herramienta proporciona datos que el modelo no puede generar de forma fiable por sí mismo.
Llamadas a herramientas
Una idea clave en los sistemas agentes es lo que se conoce como llamadas a herramientas.
En lugar de generar solo una respuesta de texto plano, el modelo puede indicar que es necesario ejecutar una herramienta específica.
Por ejemplo:
tools = [
"search_database",
"calculate",
"get_weather"
]
Supongamos que un usuario pregunta:
"¿Cuál es el clima en Acra?"
El modelo podría reconocer que get_weather es la herramienta adecuada para esta solicitud.
Luego, la aplicación circundante ejecuta esa función y devuelve el resultado al modelo.
En Python, esto podría expresarse de forma sencilla como:
def get_weather(city):
# Call an approved weather service
return weather_data
La regla esencial aquí es que el modelo propone lo que necesita, pero la aplicación mantiene el control sobre lo que realmente se ejecuta.
Esa separación es de gran importancia para la seguridad.
Los modelos no deben tener acceso ilimitado
Imagínese entregar a un modelo de IA un control ilimitado sobre:
- Su base de datos
- Sus cuentas de correo electrónico
- Su sistema de archivos
- Sus sistemas financieros
- Su sistema operativo
Ese tipo de exposición introduciría riesgos graves.
En su lugar, a los agentes solo se les debería otorgar el acceso que realmente necesitan para desempeñar su trabajo.
Esto refleja una idea bien conocida de la ingeniería de seguridad:
Principio del mínimo privilegio
Otorgue al sistema únicamente los permisos que realmente necesita para llevar a cabo su función, nada más.
Por ejemplo:
Un agente de atención al cliente podría necesitar legítimamente leer los registros de los clientes.
Pero probablemente no tenga motivos para borrar esos registros.
Esta idea volverá a tratarse con más profundidad cuando abordemos la seguridad de los agentes más adelante en esta serie.
5. Memoria
La memoria permite a un agente conservar información importante a lo largo de una conversación o tarea.
Sin ella, cada intercambio parecería desconectado del anterior.
Imagínese un asistente virtual personal.
Usted menciona:
"Mi lenguaje de programación preferido es Python."
Más tarde preguntas:
"Recomiéndame un proyecto de programación."
Si el asistente cuenta con memoria de trabajo, puede relacionar estos dos momentos y adaptar su respuesta usando lo que le dijiste anteriormente.
La memoria no es un concepto único; funciona en diferentes niveles de alcance.
Memoria a corto plazo
La memoria a corto plazo abarca detalles que solo son relevantes dentro de la sesión o tarea actual.
User:
My budget is GHS 5,000.
User:
Show me laptops.
Agent:
I'll focus on options around your GHS 5,000 budget.
Sin tener en cuenta el presupuesto mencionado anteriormente, el agente no sabría cómo delimitar adecuadamente sus recomendaciones de laptops.
Memoria a largo plazo
La memoria a largo plazo persiste más allá de una sola conversación.
User Preference:
Prefers Python tutorials.
Previous Project:
Built an AI study assistant.
Current Goal:
Learning AI agents.
Una aplicación suele almacenar este tipo de datos en una base de datos dedicada o en una capa de memoria.
No obstante, guardar detalles personales plantea cuestiones de privacidad que no deben ignorarse.
Deberá considerar lo siguiente:
- Qué información merece ser recordada
- Por cuánto tiempo debe conservarse
- Dónde se almacena
- Quién tiene permiso para acceder a ella
- Cómo puede el usuario solicitar su eliminación
La memoria nunca debe tratarse como algo secundario; requiere un diseño deliberado.
6. Conocimiento
La memoria y el conocimiento suenan similares, pero tienen propósitos diferentes.
La memoria suele registrar detalles sobre el usuario, la conversación o el estado actual de la tarea.
La recuperación de conocimiento, por otro lado, implica obtener hechos relevantes de fuentes externas.
Considere un agente de IA corporativa que podría necesitar hacer referencia a:
- Políticas para empleados
- Documentación de productos
- Manuales técnicos
- Procedimientos internos
- Preguntas frecuentes
En lugar de incluir todos los documentos en la instrucción, el sistema puede obtener solo lo que sea relevante en el momento en que se necesite.
Esto constituye la base de un patrón importante en la arquitectura de IA:
Generación mejorada por recuperación de información (RAG)
A nivel general, un flujo de trabajo RAG se ve así:
User Question
↓
Retrieve Relevant Information
↓
Knowledge Source
↓
Relevant Context
↓
AI Model
↓
Answer
RAG se vuelve especialmente valioso cuando se combina con agentes.
Un agente puede darse cuenta de que le falta cierta información, ir a buscar el contenido relevante y luego continuar con la tarea utilizando lo que encontró.
Analizaremos este patrón con más detalle en la Parte 6.
7. Razonamiento y planificación
Una de las capacidades más atractivas de los agentes de IA es dividir una tarea compleja en una secuencia de pasos más pequeños y manejables.
Supongamos que un usuario pide al agente que prepare una comparación de tres proveedores en la nube dirigida a una pequeña empresa.
Para completar esto podría ser necesario:
- Identificar las plataformas
- Recopilar detalles de precios
- Comparar características
- Evaluar ventajas y desventajas
- Organizar los resultados
- Elaborar el informe final
El agente podría necesitar determinar, de forma dinámica, qué paso tiene sentido seguir según lo que sabe en ese momento.
Ese es el papel que desempeña la planificación.
La planificación no siempre implica razonamiento complejo
No asuma que todo agente requiere un motor de planificación elaborado y completamente autónomo.
Algunos flujos de trabajo pueden mantenerse sencillos:
Input
↓
Call API
↓
Format Result
↓
Return Response
Otros realmente proponen algo más elaborado:
Goal
↓
Plan
↓
Research
↓
Analyze
↓
Verify
↓
Generate
↓
Review
↓
Complete
Elige según el problema que estés resolviendo.
Vale la pena repetirlo:
Elije la arquitectura más simple capaz de resolver el problema de manera fiable.
8. Observación
Una vez que un agente toma una acción, necesita retroalimentación sobre el resultado real.
Ese es el paso de la observación.
Agent:
Search for information about Python.
Tool:
Returns 20 search results.
Agent:
Analyze the results and determine which are relevant.
Los datos que regresan se convierten en una observación que el agente tiene en cuenta para su siguiente movimiento.
Juntos, forman un ciclo repetitivo:
Pensar → Actuar → Observar → Decidir → Actuar de nuevo
El bucle del agente
Con todas las piezas en su lugar, así es como se combinan:
┌──────────────┐
│ GOAL │
└──────┬───────┘
↓
┌──────────────┐
│ CONTEXT │
└──────┬───────┘
↓
┌──────────────┐
│ AI MODEL │
└──────┬───────┘
↓
┌──────────────┐
│ DECISION │
└──────┬───────┘
↓
┌──────────────┐
│ TOOL │
└──────┬───────┘
↓
┌──────────────┐
│ OBSERVATION │
└──────┬───────┘
↓
┌──────────────┐
│ COMPLETE? │
└───┬──────┬───┘
│ │
NO YES
│ │
↓ ↓
Continue Result
Comprender este bucle es esencial para entender cómo operan los sistemas agentes.
Un ejemplo práctico: el agente de investigación
Analicemos un diseño sencillo de un agente de investigación.
Imaginemos una solicitud en la que se pide al asistente que investigue cómo las pequeñas empresas de Ghana podrían beneficiarse al adoptar la energía solar y que resuma los hallazgos en un texto breve.
El manejo de esta tarea se puede dividir en las siguientes etapas.
Paso 1: Comprender
Definir con precisión:
- El tema
- El foco geográfico
- El público objetivo
- Cómo debería ser el resultado final
Paso 2: Planificar
Determinar qué información es realmente necesaria.
Paso 3: Obtener
Recuperar datos de fuentes aprobadas.
Paso 4: Analizar
Examinar lo que se ha obtenido.
Paso 5: Organizar
Clasifique los hallazgos en categorías lógicas.
Paso 6 — Generar
Redacte el resumen solicitado.
Paso 7 — Revisar
Confirme que el resultado aborda realmente la solicitud original.
Paso 8 — Entregar
Proporcione la respuesta final.
Esto ilustra un flujo de trabajo de agente orientado a objetivos en la práctica.
¿Qué sucede cuando una herramienta falla?
En el mundo real, las cosas se estropean.
Las APIs dejan de funcionar.
Las bases de datos alcanzan su tiempo de espera.
Las búsquedas devuelven resultados irrelevantes.
A veces las herramientas envían datos mal formados.
Un agente bien diseñado debe tener en cuenta estos escenarios.
Por ejemplo:
try:
result = get_data()
except Exception as error:
print("Tool failed:", error)
Los sistemas de nivel profesional suelen requerir un manejo mucho más robusto que este.
Dependiendo de la situación, el agente podría:
- Volver a intentar el paso fallido
- Cambiar a una herramienta diferente aprobada
Manejar las fallas con gracia es una parte fundamental del diseño de los agentes, no un caso excepcional.
Human-in-the-Loop
La automatización no debería aplicarse a todas las decisiones.
Algunas acciones realmente requieren la aprobación de un humano primero.
Por ejemplo:
AI Agent
↓
Prepare financial transaction
↓
Human Approval
↓
Execute Transaction
Este patrón se conoce como Human-in-the-Loop (HITL).
Es especialmente valioso cuando un agente es capaz de tomar decisiones de alto riesgo, como:
- Transacciones financieras
- Eliminación de datos
- Envío de mensajes sensibles
- Modificación de sistemas en producción
- Aprobación de decisiones importantes
Agregar un punto de control humano puede limitar drásticamente los daños causados por los errores del agente.
Flujos de trabajo deterministas vs. basados en agentes
Hay otra distinción que vale la pena entender.
Un flujo de trabajo determinista sigue una secuencia fija de pasos:
Step 1 → Step 2 → Step 3 → Step 4
Un flujo de trabajo basado en agentes, por el contrario, decide sobre la marcha qué hacer a continuación:
Goal
↓
Decision
↓
Action
↓
Observation
↓
Next Decision
Ninguno de los dos es inherentemente la mejor opción.
Para tareas que son predecibles y bien comprendidas, un flujo de trabajo determinista suele ser más fácil de probar, monitorear y proteger de forma segura.
Cuando las condiciones son inciertas y los requisitos siguen cambiando, darle a un agente la libertad de decidir su propio camino tiende a funcionar mejor.
Ningún patrón gana en todas las situaciones. Elegir entre ellos es simplemente parte de una buena ingeniería.
Dónde encaja Python
Python es muy adecuado para servir como el elemento que une las partes de un agente.
Una arquitectura simplificada podría parecerse a la siguiente:
Python Application
│
├── AI Model
│
├── Tools
│
├── APIs
│
├── Database
│
├── Memory
│
└── RAG / Knowledge Base
Python se encarga de la coordinación entre estas partes y gestiona la lógica empresarial asociada.
Eso es parte de las razones por las cuales Python se ha convertido en una opción tan adecuada para desarrollar sistemas de IA.
Una arquitectura simple de agente en Python
A continuación, un boceto conceptual de un agente mínimo:
class SimpleAgent:
def __init__(self, model, tools):
self.model = model
self.tools = tools
def run(self, goal):
context = goal
while True:
decision = self.model.decide(
context,
self.tools
)
if decision["action"] == "finish":
return decision["result"]
tool = self.tools[decision["tool"]]
result = tool(**decision["arguments"])
context = {
"goal": goal,
"previous_result": result
}
Este ejemplo es deliberadamente muy básico.
Un agente real listo para producción necesitaría mucha más infraestructura de soporte, como:
- Verificaciones de los datos recibidos
- Una forma de verificar quién llama al sistema
- Gestión de fallos en el proceso
- Un registro de lo que ocurrió y cuándo
- Reglas sobre qué herramientas se pueden utilizar
- Seguimiento del estado actual del agente
Aun así, este fragmento captura el flujo esencial:
Establecer un objetivo → tomar una decisión → utilizar una herramienta → observar el resultado → continuar o detenerse.
Por qué los bucles de agentes necesitan límites
Imagínese un agente que insiste en que solo necesita realizar una acción más.
Sin un límite, podría seguir funcionando indefinidamente.
Si no se controla, esto puede causar:
- Gastos excesivos con las API
- Respuestas lentas
- Uso excesivo de recursos
- Acciones repetidas y redundantes
- Comportamiento impredecible
Para evitar esto, los desarrolladores deben incorporar controles como:
- Límite máximo de iteraciones
- Límites de tiempo en la ejecución
- Límite de caracteres en las llamadas a herramientas
- Límites de gasto
- Pasos de aprobación obligatorios
Por ejemplo:
MAX_STEPS = 10
El sistema puede detener al agente una vez que supera el número permitido de pasos.
Una medida de seguridad tan sencilla puede ser suficiente para evitar que los flujos de trabajo se salgan de control.
La seguridad forma parte de la arquitectura
La seguridad para un agente no es algo que se añade posteriormente.
Debe integrarse desde el primer día.
Entre los aspectos clave a considerar se encuentran:
Autenticación
¿Quién tiene permiso para interactuar con el agente?
Autorización
¿Qué recursos puede acceder el agente?
Validación de entrada
¿Qué tipo de datos pueden enviar los usuarios?
Permisos de herramientas
¿Qué funciones puede ejecutar realmente el agente?
Protección de datos
¿A qué datos sensibles podría estar expuesto el agente?
Registro
¿Qué hizo exactamente el agente, paso a paso?
Aprobación humana
¿Qué acciones necesitan la aprobación de una persona antes de llevarse a cabo?
Estas preocupaciones se vuelven cada vez más críticas a medida que los agentes adquieren más capacidades.
La pila de tecnologías del agente
Un agente de IA también puede considerarse como una pila tecnológica en capas:
┌──────────────────────────────┐
│ USER / GOAL │
├──────────────────────────────┤
│ AGENT LOGIC │
├──────────────────────────────┤
│ AI MODEL / LLM │
├──────────────────────────────┤
│ TOOLS & FUNCTIONS │
├──────────────────────────────┤
│ MEMORY & STATE │
├──────────────────────────────┤
│ KNOWLEDGE / RAG │
├──────────────────────────────┤
│ APIs & DATABASES │
├──────────────────────────────┤
│ SECURITY / GUARDRAILS / LOGS │
└──────────────────────────────┘
Cada capa cumple una función específica.
Familiarizarse con estas capas hace que el diseño y la depuración de los agentes sean mucho más manejables.
El modelo mental para principiantes
Mientras comienzas a trabajar con agentes, ten presentes estas seis preguntas:
1. ¿Cuál es el objetivo?
¿Qué resultado debe entregar el sistema?
2. ¿Qué necesita entender el modelo?
¿Qué instrucciones y contexto requiere para realizar su tarea?
3. ¿Qué herramientas están disponibles?
¿A qué capacidades externas puede recurrir?
4. ¿Qué información necesita?
¿De dónde proviene realmente su conocimiento?
5. ¿Qué acciones puede tomar?
¿Qué es lo que realmente le está permitido hacer?
6. ¿Qué sucede si algo sale mal?
¿Cómo responde el sistema cuando algo falla?
Poder responder a estas seis preguntas significa que ya estás razonando como alguien que crea agentes.
Tu ejercicio práctico
Antes de continuar, intenta esbozar el diseño de un agente en papel.
Elige un escenario, por ejemplo:
Asistente de estudio con IA
Luego determina:
Objetivo:
Ayudar a los estudiantes a comprender sus materiales de estudio.
Modelo:
Un modelo de lenguaje.
Herramientas:
Un lector de documentos y una calculadora.
Conocimiento:
Los propios materiales del curso.
Memoria:
La sesión de estudio actual.
Acciones:
Generar explicaciones y crear preguntas de práctica.
Límites:
Nunca invente hechos cuando no se dispone del material relevante del curso.
Supervisión humana:
El estudiante revisa todo lo que genera el agente.
A este punto, ya ha esbozado una arquitectura funcional para el agente.
¿Qué hay en la Parte 3?
Con la arquitectura ya definida, el siguiente paso es convertirla en código funcional.
La Parte 3 tratará sobre cómo crear su primer agente de IA simple con Python.
Pasará de los diagramas y la teoría a la implementación real, y al final sabrá cómo poner en marcha un proyecto de agente, conectar Python con un modelo de lenguaje, definir un objetivo claro para el agente, crear una herramienta básica que pueda utilizar, permitirle invocar dicha herramienta, trabajar con lo que esta devuelva y, finalmente, generar una respuesta completa.
La primera versión se mantendrá deliberadamente mínima.
El objetivo en esta etapa es comprender cómo se integran las diferentes partes, no lanzar de inmediato un sistema de producción completamente desarrollado.
Pensamientos finales
Un agente de IA es más que un chatbot con una nueva etiqueta.
Es un sistema construido en torno a un objetivo, dotado de los medios para trabajar con información y actuar a través de herramientas.
En esencia, la arquitectura se reduce a:
Objetivo → Modelo → Decisión → Herramienta → Observación → Próxima acción → Resultado
Alrededor de este núcleo se añaden los siguientes elementos:
Memoria + Conocimiento + Seguridad + Límites + Supervisión humana
Cuando todos estos componentes funcionan en armonía, la IA agente deja de parecer algo mágico.
Se convierte en un desafío típico de ingeniería de software.
Y ese es precisamente el tipo de desafío para el que Python está muy bien preparado.
Ahora ya sabe qué son los agentes de IA y cómo operan.
El siguiente paso es crear uno por sí mismo.
Lecturas relacionadas
- Comprendiendo los agentes de IA: objetivos, herramientas, memoria y el bucle del agente — Una explicación adecuada para principiantes sobre cómo difieren los agentes de IA de los chatbots, que abarca sus componentes esenciales, el bucle de decisión, los niveles de autonomía y casos de uso en el mundo real.