🧩 Exercícios: Agentes Autônomos e Sistemas Multiagentes
Extra Inteligencia Artificial • Trilha Progressiva em 4 Níveis
🧭 Navegação Pedagógica
-
📖 Teoria do Capítulo 💻 Exemplos 📊 Slides 🧠 Quiz
🎯 Nível 1: Fundamentos
Problema 08.1 — Ciclo de Raciocínio ReAct (Reason + Act)
Contexto: Ciclo de Raciocínio ReAct (Reason + Act) no contexto de Agentes Autônomos e Sistemas Multiagentes.
Requisitos de Execução:
- Modelar o loop ReAct básico iterando em etapas de Thought, Action e Observation até atingir o estado Final Answer.
Resultado Esperado
Passo 1: Thought: Consultar IP da máquina.
Passo 2: Action: get_ip() -> Observation: '192.168.1.5'
Passo 3: Final Answer: 'O IP é 192.168.1.5.'
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_13_1_SeuNome - Envie na tarefa:
Atividade Cap 13 - Agentes Autônomos e Sistemas Multiagentes
🔑 Gabarito de Código & Solução Comentada
# react_loop_engine.py
class ReActAgent:
def __init__(self):
self.historico = []
def passo(self, thought, action_func=None):
self.historico.append(f"Thought: {thought}")
if action_func:
obs = action_func()
self.historico.append(f"Observation: {obs}")
return obs
return None
def finalizar(self, resposta):
self.historico.append(f"Final Answer: {resposta}")
return self.historico
agente = ReActAgent()
agente.passo("Preciso consultar a cotação do euro.", lambda: "5.50 BRL")
historico_final = agente.finalizar("O euro está cotado a R$ 5,50.")
for linha in historico_final: print(linha)
🔍 Nível 2: Prática
Problema 08.2 — Memória Conversacional com Buffer de Janela Deslizante
Contexto: Memória Conversacional com Buffer de Janela Deslizante no contexto de Agentes Autônomos e Sistemas Multiagentes.
Requisitos de Execução:
- Implementar gerenciador de memória para agente que mantenha apenas as últimas K mensagens no contexto.
Resultado Esperado
Total de Mensagens: 6 | Buffer mantido (K=3): últimas 3 interações.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_13_2_SeuNome - Envie na tarefa:
Atividade Cap 13 - Agentes Autônomos e Sistemas Multiagentes
🔑 Gabarito de Código & Solução Comentada
# sliding_window_memory.py
class ConversationMemoryBuffer:
def __init__(self, k=3):
self.k = k
self.mensagens = []
def adicionar(self, autor, texto):
self.mensagens.append({"autor": autor, "texto": texto})
if len(self.mensagens) > self.k:
self.mensagens.pop(0)
def obter_contexto(self):
return "\n".join(f"{m['autor']}: {m['texto']}" for m in self.mensagens)
memoria = ConversationMemoryBuffer(k=2)
memoria.adicionar("user", "Oi")
memoria.adicionar("assistant", "Olá! Como posso ajudar?")
memoria.adicionar("user", "Qual o meu saldo?")
print(memoria.obter_contexto())
⚡ Nível 3: Integração
Problema 08.3 — Decomposição de Tarefas (Task Planner & Executor)
Contexto: Decomposição de Tarefas (Task Planner & Executor) no contexto de Agentes Autônomos e Sistemas Multiagentes.
Requisitos de Execução:
- Implementar agente Planner que quebre um objetivo complexo em lista de sub-tarefas atômicas para o Executor processar.
Resultado Esperado
Objetivo: 'Publicar Artigo'
Plano: 1. Pesquisar -> 2. Redigir -> 3. Revisar
Execução concluída com sucesso.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_13_3_SeuNome - Envie na tarefa:
Atividade Cap 13 - Agentes Autônomos e Sistemas Multiagentes
🔑 Gabarito de Código & Solução Comentada
# task_planner_executor.py
class TaskPlanner:
@staticmethod
def planejar(objetivo):
if "deploy" in objetivo.lower():
return ["Rodar Testes", "Build Docker", "Push Registro", "Deploy K8s"]
return ["Analisar Requisitos", "Executar Código", "Gerar Relatório"]
class TaskExecutor:
@staticmethod
def executar_plano(tarefas):
log = []
for t in tarefas:
log.append(f"[OK] {t}")
return log
plano = TaskPlanner.planejar("deploy api producao")
print("Plano Gerado:", plano)
print("Execução:", TaskExecutor.executar_plano(plano))
🏆 Nível 4: Desafio Corporativo
Problema 08.4 — Orquestração Multiagente (Pesquisador -> Revisor -> Publicador)
Contexto: Orquestração Multiagente (Pesquisador -> Revisor -> Publicador) no contexto de Agentes Autônomos e Sistemas Multiagentes.
Requisitos de Execução:
- Modelar sistema com 3 agentes autônomos colaborativos passando artefatos em pipeline.
Resultado Esperado
Pesquisador gerou draft -> Revisor aprovou -> Publicador emitiu release oficial.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_13_4_SeuNome - Envie na tarefa:
Atividade Cap 13 - Agentes Autônomos e Sistemas Multiagentes
🔑 Gabarito de Código & Solução Comentada
# multi_agent_collaboration.py
class Pesquisador:
def pesquisar(self, tema): return f"Dados brutos sobre {tema}"
class Revisor:
def revisar(self, texto): return f"[REVISADO]: {texto.upper()}"
class Publicador:
def publicar(self, conteudo): return f"STATUS 200: Publicado com sucesso: '{conteudo}'"
pesq, rev, pub = Pesquisador(), Revisor(), Publicador()
dado = pesq.pesquisar("Arquitetura RAG")
revisado = rev.revisar(dado)
resultado = pub.publicar(revisado)
print(resultado)
| ⬅️ Voltar ao Índice de Exercícios | 📚 Sumário de Tópicos |