Contenido detallado
🧠 Un agente que lo controla todo
La escena del video es seductora: envías un mensaje —«haz un resumen de mis notas de hoy»— y un único asistente, apodado «IT guy», arréglatelas. Activa el modelo adecuado, busca los archivos, envía partes a otra máquina y devuelve el resultado listo. No hay magia en esto. Hay un orquestador: un agente que recibe el objetivo en lenguaje natural y coordina las piezas que ya montaste en las trilhas anteriores.
🆕 ¿Eres nuevo por aquí?
"Orquestador" es el agente director: no toca cada instrumento, sino que decide quién hace qué y cuándo. En vez de que abras la terminal, elijas el modelo, copies archivos y lo juntes todo a mano, el orquestador convierte una solicitud en una secuencia de pasos y ejecuta cada uno con las herramientas adecuadas.
🔑 La idea central
El «IT guy» del video es la suma de tres cosas que ya tienes o tendrás:
- •Un cerebro: tu LLM local servido vía API (módulo 3.5).
- •Brazos: herramientas: ejecutar comandos, leer/escribir archivos, llamar APIs.
- •Un loop: la lógica que decide el siguiente paso hasta cumplir el objetivo.
📊 Qué observar
- El orquestador no necesita ser "tan inteligente como lo mejor de la nube": necesita ser confiable en seguir pasos.
- Todo lo que hace, podrías hacerlo a mano. Solo automatiza la secuencia.
- Cuanto más claro sea el objetivo y más restringidas las herramientas, mejor se comporta el agente.
🔁 Qué es un agente, de verdad
El misterio se aclara con una fórmula corta: agente = LLM + herramientas + bucle. El LLM por sí solo solo genera texto. Se convierte en agente cuando lo pones dentro de un bucle que lee lo que pidió, lo ejecuta de verdad y le devuelve el resultado para que decida el siguiente paso.
🆕 ¿Eres nuevo por aquí? — cuatro palabras
- Agente: un LLM con permiso para actuar (no solo responder), dentro de un loop.
- Herramienta / tool-calling: una acción que el modelo puede solicitar ejecutar (correr un comando, leer un archivo, llamar a una API). El programa la ejecuta y devuelve el resultado al modelo.
- Bucle ReAct: el valor predeterminado Reason + Act — el agente razona el siguiente paso, age (usa una herramienta), observa el resultado y repite.
- Orquestador: un agente cuyo trabajo es coordinar otras piezas (modelos, máquinas, herramientas).
El corazón de cualquier agente es esto bucle ReAct: Piensa → Usa una herramienta → Observa y vuelve. Solo sale del bucle (en cian) cuando decide que el objetivo se cumplió — entonces entrega la respuesta.
Piensa (razona)
El LLM revisa el objetivo y lo que ya sabe, y escribe cuál es el siguiente paso — ej.: "necesito listar los archivos de la carpeta de notas".
Usa la herramienta (actúa)
El programa ejecuta de verdad lo que pidió el modelo: ejecuta ls, lee un archivo, llama a la API. El modelo no toca el sistema; él pide, el runtime hace.
Observa y repite
El resultado vuelve al modelo, que decide: ¿terminó? Entonces lo entrega. ¿No terminó? Piensa en el siguiente paso. El ciclo continúa hasta alcanzar el objetivo o llegar a un límite de pasos.
🧰 Herramientas reales de orquestación
Es hora de ser honestos. Los subtítulos del video mezclaron nombres y dieron un aire de "producto secreto" a algo que, en realidad, software abierto y disponible. No necesitas un "Hermes" mágico: necesitas un agente de código o un framework de agentes apuntado a tu endpoint local (módulo 3.5). Es lo mismo, sin el marketing.
✗ Lo que el video daba a entender
- ✗Un asistente único y propietario que «lo hace todo por sí solo»
- ✗Nombres confusos (subtítulos incorrectos) que parecen herramientas secretas
- ✗Magia indescifrable que no podrías crear
✓ Cómo es en realidad
- ✓Agentes de código / CLI (p. ej., Claude Code, Aider, OpenHands) y frameworks (LangGraph, CrewAI, n8n)
- ✓Todos hablan HTTP: apuntas a http://localhost:11434/v1
- ✓Es de código abierto: puedes leerlo, ejecutarlo y ajustarlo tú mismo
⌨️ Qué significa "apuntar al entorno local"
Objetivo: mostrar que conectar un framework de agente a tu modelo local solo requiere cambiar 2 líneas. Sirve cualquier herramienta que acepte "API estilo OpenAI".
Cómo verificar: ejecuta echo $OPENAI_BASE_URL y comprueba que apunte a localhost:11434. A partir de ahí, el framework de agentes usa estas variables y ninguna llamada sale de tu máquina.
💡 Consejo práctico
Empieza por lo más simple que lo resuelva: un agente de código de CLI ya lee archivos, ejecuta comandos y edita carpetas: é un orquestador útil desde el primer día. Los frameworks como LangGraph/CrewAI valen la pena cuando necesitas varios agentes coordinados (tema de los módulos 4.2 en adelante). No aumentes la complejidad antes de tiempo.
🛰️ Enrutamiento de tareas entre máquinas
La parte del video en la que «distribuye entre máquinas» es donde encajan dos piezas anteriores: Tailscale (módulo 2.4) conecta tus computadoras en una red privada, y la API local (módulo 3.5) es la puerta de entrada a cada modelo. El orquestador solo necesita saber a qué máquina llamar para cada tarea.
🆕 Recordando (de las rutas 2 y 3)
Tailscale le da a cada dispositivo una IP fija en tu red privada (algo como 100.x.y.z), accesible desde cualquier lugar sin abrir puertos. La API local escucha en el puerto 11434. Al combinar: http://100.x.y.z:11434/v1 es «el modelo de esa máquina, estés donde estés».
Clasifica la tarea
¿Es pesada (modelo grande, razonamiento) o ligera (resumen, clasificación)? Eso define el destino.
Elige la máquina
Modelo enorme → la Mac con mucha memoria unificada. Respuesta rápida → el equipo con GPU dedicada. Cada uno tiene su IP en la tailnet.
Llama y recopila
El orquestador hace la solicitud a la IP correcta y reúne los resultados. Para quien lo usa, parece un solo agente; por debajo, son varias máquinas.
⌨️ Enviando una tarea a otra máquina
Objetivo: ejecutar un prompt en el modelo grande que vive en otro computadora de tu tailnet, desde donde estés.
Cómo verificar: si vuelve un JSON con la respuesta, la ruta máquina→máquina funciona. Antes, confirma con tailscale status que el otro dispositivo aparece en línea y que sirve como OLLAMA_HOST=0.0.0.0.
🛡️ Dar herramientas de forma segura
Un agente con capacidad para ejecutar comandos es útil y peligroso. Puede interpretar mal una solicitud y borrar la carpeta correcta por el motivo equivocado. La regla de oro: da el mínimo de permisos necesarios para resolver la tarea, y exige confirmación para lo irreversible.
✓ Dar herramientas de forma segura
- ✓Alcance: limitarlo a una carpeta/proyecto específico, no a todo el sistema
- ✓Sandbox: ejecuta en un contenedor/usuario sin privilegios, aislado
- ✓Confirmar acción destructiva: borrar, sobrescribir, enviar: solo con tu «sí»
- ✓Solo lectura de forma predeterminada: empieza observando antes de dejar que escriba
✗ Trampas que debes evitar
- ✗Dar acceso total a la máquina "para facilitar las cosas"
- ✗Aprobar automáticamente todo, incluso rm -rf e git push
- ✗Ejecutarlo como administrador/root sin necesidad
- ✗Permitir que el agente acceda a Internet cuando la tarea es solo local
🔓 Por qué importa tanto el alcance
El modelo no tiene "intención": predice el siguiente paso a partir del texto. Si la solicitud es ambigua, va a adivinar — y una suposición con permisos de root puede causar daños. Restringir el alcance no es desconfiar del modelo; es convertir los posibles errores en errores pequeños y reversibles.
💡 Consejo práctico
Crea una carpeta de trabajo dedicada (ej.: ~/agente-sandbox) y dale al agente acceso solo a ella. Versiona con git: así, cualquier tontería se deshace con un git checkout .. La confirmación manual en acciones destructivas toma 2 segundos y evita un mal día.
⌨️ Tu primer agente útil
Nada de teoría sin aplicar: vamos a crear el agente más sencillo que ya aporta valor: uno que resume una carpeta de notas. Es el loop ReAct en su forma mínima: para cada archivo, piensa ("resumir esta nota"), actúa (llama al modelo local), observa (guarda el resumen) y repite.
⌨️ Ejemplo práctico: agente que resume tu carpeta de notas
Objetivo: generar un resumo.md con 3 viñetas por nota, usando solo tu modelo local. Requisito previo: Ollama en ejecución (módulo 3.1/3.5) y una carpeta ~/notas con archivos .md o .txt.
La instrucción (el prompt que sigue el agente)
El ciclo (copia en la terminal — Linux/mac)
Cómo verificar: abre resumo.md — debe haber una sección por nota, cada una con hasta 3 viñetas. Si algún resumen "inventa" algo, refuerza la regla "no inventar nada" en la instrucción. Para organizar archivos en lugar de resumir, cambia la solicitud por "sugiere una carpeta de destino para esta nota según el tema" y revísala antes de moverla.
Autoevaluación (opcional): ¿qué convierte realmente un LLM común en un agente?
📌 Resumen del módulo
Siguiente módulo:
4.2 — El paradigma siempre activo: agentes 24/7