PTENES
Saltar al contenido
MÓDULO 4.1

🤖 Orquestador de agentes: tu técnico de TI

En el video, la idea más «mágica» es un único agente: un "Chico de IT" digital — con quien hablas en portugués y que conecta modelos, distribuye tareas entre máquinas y arma las piezas por su cuenta. Este módulo traduce esa fantasía a herramientas reales: qué es un agente, cómo decide y cómo conectarlo de forma segura a tu lab local.

6
Temas
~40
Minutos
Avanzado
Nivel
Práctico
Tipo

Contenido detallado

1

🧠 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.
Tú hablas
en portugués
Él planifica
paso a paso
Usa herramientas
de tu lab
Entrega
el resultado
2

🔁 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).
repite el ciclo hasta cumplir el objetivo Piensa decide el siguiente paso Usa una herramienta comando · archivo · API Observa lee el resultado Entrega cuando resuelve

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.

1

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".

2

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.

3

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.

LLM
el cerebro
Herramientas
los brazos
Bucle
las ganas
Límite
freno de mano
3

🧰 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".

# El agente se comunica con tu Ollama como si fuera OpenAI
export OPENAI_BASE_URL="http://localhost:11434/v1"
export OPENAI_API_KEY="ollama" # cualquier string; se ignora localmente
export OPENAI_MODEL="qwen2.5:7b"

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.

Agente de CLI
inicio rápido
Framework
multiagente
API OpenAI
pegamento común
Abierto
sin magia
4

🛰️ 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».

1

Clasifica la tarea

¿Es pesada (modelo grande, razonamiento) o ligera (resumen, clasificación)? Eso define el destino.

2

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.

3

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.

# 100.x.y.z = IP de Tailscale de la máquina "modelo grande"
curl http://100.x.y.z:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen2.5:32b","messages":[{"role":"user","content":"diga oi"}]}'

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.

Tailscale
la red
API :11434
la puerta
Tarea pesada
→ Mac grande
Tarea rápida
→ GPU
5

🛡️ 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.

Alcance
carpeta única
Sandbox
aislado
Confirmar
lo destructivo
Reversible
git de red
6

⌨️ 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)

# Pega esto como instrucción del agente / system prompt
Eres un archivista. Para cada nota recibida:
1) resume en un máximo de 3 viñetas objetivas, en PT-BR;
2) NO inventes nada que no esté en el texto;
3) empieza con el título del archivo en negrita.

El ciclo (copia en la terminal — Linux/mac)

> resumo.md # vacía el archivo de salida
for f in ~/notas/*.md; do
  echo "## $(basename "$f")" >> resumo.md
  ollama run qwen2.5:7b \
    "Resume la siguiente nota en 3 viñetas concretas, en PT-BR, sin inventar nada:\n\n$(cat "$f")" \
    >> resumo.md
  echo "" >> resumo.md
done

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?

Instrucción
el objetivo
Bucle
por archivo
Modelo local
hace el trabajo
Salida
resumo.md

📌 Resumen del módulo

✓
El «IT guy» es un orquestador — recibe la solicitud en portugués y coordina las piezas de tu lab.
✓
Agente = LLM + herramientas + loop — el ciclo ReAct: piensa, actúa, observa, repite.
✓
Herramientas reales, sin magia — agentes de código y frameworks abiertos dirigidos al endpoint local (3.5).
✓
Enruta mediante Tailscale (2.4) y dale potencia con seguridad — alcance, sandbox y confirmación para lo destructivo.

Siguiente módulo:

4.2 — El paradigma siempre activo: agentes 24/7