Nível Técnico
4 horas 4 tópicos

🤖 Módulo 2.5: Agentes e Workflows Complexos

Construa sistemas autônomos e multi-agente usando frameworks modernos como LangChain e LlamaIndex para resolver tarefas complexas.

🤖 Frameworks de Agentes (LangChain, LlamaIndex)

O que é

Frameworks de agentes fornecem abstrações de alto nível para construir aplicações de IA que podem usar ferramentas, acessar memória, e tomar decisões autonomamente. LangChain oferece chains, agents, e tools para workflows complexos. LlamaIndex especializa-se em indexação e retrieval. Outros incluem AutoGPT, CrewAI, e Semantic Kernel. Esses frameworks aceleram desenvolvimento em 5-10x.

Por que aprender

Construir agentes do zero é complexo e propenso a erros. Frameworks encapsulam best practices, patterns comprovados, e abstrações que permitem foco na lógica de negócio. Desenvolvedores que dominam LangChain/LlamaIndex conseguem prototipar aplicações sofisticadas em horas vs semanas. Essas são as ferramentas mais demandadas em vagas de AI Engineering.

Conceitos chave

  • LangChain Chains: Sequential, MapReduce, Router chains para workflows compostos
  • LangChain Agents: Zero-shot ReAct, conversational, OpenAI functions agents
  • Tools/Functions: APIs, databases, search engines como ferramentas para agentes
  • LlamaIndex Query Engines: Vector store, SQL, graph query engines
  • Memory Types: Conversation buffer, summary, entity, vector store memory
  • Callbacks e Observability: LangSmith, Helicone para debugging e monitoring

🧠 ReAct, Planning e Tool Use

O que é

ReAct (Reasoning + Acting) é um paradigma onde LLMs alternam entre raciocinar sobre uma tarefa e tomar ações (usar ferramentas). Planning envolve decomposição de tarefas complexas em sub-tarefas executáveis. Tool Use refere-se à capacidade de agentes invocarem funções externas (APIs, cálculos, bancos de dados) dinamicamente. Técnicas incluem Chain-of-Thought, Task Decomposition, e Function Calling.

Por que aprender

LLMs puros são limitados a geração de texto. Tool use permite que realizem ações reais - fazer cálculos precisos, consultar bases de dados atualizadas, chamar APIs externas, executar código. ReAct e Planning tornam agentes capazes de resolver problemas complexos multi-step que seriam impossíveis com prompts simples. É a diferença entre chatbot e assistente verdadeiramente útil.

Conceitos chave

  • ReAct Loop: Thought → Action → Observation → Thought (iterativo)
  • Task Decomposition: Quebra de problemas complexos em sub-tarefas gerenciáveis
  • Function Calling: OpenAI/Anthropic native function calling para structured outputs
  • Tool Selection: Embedding-based ou ReAct-based para escolher ferramenta certa
  • Error Recovery: Retry strategies, fallbacks quando ferramentas falham
  • Plan Validation: Verificação de viabilidade de planos antes de execução

🔗 Multi-Agent Systems

O que é

Multi-agent systems envolvem múltiplos agentes especializados colaborando para resolver tarefas complexas. Cada agente tem papéis, ferramentas e objetivos específicos (ex: researcher, writer, critic). Frameworks como CrewAI, AutoGen, e LangGraph facilitam coordenação. Padrões incluem sequential (cadeia), hierarchical (manager-worker), e democratic (votação/consenso).

Por que aprender

Problemas complexos beneficiam-se de especialização. Um único agente generalista frequentemente produz outputs mediocres. Multi-agent systems permitem separação de concerns, paralelização de tarefas, e auto-correção através de feedback entre agentes. Empresas estão usando para automação de workflows complexos (análise de mercado, geração de reports, customer support escalado).

Conceitos chave

  • Agent Roles: Especialização por função (researcher, coder, reviewer, manager)
  • Communication Protocols: Message passing, shared memory, blackboard patterns
  • Coordination Patterns: Sequential, parallel, hierarchical, democratic
  • Conflict Resolution: Voting, consensus, arbiter agents para desempate
  • CrewAI Framework: Role-playing agents com goals, backstories, e tools
  • AutoGen: Microsoft framework para conversational multi-agent workflows

🎯 Orquestração e Error Handling

O que é

Orquestração refere-se ao gerenciamento coordenado de múltiplos componentes em workflows de IA - agentes, APIs, databases, ferramentas externas. Inclui scheduling, routing, parallel execution, e dependency management. Error handling envolve graceful degradation, retry logic, fallbacks, e logging detalhado para debugging. Ferramentas como LangGraph, Temporal.io, e Apache Airflow facilitam orquestração robusta.

Por que aprender

Workflows de IA em produção enfrentam inúmeras falhas potenciais - rate limits de API, timeouts, outputs inesperados, ferramentas offline. Sistemas sem orquestração e error handling robustos falham catastroficamente. Desenvolvedores que dominam essas técnicas criam aplicações resilientes que degradam gracefully e se auto-recuperam, essenciais para confiabilidade empresarial.

Conceitos chave

  • Workflow DAGs: Directed Acyclic Graphs para modelar dependências entre tarefas
  • Parallel Execution: Threading, multiprocessing, async/await para concurrency
  • Retry Strategies: Exponential backoff, jitter, max attempts com circuit breakers
  • Fallback Chains: Degradação para modelos mais simples/baratos quando primário falha
  • Structured Logging: Contexto rico para debugging de workflows complexos
  • State Persistence: Checkpointing para resumir workflows após falhas

🚀 3 Sistemas de Agentes para Produção

1. Research Assistant Multi-Agent (CrewAI)

Use Case: Pesquisa competitiva automatizada com múltiplos agentes especializados
Stack: CrewAI + GPT-4o + Serper API + Playwright + PostgreSQL

Agentes do Sistema:

  • Researcher: Busca web + scraping
  • Analyst: Analisa dados coletados
  • Writer: Gera relatório estruturado
  • Critic: Valida qualidade e facts

Métricas de Performance:

  • ✓ Tempo: 5-10 min por relatório
  • ✓ Custo: $0.50-1.50 por execução
  • ✓ Accuracy: 85-90% vs humano
  • ✓ Throughput: 100+ reports/dia
from crewai import Agent, Task, Crew researcher = Agent( role="Research Specialist", goal="Find comprehensive data on {topic}", tools=[web_search_tool, scraper_tool] ) analyst = Agent( role="Data Analyst", goal="Analyze and structure findings", tools=[calculator_tool, data_analysis_tool] ) crew = Crew(agents=[researcher, analyst], process="sequential") result = crew.kickoff(inputs={{"topic": "AI competitors"}})

2. Customer Support Agent (LangGraph)

Use Case: Suporte técnico automatizado com routing inteligente
Stack: LangGraph + Claude + Zendesk API + Knowledge Base (Pinecone)

Workflow Graph:

  • 1. Classify Intent: Support, sales, billing, technical
  • 2. Retrieve Context: RAG sobre docs + historical tickets
  • 3. Generate Response: Claude com context injection
  • 4. Validation: Confidence score > 0.8 → auto-respond, else → human
  • 5. Feedback Loop: Thumbs up/down melhora retrieval

70%

Tickets resolvidos automaticamente

< 30s

Tempo médio resposta

$2k/mês

Economia em headcount

3. Code Review Agent (AutoGen)

Use Case: Code review automatizado com múltiplas perspectivas
Stack: AutoGen + GPT-4 + GitHub API + Static Analysis Tools

Agentes Especializados:

  • Security Reviewer: Busca vulnerabilidades (SQL injection, XSS)
  • Performance Reviewer: Analisa complexidade, bottlenecks
  • Style Reviewer: Enforça coding standards
  • Test Reviewer: Valida coverage e edge cases
  • Consensus Agent: Agrega feedback e prioriza issues
Impacto: Reduz tempo de review em 60%. Detecta 40% mais issues que single-agent. $500/mês vs $15k custo reviewer humano adicional

⚖️ Comparativo: Frameworks de Agentes 2025

Framework Paradigma Curva Aprendizado Melhor Para Comunidade
LangChain Chains + Agents Média Workflows sequenciais, RAG Maior (80k+ stars)
LangGraph State Machines Alta Workflows complexos com loops Crescendo rápido
CrewAI Role-based Agents Baixa Multi-agent collaboration Média (15k stars)
AutoGen Conversational Média Code generation, debugging Microsoft backing
LlamaIndex Data-centric Baixa-Média RAG, document Q&A Grande (30k+ stars)

Para Iniciantes

Recomendação: CrewAI ou LlamaIndex

Abstrações simples, docs excelentes, resultados rápidos.

Para Produção

Recomendação: LangGraph

Controle granular, observability built-in, debugging robusto.

Para Code Tasks

Recomendação: AutoGen

Otimizado para coding, debugging, e conversational code gen.

🛠️ Guia Completo: Tool Use & Function Calling

Anatomia de uma Tool

Name (obrigatório)

Descritivo, snake_case. Ex: search_web, get_weather, execute_sql

Description (crítico)

Explique QUANDO usar. "Use this to search the web for current information"

Parameters Schema

JSON Schema com tipos, required, descriptions detalhadas

Error Handling

Retorne mensagens claras para o LLM se tool falha

Tools Essenciais

Web Search

Serper, Brave Search API para info atualizada

Calculator

Python eval() ou WolframAlpha para cálculos precisos

Database Query

Text-to-SQL + execution (com sandboxing)

Code Interpreter

Execução segura de Python em container isolado

⚠️ Segurança em Tool Use

  • NUNCA confie em tool inputs: Sanitize SQL queries, validate file paths
  • Rate limiting: Limite execuções/min para prevenir abuse
  • Sandboxing: Execute código em containers isolados (Docker, E2B)
  • Approval gates: Ações destrutivas (delete, pay) requerem confirmação humana
Módulo Anterior Próximo Módulo