BBDW 2026 · Autonomous Agents Workshop

Anatomia de um Agente de IA

Vamos construir um agente camada por camada — e testar cada peça ao vivo na interface. Ao final você entende, na prática, a diferença entre um chatbot e um agente que observa, raciocina, age e reporta.

🧠 Memória 📚 RAG 🔌 MCP / Ferramentas 🎯 Orquestrador
Ponto de partida

Isto não é um chatbot

  • 💬
    Chatbot: responde texto. Não lembra, não consulta suas fontes, não age em sistemas.
  • 🤖
    Agente: tem identidade e objetivo, memória, conhecimento fundamentado e ferramentas para agir no mundo real.
  • 🧩
    Um agente é a soma de componentes. Hoje vamos ligar e desligar cada um e ver o efeito.
LLM
o motor de raciocínio
📜
System Prompt
o trabalho do agente
🧠
Memória
lembra da conversa
📚
RAG
fundamento nos seus docs
🔌
MCP / Ferramentas
mãos para agir
Uma breve história

Como o modelo aprendeu a agir

O agente não surgiu do nada. Foi uma escada de avanços — cada degrau resolvendo uma limitação do anterior — até o modelo poder, enfim, pedir uma ação concreta ao mundo.

2013
🔤 Embeddings
word2vec: palavras viram vetores; a máquina começa a capturar significado.
2017
⚡ Transformer
"Attention is All You Need": a arquitetura que destravou a escala.
2020
🧠 GPT-3
Escala massiva + few-shot: um modelo generalista de linguagem.
2022
💬 ChatGPT
RLHF e adoção em massa — mas ainda só fala; não age.
jun 2023
🔧 Function calling
A OpenAI dá ao modelo uma forma estruturada de pedir ações. O elo que faltava.
🧭
O ponto de virada
Até 2022, um LLM era um gerador de texto brilhante e isolado. O function calling (2023) transformou "responder" em "agir" — e abriu caminho para tudo o que vem a seguir neste deck.
O elo que faltava · jun 2023

Function calling: o modelo pede uma ação

O modelo não executa nada. Você descreve as funções disponíveis (nome, descrição e o schema dos argumentos). Diante de um pedido, em vez de responder em prosa, o modelo emite um JSON estruturado dizendo qual função chamar e com quais argumentos.

  • 1️⃣
    Você declara as funções — o "cardápio" de ações.
  • 2️⃣
    O modelo escolhe uma e devolve os argumentos em JSON.
  • 3️⃣
    Seu código executa e devolve o resultado — o modelo continua.

🔧 Como o modelo responde

usuário:
"qual o clima em São Paulo?"

modelo — em vez de texto:
{
  "function": "get_weather",
  "arguments": { "city": "São Paulo" }
}
🔌
É a base do que vem a seguir
"Ferramentas", "tools", "agentes"… tudo nasce daqui. Em 2024 o MCP padronizou esse mesmo mecanismo entre servidores — é o que você constrói no Exercício 2. Guarde a ideia: o modelo decide, o seu código age.
Visão geral

O agente por inteiro

💬 Usuário pergunta / chat 📜 System Prompt 🧠 Memória Redis 📚 RAG busca vetorial 🤖 Agente núcleo · LLM 🔌 MCP ferramentas OpenShift o cluster real
requisição system prompt memória RAG MCP ação no cluster · resposta
Camada 1 · O núcleo

Só o LLM: texto entra, texto sai

Sozinho, o modelo é brilhante mas sem estado: não lembra a mensagem anterior, não conhece o seu cluster, não faz nada além de gerar texto. É o ponto de partida de todo agente.

🧪
Teste na interface
Deixe Memória, RAG e MCP desligados. Escolha um modelo no seletor e converse. Pergunte algo, depois pergunte "o que eu acabei de dizer?" — ele não sabe.
LLM
gera texto a partir de texto
📜
System Prompt
🧠
Memória
📚
RAG
🔌
MCP / Ferramentas
Camada 2 · Identidade

System Prompt: dê um trabalho ao agente

O system prompt define papel, tom, regras e limites. É a diferença entre "um assistente genérico" e "o agente de operações do seu namespace, que só fala do que sabe e sempre confere antes de agir".

🧪
Teste na interface
Na caixa System Prompt, escreva uma personalidade e um papel (ex.: "Você é o SRE do cluster; responda curto e sempre em português"). Salve e veja o agente mudar de comportamento.
LLM
motor
📜
System Prompt
papel, tom, regras
🧠
Memória
📚
RAG
🔌
MCP / Ferramentas
Camada 3 · Contexto

Memória: ele lembra da conversa

Com memória, o agente mantém o histórico da sessão — e no nosso caso persiste em Redis, sobrevivendo a recargas. É o que permite um diálogo de verdade, com continuidade.

🧪
Teste na interface
Ligue Memória. Diga seu nome, converse mais um pouco e pergunte "qual é o meu nome?". Depois use Compactar Memória e veja o histórico ser resumido.
LLM
motor
📜
System Prompt
papel
🧠
Memória
histórico em Redis
📚
RAG
🔌
MCP / Ferramentas
Camada 4 · Conhecimento

RAG: fundamentado nos seus documentos

RAG (Retrieval-Augmented Generation) busca trechos relevantes dos seus documentos e injeta no contexto antes do modelo responder. Resultado: respostas ancoradas na sua realidade — menos alucinação.

🧪
Teste na interface
Escreva um documento com fatos que o modelo não sabe (o nome do seu pet, um código secreto do seu time), suba em Upload Documento e clique Re-indexar. Ligue RAG e pergunte: agora ele responde pelo seu documento e cita a fonte com 📚.
LLM
motor
📜
System Prompt
papel
🧠
Memória
histórico
📚
RAG
busca vetorial nos seus docs
🔌
MCP / Ferramentas
Camada 5 · Ação

MCP: o agente ganha mãos

Até aqui o agente só fala. Com MCP (Model Context Protocol) ele ganha ferramentas para agir: listar pods, ler logs, consultar o cluster — de forma determinística e governável. Aqui o chatbot vira agente de verdade.

🧪
Teste na interface
Ligue MCP Tools e peça "liste os pods do meu namespace" ou "há algo com erro?". Observe as chamadas de ferramenta aparecendo ao vivo, com argumentos e resultado.
LLM
motor
📜
System Prompt
papel
🧠
Memória
histórico
📚
RAG
conhecimento
🔌
MCP / Ferramentas
age no cluster
Camada 6 · Autonomia

Orquestrador: o agente decide sozinho

Em vez de você ligar cada peça, o orquestrador decide automaticamente qual modelo, quando usar MCP e quando buscar no RAG para cada pergunta. É o primeiro passo rumo à autonomia da Fase 2.

🧪
Teste na interface
Ligue Orquestrador. Repare que os controles de modelo/MCP/RAG passam a ser gerenciados por ele. Faça perguntas diferentes e veja o agente escolher a estratégia sozinho.
🎯
Orquestrador
escolhe modelo · MCP · RAG
LLM
motor
🧠
Memória
histórico
📚
RAG
conhecimento
🔌
MCP / Ferramentas
ação
Juntando tudo

O loop do agente

Com todas as camadas ligadas, o agente deixa de "responder" e passa a operar. Este é o ciclo que se repete a cada tarefa:

01 · OBSERVA
👁️ Observa
Lê a mensagem, a memória e o estado do sistema.
02 · RACIOCINA
🧠 Raciocina
Decide o que fazer: buscar no RAG? chamar uma ferramenta?
03 · AGE
🔌 Age
Executa ferramentas via MCP, de forma determinística.
04 · REPORTA
📣 Reporta
Responde e registra o que fez — rastreável de ponta a ponta.
Zoom out

O que é um harness

O modelo, sozinho, só prevê o próximo token. O harness é o arcabouço em volta dele que o transforma em agente: monta o prompt, expõe as ferramentas (via function calling), roda o loop observa→raciocina→age→reporta, cuida da memória e impõe limites.

  • 🧠
    Modelo = o motor. Raciocínio bruto, sem estado.
  • 🔧
    Harness = o chassi. Prompt, ferramentas, loop, memória, guarda-corpos.
🏗️
Você já viu um harness
Tudo neste deck — os componentes e o loop — é o harness. O Forge, o seu agente do workshop e ferramentas como o Claude Code são harnesses em volta de um modelo. Troque o modelo por dentro; o harness continua o mesmo.
Não há um só jeito

Tipos de agente: muitos harnesses

Um harness pode ser uma biblioteca que você embute, um runtime pronto ou um CLI. Alguns exemplos do ecossistema:

🏗️ Quarkus + LangChain4j

O nosso. Java na JVM, agentes empresariais sobre OpenShift — é o harness que roda neste workshop.

🐾 OpenClaw

Node.js/TypeScript, roda local na sua máquina. Assistente pessoal que controla o computador e integra WhatsApp, Telegram e Slack. "The AI that really does things."

⚡ Hermes

Framework open-source (MIT) da Nous Research. Runtime multi-plataforma que executa tarefas por mensageria, e-mail e CLI, com memória e sandbox.

🧰 E muitos outros

LangGraph (Python), CrewAI e AutoGen (multi-agente), LlamaIndex (RAG), OpenHands (código)… o mesmo conceito, sabores diferentes.

Exercício 1 · Mão na massa

Seu agente, seus toggles

1️⃣ Abra seu agente

Cada participante recebe um agente já deployado no OpenShift. Abra a URL do seu Mission Control.

2️⃣ Suba as camadas

Comece com tudo desligado. Ligue, uma a uma: System Prompt → Memória → RAG → MCP. Sinta a diferença a cada passo.

3️⃣ Toque no cluster

Com MCP ligado, peça ao agente para inspecionar seu namespace. Ele age no OpenShift de verdade.

4️⃣ Deixe-o decidir

Ligue o Orquestrador e observe o agente escolher modelo, RAG e ferramentas sozinho.

🎯
Objetivo
Ao final você deve conseguir explicar, com suas palavras, o que cada componente adiciona — e ter feito o agente executar uma ação real no cluster.
O caminho do workshop

De interativo a autônomo

🕹️ Fase 1 — Interativo

Você conversa com o agente, liga componentes, opera o cluster por chat e resolve incidentes injetados. É onde estamos hoje.

⚡ Fase 2 — Autônomo

O mesmo agente escuta eventos no Kafka (AMQ Streams) e resolve os incidentes sozinho, sem humano no meio.

🛡️ Governança

AI Gateway conta tokens e filtra conteúdo; MCP Gateway permite ou bloqueia ferramentas por política.

🏭 Plataforma

Vários agentes especializados colaboram por eventos — uma equipe de operações autônoma sobre Red Hat OpenShift.

Bora construir

Comece pelo seu agente

Ligue uma camada de cada vez. Quando o MCP acender e o agente mexer no cluster pela primeira vez, você vai entender por que dizemos: isto não é um chatbot.

Autonomous Agents Workshop · BBDW 2026 Red Hat OpenShift · AMQ Streams · MCP