- Um guia prático para equipes de produto e engenharia que estão desenvolvendo pela primeira vez agentes (agents) baseados em LLM
- Diferentemente dos sistemas de automação tradicionais, agentes são sistemas que conseguem julgar e agir por conta própria mesmo em situações complexas e ambíguas
- Explica diversos padrões de design, de sistemas com agente único até orquestração com múltiplos agentes
- Enfatiza a configuração de guardrails e estratégias de intervenção humana (human intervention) para confiabilidade e segurança
- Recomenda começar com um escopo pequeno e expandir gradualmente com base no feedback dos usuários
O que é um agente
- Um agente é um sistema que executa tarefas em nome do usuário
- Modelos que respondem apenas uma vez, como chatbots simples ou analisadores de sentimento, não se enquadram como agentes
- Agentes têm duas capacidades centrais
- Gerenciamento da execução do workflow e tomada de decisão: avaliar se a tarefa foi concluída, corrigir erros e devolver o controle ao usuário em caso de falha
- Uso de ferramentas (tools): interagir com sistemas externos para coletar dados ou executar ações
Quando você deve criar um agente
- Adequado para áreas em que abordagens tradicionais de automação falham ou são difíceis de manter
- Casos adequados
- Tomada de decisão complexa: quando é necessário julgamento cuidadoso, como aprovar reembolsos a clientes
- Sistemas baseados em regras difíceis de manter: quando as regras são complexas, como na automação de revisão de segurança
- Processamento de dados não estruturados: quando é necessária análise de documentos e compreensão de linguagem natural
Elementos básicos do design de agentes
- Modelo (Model): o LLM responsável por raciocínio e decisões
- Ferramentas (Tools): funções de API que interagem com sistemas externos
- Instruções (Instructions): diretrizes claras que definem o comportamento do agente
Diretrizes para escolha do modelo
- Desenvolver o protótipo com o modelo de melhor desempenho → depois tentar substituí-lo por um modelo menor considerando custo e latência
- Definir critérios de avaliação (evals), validar a precisão e só então otimizar
Como definir ferramentas
- Projetar ferramentas de forma padronizada para aumentar a reutilização
- Tipos de ferramentas
- Consulta de dados: busca em DB, leitura de documentos, pesquisa na web
- Execução de ações: envio de e-mails, atualização de CRM
- Orquestração: chamar outros agentes para dividir o trabalho
Boas práticas para escrever instruções
- Aproveitar documentos operacionais ou políticas já existentes para escrever instruções claras passo a passo
- Dividir o trabalho em partes menores e especificar em unidades concretas de ação (action)
- Incluir obrigatoriamente como lidar com erros ou situações excepcionais (edge cases)
Padrões de orquestração
Sistema com agente único
- Um único agente processa múltiplas tarefas por meio de um loop iterativo (run loop)
- Usa templates de prompt para responder a diferentes situações
- Recomenda-se manter um único agente enquanto a complexidade continuar gerenciável
Sistema com múltiplos agentes
Padrão manager (Manager Pattern)
- Um agente manager central coordena o workflow chamando vários agentes especializados como ferramentas (tools)
- Mantém uma interface consistente com o usuário
Padrão descentralizado (Decentralized Pattern)
- Os agentes fazem handoff entre si, transferindo o controle
- Um agente com especialização específica assume o controle quando necessário
- Adequado no início para triagem (triage) de tarefas mais simples
Guardrails
Objetivo
- Proteger a privacidade dos dados e evitar abuso do sistema
- Manter a consistência da marca e bloquear respostas inadequadas
Principais tipos
- Filtragem de relevância: bloquear entradas sem relação com o tema
- Filtragem de segurança: detectar tentativas de jailbreak do sistema
- Filtro de dados pessoais (PII): bloquear exposição de informações sensíveis
- Moderação (Moderation): bloquear violência e discurso de ódio
- Gestão de risco de ferramentas: validação adicional ao chamar ferramentas de alto risco
Estratégia de implementação
- Considerar privacidade de dados e segurança de conteúdo como prioridade máxima
- Continuar adicionando proteções de acordo com novos riscos descobertos em uso real
- Equilibrar segurança e experiência do usuário
Intervenção humana (Human-in-the-loop)
- Transferir o controle para um humano quando o agente falhar ou ao lidar com tarefas de alto risco
- Gatilhos típicos
- Ultrapassar o limite de falhas
- Solicitação de tarefas altamente sensíveis (reembolso, pagamento etc.)
Conclusão
- Agentes são sistemas inovadores capazes de automatizar workflows em situações complexas e incertas
- Construir uma estrutura sólida de modelo-ferramentas-instruções e expandir a orquestração gradualmente
- É essencial implementar guardrails e mecanismos de intervenção humana para garantir segurança e confiabilidade
- Começar pequeno, validar rapidamente e expandir as funcionalidades aos poucos é a chave para uma implantação bem-sucedida
1 comentários
https://notebooklm.google.com/notebook/…
Tentei fazer com o NotebookLM.