Cómo aprender agentes de IA desde cero
Aprenda agentes de IA en seis etapas: conceptos, un bucle propio, herramientas, memoria, diseño y seguridad, con un proyecto práctico en cada etapa.
El recorrido en seis etapas
Para aprender sobre agentes de IA desde cero, siga seis etapas en orden: los conceptos, su primer bucle, las herramientas, la memoria, el diseño del bucle y la seguridad. En cada etapa construirá una cosa con sus propias manos. Saltarse etapas es la razón más habitual por la que las personas se bloquean, porque un framework oculta exactamente la parte que necesitaba ver.
Un agente de IA es un bucle alrededor de un modelo de lenguaje al que se permite llamar a herramientas. Esa frase contiene todo el tema. Todo lo demás son detalles sobre lo que entra en el bucle, lo que pueden tocar las herramientas y cómo detener el bucle cuando algo falla. Si puede explicar el bucle a otra persona, ha aprendido lo esencial. Si sólo puede nombrar frameworks, todavía no lo ha aprendido.
El plan siguiente presupone que aprende construyendo. Lea una etapa, construya el elemento pequeño, provoque un fallo de forma intencionada y continúe después. Una etapa que sólo ha leído es una etapa que todavía no ha realizado.
Qué necesita realmente antes de la etapa 1
La lista de requisitos previos es breve, y más breve de lo que sugieren la mayoría de las páginas de cursos.
- Puede leer y escribir Python o TypeScript al nivel necesario para un script de cincuenta líneas.
- Se desenvuelve con soltura en una shell de Linux: instalar un paquete, editar un archivo y leer un registro.
- Tiene una clave de API para un modelo alojado o una máquina que pueda ejecutar uno localmente.
Esa es toda la lista. No necesita teoría de aprendizaje automático ni haber entrenado un modelo. El trabajo con agentes no implica gradientes ni datos de entrenamiento. Una tarjeta gráfica sólo es necesaria si decide ejecutar el modelo por su cuenta. Es una habilidad independiente que puede aprender más adelante con alojar Ollama en un VPS para autoalojar un LLM.
Lo que suele subestimarse es la parte relacionada con la shell. Los agentes fallan por permisos, rutas, variables de entorno y procesos que terminan silenciosamente. Si un stack trace sobre PATH o sobre el modo de un archivo hace que cierre el terminal, dedique primero un fin de semana a los conceptos básicos de Linux. Se ahorrará un mes más adelante.
Etapa 1: qué es un agente y qué no es
Empiece con una llamada a la API y sin ningún bucle. Envíe un prompt, muestre la respuesta y revise los recuentos de tokens de la respuesta. Ya entiende la unidad de coste y la unidad de latencia.
Después, aprenda a usar herramientas. Es la única idea realmente nueva de todo el campo. Describa una función para el modelo mediante un nombre, una descripción y un esquema JSON (JavaScript object notation) para sus entradas. El modelo no ejecuta nada. Responde con una solicitud estructurada: llame a run_command con estos argumentos. Su código ejecuta la función, envía el resultado como un mensaje y vuelve a preguntar al modelo. El modelo es un planificador que lee texto y escribe texto. Su código es lo que tiene capacidad de actuar. El código de su lado del intercambio recibe un nombre cuando empieza a comparar diseños: es el arnés del agente, el bucle, las herramientas y los permisos que rodean a un modelo que no tiene ninguno propio.
Un chatbot termina después de una respuesta. Un agente repite ese intercambio hasta que el modelo deja de solicitar herramientas. Esa repetición es toda la diferencia y también explica por qué los modos de fallo son distintos. Un chatbot da una respuesta incorrecta una vez. Un agente actúa varias veces basándose en una respuesta incorrecta antes de que alguien lo detecte.
Etapa 2: escriba el bucle usted mismo, una vez
No empiece con un framework. Escriba unas treinta líneas de Python para que la estructura del programa sea suya.
sudo apt update && sudo apt install -y python3-venv
python3 -m venv ~/agent
source ~/agent/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=your-key-hereimport subprocess
import anthropic
client = anthropic.Anthropic()
tools = [{
"name": "run_command",
"description": "Run a read only shell command and return its output.",
"input_schema": {
"type": "object",
"properties": {"command": {"type": "string"}},
"required": ["command"],
},
}]
messages = [{"role": "user", "content": "How much disk space is free here?"}]
while True:
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
tools=tools,
messages=messages,
)
if response.stop_reason != "tool_use":
break
messages.append({"role": "assistant", "content": response.content})
results = []
for block in response.content:
if block.type == "tool_use":
done = subprocess.run(
block.input["command"], shell=True,
capture_output=True, text=True, timeout=10,
)
results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": done.stdout or done.stderr,
})
messages.append({"role": "user", "content": results})
print(next(b.text for b in response.content if b.type == "text"))Ejecútelo con python3 agent.py. Una ejecución correcta imprime un párrafo con los nombres de sus sistemas de archivos y el espacio libre, porque el modelo solicitó df -h, su código lo ejecutó y la segunda pasada convirtió esa tabla en una frase. Si no imprime nada, el bucle terminó antes de recibir un bloque de texto. Añada print(response.stop_reason) dentro del bucle y observe cómo cambian los valores.
Ahora provoque un fallo deliberadamente. Elimine la línea tool_use_id y lea el error, porque la API rechaza un resultado de herramienta que no tiene un id coincidente. Este es el error más habitual entre principiantes. Haga una pregunta que requiera dos comandos y observe cómo el bucle se ejecuta dos veces. Haga una pregunta imposible y observe si el programa se rinde o queda en un bucle infinito.
Hay una advertencia sobre este ejemplo. Pasa directamente la salida del modelo a un shell mediante shell=True. Esto es aceptable en una máquina de pruebas que pueda reconstruir, pero es incorrecto en cualquier otro entorno. La etapa 6 corrige este problema. Los conceptos que sustentan el bucle se explican con más detalle en cómo crear su propio agente de IA en un VPS.
Fase 3: herramientas que el agente todavía no tenía
Tu herramienta run_command funciona, pero un agente real necesita herramientas que accedan a recursos externos: un sistema de tickets, una base de datos o un repositorio. Escribir un wrapper específico para cada servicio y para cada agente no escala.
El Model Context Protocol (MCP) es la solución que ha adoptado la industria. Un servidor MCP expone un conjunto de herramientas mediante un transporte estándar, y cualquier agente compatible con MCP puede usarlas sin código de integración personalizado. El servidor de sistema de archivos de referencia se ejecuta con un solo comando:
npx -y @modelcontextprotocol/server-filesystem /home/you/projectsNecesita tener Node instalado, y el argumento de directorio es la única ruta que el servidor tocará. Este es el modelo de seguridad en su forma más simple: el servidor decide el límite, no el modelo. Apunta un cliente al servidor y tu agente obtiene funciones de lectura y escritura de archivos que no has tenido que programar. La ejecución correcta de estos servidores, con una cuenta de servicio y con una explicación de las opciones de transporte, se trata en ejecutar servidores MCP en un VPS para agentes de programación con IA. Para usar un segundo servidor que apunte a datos reales en lugar de a un directorio temporal, alojar openGym por cuenta propia, un registro de entrenamientos incluye uno de sólo lectura. Así puedes practicar cómo hacer preguntas sobre tu propio historial de entrenamiento sin dar al agente acceso a nada que pueda modificar.
La lección de esta fase es que el diseño de herramientas es el trabajo principal. Una descripción imprecisa hace que el modelo tenga que adivinar. Una herramienta que devuelve cuarenta mil caracteres contamina la ventana de contexto. Una herramienta que puede eliminar elementos acabará eliminándolos.
Etapa 4: memoria, que en su mayor parte son archivos
Los principiantes suelen recurrir aquí a una base de datos vectorial. No lo haga, al menos todavía.
Un agente no conserva memoria entre llamadas. Debe reenviar toda la conversación cada vez. Por eso una sesión larga cuesta más por turno que una corta. La memoria se divide en dos problemas. El primero es qué cabe ahora en la ventana de contexto. Puede gestionarlo mediante resúmenes, eliminando resultados antiguos de herramientas y almacenando en caché el prefijo estable de la solicitud para pagar una fracción de su precio. El segundo es qué sobrevive a un reinicio. Eso es almacenamiento.
Para el segundo problema, un archivo Markdown sencillo que el agente pueda leer y escribir es mejor que una base de datos vectorial para casi cualquier primer proyecto. Asígnele un archivo, indíquele el formato y dígale que lea ese archivo antes de empezar y lo actualice cuando aprenda algo. Obtendrá la mayor parte del beneficio y podrá abrir el archivo para ver qué cree el agente. Recurra a embeddings y a la recuperación cuando las notas dejen de caber en la ventana de contexto, y no antes.
Etapa 5: el bucle es el producto
A estas alturas puede crear un agente que funciona mientras lo supervisa. La etapa 5 consiste en conseguir que funcione sin supervisión.
Cuatro preguntas determinan si es seguro dejar un agente desatendido. Qué lo activa, para que no se ejecute sin una tarea. En qué límite opera, para que un error tenga un alcance reducido. Cómo se verifica el resultado, porque un agente que corrige sus propios ejercicios siempre aprueba. Qué presupuesto lo detiene, ya sea en tokens o en tiempo de ejecución. Diseñar estos cuatro aspectos de forma deliberada es la disciplina que se describe en la ingeniería de bucles y lo que abarca esa definición.
El ejercicio: tome el agente de la etapa 2, asígnele una tarea que requiera cuatro o cinco pasos y añada un límite estricto de iteraciones. Después quite el límite y observe cómo un bucle sin límite afecta a su consumo de tokens. Hágalo una vez con un presupuesto pequeño para no repetirlo por accidente con uno grande.
Etapa 6: seguridad, secretos y costes
Esta etapa no es opcional. Es la última sólo porque no se puede percibir el riesgo hasta haber construido algo que funcione.
Ejecute el agente con su propio usuario sin privilegios. Nunca lo ejecute como root ni con su propia cuenta. Así, el radio de impacto queda limitado a un directorio y no a toda la máquina. Mantenga las credenciales fuera del alcance del modelo. Todo lo que aparezca en la ventana de contexto puede devolverse mediante una llamada a una herramienta. La solución consiste en usar tokens de corta duración y alcance limitado detrás de un helper, como se describe en mantener los secretos fuera de los agentes de IA. Establezca un límite máximo estricto para el gasto. Un bucle desatendido factura cada iteración sin que nadie lo supervise. Los límites y el procesamiento por lotes que lo mantienen bajo control se explican en controlar los costes de un agente de IA en un VPS siempre activo.
Si el agente se ejecuta dentro de un harness en lugar de un script escrito por usted, parte de esta etapa se configura en vez de implementarse mediante código. Los plugins de DeepSeek Harness que conviene instalar cubren gran parte de lo mismo con límites de presupuesto, reglas de permisos para herramientas y análisis de inyecciones.
Los costes merecen una cifra concreta. En julio de 2026, Claude Opus 5 factura $5 por cada millón de tokens de entrada y $25 por cada millón de tokens de salida. Un agente conversacional que reenvía una conversación cada vez más grande puede procesar varios cientos de miles de tokens en una sola tarea. La caché de prompts y el uso de un modelo más pequeño para los pasos rutinarios cambian mucho más ese cálculo que cualquier ajuste del prompt.
La inyección de prompts también corresponde a esta etapa. Si el agente lee una página web, un sistema de seguimiento de incidencias o un buzón de correo, quien haya escrito ese texto también está escribiendo instrucciones para el agente. La búsqueda web suele ser la herramienta que abre primero esta vía. Dirigir un agente a su propia instancia de SearXNG muestra conjuntamente la configuración y la superficie de inyección que crea. La defensa no consiste en redactar un prompt de sistema más ingenioso. Consiste en establecer límites. Un agente que no puede eliminar un repositorio no puede ser manipulado para que lo elimine.
¿Qué ruta debes seguir?
Elige un solo plan de formación y termínalo en lugar de probar seis. El repositorio de Microsoft ai-agents-for-beginners es el recurso gratuito más completo: un curso de dieciocho lecciones que había superado las 70,000 estrellas en julio de 2026 y que encaja claramente con las etapas anteriores. Las recopilaciones de repositorios de agentes populares sirven para ver qué existe, pero son mucho menos útiles como programa de estudio, porque una lista ordenada por estrellas está ordenada por popularidad y no por orden didáctico.
Cuando quieras un proyecto real para practicar, un agente de programación es el mejor objetivo inicial: la respuesta es inmediata, las herramientas son claras y los errores se pueden deshacer fácilmente. Ejecutar un agente de IA para programación en un VPS explica todo el proceso de principio a fin. Si prefieres estudiar sistemas funcionales en lugar de crearlos desde cero, la comparación de los mejores agentes de IA autoalojados muestra cómo varios proyectos resuelven el mismo ciclo de formas diferentes.
¿Cuánto tiempo requiere?
Para alguien que ya programa, las etapas 1 y 2 requieren una tarde o una noche. La etapa 3 ocupa un fin de semana, dedicado en su mayor parte a describir herramientas y no al protocolo. Las etapas 4 y 5 requieren varias semanas de uso real, porque sólo se aprende qué olvida el agente observando cómo lo olvida. La etapa 6 nunca termina del todo: cada capacidad nueva que se le concede vuelve a abrirla.
Dos meses de trabajo constante durante las tardes o las noches bastan para que la mayoría consiga un agente funcional, acotado y útil. Quienes tardan un año suelen ser quienes siguieron leyendo en lugar de construir.
FAQ
¿Necesito saber machine learning para crear un agente de IA?
No. Crear un agente consiste en llamar a un modelo mediante una API y conectar sus solicitudes de herramientas con funciones reales. Es programación de aplicaciones convencional. Nunca se trabaja con entrenamiento, gradientes ni conjuntos de datos. Las habilidades que determinan si el agente funciona son el diseño de esquemas para las herramientas, el manejo de errores y los permisos de Linux. La teoría de machine learning sólo resulta relevante si después quiere ajustar un modelo, lo que constituye otra tarea con requisitos diferentes.
¿Debería empezar con un framework como LangChain o CrewAI?
Escriba primero un bucle sin framework y adopte después uno. Un framework sustituye las treinta líneas de la etapa 2 por un objeto de configuración. Esto resulta práctico cuando ya sabe qué sustituye, pero puede confundir antes de ese momento. Cuando el agente se comporta de forma incorrecta, debe analizar directamente la lista de mensajes y los resultados de las herramientas. Esto es mucho más difícil si nunca los ha visto. Después de escribir un bucle propio, un framework le ahorra tiempo en lugar de ocultar el mecanismo.
¿Cuánto cuesta aprender sobre agentes de IA?
Menos de lo que la mayoría espera, si establece límites. Una clave de API alojada y un VPS pequeño cubren todo lo necesario en estas seis etapas. El riesgo real no es la tarifa por hora. Es que un bucle sin límite facture cada iteración mientras duerme. Establezca un límite de gasto estricto en su cuenta de API desde el primer día, añada un límite de iteraciones a todos los bucles que escriba y use un modelo más barato para las tareas rutinarias. Ejecutar el modelo localmente elimina el coste de los tokens, pero lo sustituye por un requisito de hardware.
¿Cuál es la diferencia entre un agente de IA y un chatbot?
Un chatbot responde una vez. Un agente repite un ciclo: el modelo solicita una herramienta, su código la ejecuta, el resultado se devuelve y el modelo decide qué hacer a continuación. Esta repetición permite que un agente complete una tarea con varios pasos. También explica por qué los agentes necesitan límites que los chatbots no necesitan. Una respuesta incorrecta de un chatbot es un párrafo incorrecto. Una respuesta incorrecta de un agente es un párrafo incorrecto más todo lo que haya hecho al respecto.