Pular para o conteúdo
MÓDULO 4.1

🤖 Orquestrador de agentes: seu IT guy

No vídeo, a ideia mais "mágica" é um único agente — um "IT guy" digital — com quem você fala em português e que liga modelos, distribui tarefas entre máquinas e monta as peças sozinho. Este módulo traduz essa fantasia para ferramentas reais: o que é um agente, como ele decide, e como conectá-lo ao seu lab local com segurança.

6
Tópicos
~40
Minutos
Avançado
Nível
Prático
Tipo

Conteúdo detalhado

1

🧠 Um agente que comanda tudo

A cena do vídeo é sedutora: você manda uma mensagem — "monte um resumo das minhas notas de hoje" — e um único assistente, apelidado de "IT guy", se vira. Ele liga o modelo certo, busca os arquivos, manda partes para outra máquina e devolve o resultado pronto. Não há mágica nisso. Há um orquestrador: um agente que recebe o objetivo em linguagem natural e coordena as peças que você já montou nas trilhas anteriores.

🆕 Novo aqui?

"Orquestrador" é o agente-maestro: ele não toca cada instrumento, ele decide quem toca o quê e quando. Em vez de você abrir o terminal, escolher o modelo, copiar arquivos e juntar tudo na mão, o orquestrador transforma um pedido em uma sequência de passos e executa cada um chamando as ferramentas certas.

🔑 A ideia central

O "IT guy" do vídeo é a soma de três coisas que você já tem ou vai ter:

  • Um cérebro: seu LLM local servido via API (módulo 3.5).
  • Braços: ferramentas — rodar comandos, ler/escrever arquivos, chamar APIs.
  • Um loop: a lógica que decide o próximo passo até o objetivo ser cumprido.

📊 O que observar

  • O orquestrador não precisa ser "inteligente como o topo da nuvem" — precisa ser confiável em seguir passos.
  • Tudo que ele faz, você poderia fazer na mão. Ele só automatiza a sequência.
  • Quanto mais claro o objetivo e mais restritas as ferramentas, melhor o agente se comporta.
Você fala
em português
Ele planeja
em passos
Usa ferramentas
do seu lab
Entrega
o resultado
2

🔁 O que é um agente, de verdade

Tira-se o mistério com uma fórmula curta: agente = LLM + ferramentas + loop. O LLM sozinho só gera texto. Vira agente quando você o coloca dentro de um laço que lê o que ele pediu, executa de verdade, e devolve o resultado para ele decidir o próximo passo.

🆕 Novo aqui? — quatro palavras

  • Agente: um LLM com permissão para agir (não só responder), dentro de um loop.
  • Ferramenta / tool-calling: uma ação que o modelo pode pedir para executar (rodar um comando, ler um arquivo, chamar uma API). O programa executa e devolve o resultado ao modelo.
  • Loop ReAct: o padrão Reason + Act — o agente raciocina o próximo passo, age (usa uma ferramenta), observa o resultado e repete.
  • Orquestrador: um agente cujo trabalho é coordenar outras peças (modelos, máquinas, ferramentas).
repete o ciclo até cumprir o objetivo Pensa decide o próximo passo Usa ferramenta comando · arquivo · API Observa lê o resultado Entrega quando resolve

O coração de qualquer agente é esse loop ReAct: Pensa → Usa ferramenta → Observa e volta. Ele só sai do laço (em ciano) quando decide que o objetivo foi cumprido — aí entrega a resposta.

1

Pensa (raciocina)

O LLM olha o objetivo e o que já sabe, e escreve qual é o próximo passo — ex.: "preciso listar os arquivos da pasta de notas".

2

Usa a ferramenta (age)

O programa executa de verdade o que o modelo pediu — roda ls, lê um arquivo, chama a API. O modelo não toca no sistema; ele pede, o runtime faz.

3

Observa e repete

O resultado volta para o modelo, que decide: terminou? Então entrega. Não terminou? Pensa o próximo passo. O laço continua até o objetivo ou um limite de passos.

LLM
o cérebro
Ferramentas
os braços
Loop
a vontade
Limite
freio de mão
3

🧰 Ferramentas reais de orquestração

Hora da honestidade. As legendas do vídeo embaralharam nomes e deram um ar de "produto secreto" para algo que é, na real, software aberto e disponível. Você não precisa de um "Hermes" mágico: precisa de um agente de código ou um framework de agentes apontado para o seu endpoint local (módulo 3.5). É a mesma coisa, sem o marketing.

✗ O que o vídeo dava a entender

  • Um assistente único e proprietário que "faz tudo sozinho"
  • Nomes confusos (legendas erradas) que parecem ferramentas secretas
  • Mágica indecifrável que você não conseguiria montar

✓ Como é de verdade

  • Agentes de código / CLI (ex.: Claude Code, Aider, OpenHands) e frameworks (LangGraph, CrewAI, n8n)
  • Todos falam HTTP — você aponta para http://localhost:11434/v1
  • É código aberto: dá para ler, rodar e ajustar você mesmo

⌨️ O que "apontar para o local" significa

Objetivo: mostrar que conectar um framework de agente ao seu modelo local é só trocar 2 linhas. Qualquer ferramenta que aceita "API estilo OpenAI" serve.

# O agente fala com seu Ollama como se fosse a OpenAI
export OPENAI_BASE_URL="http://localhost:11434/v1"
export OPENAI_API_KEY="ollama" # qualquer string; é ignorada localmente
export OPENAI_MODEL="qwen2.5:7b"

Como verificar: rode echo $OPENAI_BASE_URL e confira que aponta para localhost:11434. Daí o framework de agente usa essas variáveis e nenhuma chamada sai da sua máquina.

💡 Dica prática

Comece pelo mais simples que resolve: um agente de código de CLI já lê arquivos, roda comandos e edita pastas — ele é um orquestrador útil no primeiro dia. Frameworks como LangGraph/CrewAI valem quando você precisa de vários agentes coordenados (tema dos módulos 4.2 em diante). Não suba de complexidade antes da hora.

Agente de CLI
começo rápido
Framework
multi-agente
API OpenAI
cola comum
Aberto
sem mágica
4

🛰️ Roteando tarefas entre máquinas

A parte "ele distribui entre máquinas" do vídeo é onde duas peças anteriores se encaixam: Tailscale (módulo 2.4) liga seus computadores numa rede privada, e a API local (módulo 3.5) é a porta de cada modelo. O orquestrador só precisa saber qual máquina chamar para cada tarefa.

🆕 Relembrando (das trilhas 2 e 3)

Tailscale dá a cada dispositivo um IP fixo na sua rede privada (algo como 100.x.y.z), acessível de qualquer lugar sem abrir portas. A API local escuta na porta 11434. Juntando: http://100.x.y.z:11434/v1 é "o modelo daquela máquina, de onde você estiver".

1

Classifique a tarefa

É pesada (modelo grande, raciocínio) ou leve (resumo, classificação)? Isso decide o destino.

2

Escolha a máquina

Modelo enorme → o Mac de memória unificada alta. Resposta rápida → a máquina com GPU dedicada. Cada uma tem seu IP na tailnet.

3

Chame e colete

O orquestrador faz a requisição ao IP certo e junta os resultados. Para quem usa, parece um agente só — por baixo, são várias máquinas.

⌨️ Mandando tarefa para outra máquina

Objetivo: rodar um prompt no modelo grande que vive em outro computador da sua tailnet, sem sair de onde você está.

# 100.x.y.z = IP Tailscale da 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"}]}'

Como verificar: se voltar um JSON com a resposta, a rota máquina→máquina funciona. Antes, confirme com tailscale status que o outro device aparece online e que ele serve com OLLAMA_HOST=0.0.0.0.

Tailscale
a rede
API :11434
a porta
Tarefa pesada
→ Mac grande
Tarefa rápida
→ GPU
5

🛡️ Dando ferramentas com segurança

Um agente com poder de rodar comandos é útil — e perigoso. Ele pode interpretar errado um pedido e apagar a pasta certa pelo motivo errado. A regra de ouro: dê o mínimo de poder que resolve a tarefa, e exija confirmação para o que não tem volta.

✓ Dar ferramentas com segurança

  • Escopo: limite a uma pasta/projeto específico, não ao sistema todo
  • Sandbox: rode num container/usuário sem privilégios, isolado
  • Confirmar destrutivo: apagar, sobrescrever, enviar — só com seu "sim"
  • Só-leitura por padrão: comece observando antes de deixar escrever

✗ Armadilhas a evitar

  • Dar acesso total à máquina "para facilitar"
  • Auto-aprovar tudo, inclusive rm -rf e git push
  • Rodar como administrador/root sem necessidade
  • Deixar o agente acessar a internet quando a tarefa é só local

🔓 Por que escopo importa tanto

O modelo não tem "intenção": ele prevê o próximo passo a partir do texto. Se o pedido for ambíguo, ele vai chutar — e um chute com poder de root vira estrago. Restringir o escopo não é desconfiança do modelo; é transformar erros possíveis em erros pequenos e reversíveis.

💡 Dica prática

Crie uma pasta de trabalho dedicada (ex.: ~/agente-sandbox) e dê ao agente acesso só a ela. Versione com git: assim, qualquer besteira é desfeita com um git checkout .. Confirmação manual nas ações destrutivas custa 2 segundos e evita o dia ruim.

Escopo
pasta única
Sandbox
isolado
Confirmar
o destrutivo
Reversível
git de rede
6

⌨️ Seu primeiro agente útil

Nada de teoria solta: vamos montar o agente mais simples que já entrega valor — um que resume uma pasta de notas. É o loop ReAct em sua forma mínima: para cada arquivo, pensa ("resumir esta nota"), age (chama o modelo local), observa (guarda o resumo) e repete.

⌨️ Exemplo prático: agente que resume sua pasta de notas

Objetivo: gerar um resumo.md com 3 bullets por nota, usando só o seu modelo local. Pré-requisito: Ollama servindo (módulo 3.1/3.5) e uma pasta ~/notas com arquivos .md ou .txt.

A instrução (o prompt que o agente segue)

# Cole isto como a instrução do agente / system prompt
Você é um arquivista. Para cada nota recebida:
1) resuma em no máximo 3 bullets objetivos, em PT-BR;
2) NÃO invente nada que não esteja no texto;
3) comece com o título do arquivo em negrito.

O loop (cole no terminal — Linux/mac)

> resumo.md # zera o arquivo de saída
for f in ~/notas/*.md; do
  echo "## $(basename "$f")" >> resumo.md
  ollama run qwen2.5:7b \
    "Resuma a nota a seguir em 3 bullets objetivos, em PT-BR, sem inventar nada:\n\n$(cat "$f")" \
    >> resumo.md
  echo "" >> resumo.md
done

Como verificar: abra resumo.md — deve haver uma seção por nota, cada uma com até 3 bullets. Se algum resumo "inventar" algo, reforce a regra "sem inventar nada" na instrução. Para organizar arquivos em vez de resumir, troque o pedido por "sugira uma pasta de destino para esta nota pelo assunto" e revise antes de mover.

Auto-checagem (opcional): o que, de fato, transforma um LLM comum em um agente?

Instrução
o objetivo
Loop
por arquivo
Modelo local
faz o trabalho
Saída
resumo.md

📌 Resumo do módulo

O "IT guy" é um orquestrador — recebe o pedido em português e coordena as peças do seu lab.
Agente = LLM + ferramentas + loop — o ciclo ReAct: pensa, age, observa, repete.
Ferramentas reais, sem mágica — agentes de código e frameworks abertos apontados para o endpoint local (3.5).
Roteie por Tailscale (2.4) e dê poder com segurança — escopo, sandbox e confirmação no que é destrutivo.

Próximo módulo:

4.2 — O paradigma sempre-on: agentes 24/7