Extra Inteligencia Artificial • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 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:

  1. 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)

  1. Salve o arquivo como: Atividade_13_1_SeuNome
  2. 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:

  1. 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)

  1. Salve o arquivo como: Atividade_13_2_SeuNome
  2. 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:

  1. 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)

  1. Salve o arquivo como: Atividade_13_3_SeuNome
  2. 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:

  1. 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)

  1. Salve o arquivo como: Atividade_13_4_SeuNome
  2. 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