Princípios de design para agentes de IA bem-sucedidos segundo a Anthropic [artigo traduzido]
(blogbyash.com)> # TL;DR
>
> - Ao construir agentes LLM/IA,
> - o princípio básico deve ser sempre a simplicidade, adicionando complexidade apenas quando necessário
> - é preciso "entender profundamente e então adotar frameworks", além de combinar e testar padrões de workflow e agentes (chaining, routing, paralelização, evaluator-optimizer etc.) de acordo com o ambiente real e o objetivo, e projetar, documentar e testar ferramentas (APIs) com cuidado.
1. Princípios de design de agentes LLM bem-sucedidos
- Foco na simplicidade: implementações bem-sucedidas tendem fortemente a usar padrões simples e combináveis (compoundable), em vez de depender de frameworks complexos.
- Adicionar complexidade só quando necessário: é mais eficiente projetar a estrutura básica da forma mais simples possível e introduzir complexidade apenas quando for realmente indispensável.
- (Trecho original: "As implementações mais bem-sucedidas não dependiam de bibliotecas especiais nem de frameworks complexos... elas foram construídas com base em padrões simples, mas modulares e combináveis.")
2. Diferença conceitual entre workflows e agentes
- Workflows: o LLM e as ferramentas processam seguindo rotas predefinidas (caminhos de código).
- Agentes: o LLM gerencia dinamicamente as próprias tarefas e o uso de ferramentas por conta própria (o LLM é o tomador de decisão).
- (Trecho original: "Nos workflows, o LLM e as ferramentas são orquestrados de acordo com caminhos de código predefinidos... nos agentes, o LLM instrui dinamicamente seu próprio processo e a forma de usar ferramentas")
3. Critérios para decidir quando adotar agentes
- Métodos simples primeiro → complexidade gradual se necessário: comece com chamadas simples ao LLM, busca etc.; se isso não bastar, introduza gradualmente Workflows/Agents.
- Quando previsibilidade/consistência é importante → workflows são mais adequados
- Quando é necessária flexibilidade em larga escala e tomada de decisão guiada pelo modelo → agentes são mais adequados
4. Princípios para adoção de frameworks
- Há várias ferramentas/frameworks, como LangGraph, Bedrock, Rivet e Vellum,
- mas a recomendação é começar usando diretamente a API do LLM e adotar frameworks apenas quando necessário.
- Ao usar frameworks, é essencial entender profundamente seu funcionamento interno (a abstração pode dificultar a resolução de problemas).
- (Trecho original: "Recomendamos que os desenvolvedores comecem primeiro usando diretamente a API do LLM")
5. Workflows por padrão prático e exemplos
- LLM expandido (Augmented LLM): adição de recursos embutidos de extensão, como busca, conexão com ferramentas e memória (o design detalhado da interface e a documentação são importantes).
- Prompt chaining: dividir uma tarefa em várias chamadas ao LLM (etapas) para garantir clareza e precisão.
- Ex.: geração de copy de marketing → tradução, rascunho de documento → revisão → redação
- Routing: classificar a entrada e então encaminhá-la para o processamento ou ferramenta adequada
- Ex.: roteamento por tipo de atendimento ao cliente, encaminhar apenas perguntas difíceis para um modelo de alto desempenho
- Paralelização:
- Sectioning: dividir o trabalho em várias subtarefas e processá-las ao mesmo tempo
- Voting: tentar a mesma tarefa várias vezes para decidir o melhor resultado
- Ex.: revisão de vulnerabilidades de código, automação de avaliação de LLMs
- Orchestrator-Workers: um agente mestre distribui e integra subtarefas.
- Ex.: em tarefas complexas de programação, distribuir em tempo real apenas as partes necessárias; coleta e integração de vários dados
- Evaluator-Optimizer: um LLM gera a resposta, e outro LLM avalia essa resposta, fornece feedback e repete o processo de melhoria
- Ex.: melhoria iterativa de resultados de tradução, coleta de informações complexas
6. Casos reais de aplicação na indústria
- Suporte ao cliente: integração de chatbot + ferramentas, automação de tarefas com dados do cliente/pedidos/reembolsos, com um critério claro de sucesso baseado em "resolução do problema". Há também referências corporativas com cobrança baseada em uso.
- Agentes de programação: iteração e melhoria com base em feedback de testes automáticos, comprovadas em benchmarks como SWE-bench. A área do problema e a qualidade do resultado podem ser medidas com clareza. Ainda assim, a revisão final sempre exige intervenção humana.
7. Dicas de engenharia de prompt para ferramentas (Apêndice 2)
- Recomenda-se um formato fácil para o LLM usar e alocação suficiente de tokens
- Descrever claramente a ferramenta (uso, exemplos, edge cases, definição de limites etc.)
- Testar ⇒ melhorar os padrões reais de uso do modelo (usando workbench etc.)
- Projetar no estilo poka-yoke para evitar até erros pequenos
- (Trecho original: "Uma boa definição de ferramenta deve incluir exemplos de uso, edge cases, requisitos de formato de entrada e limites claros em relação a outras ferramentas.")
8. Princípios centrais
- Manter a simplicidade (Keep it simple)
- A transparência do processo de planejamento do agente é essencial
- Documentação e testes claros de ferramentas e interfaces
- Frameworks ajudam na velocidade inicial, mas é recomendável minimizar abstrações e manter controle direto
Ainda não há comentários.