Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Estudos/Design Doc / RFC
RSSMarkdownLLMs
Design Doc / RFCAgent quality platform (cenário)IA / Qualidade

Design Doc: Suíte de Avaliação Contínua para Agentes com Bedrock AgentCore

7 de jun. de 2026 12 min Com apoio de IA000 visualizações00 reproduções
Ouvir estudo

cerca de 12 min · áudio gerado ao tocar

Um agente que funciona bem no lançamento pode falhar silenciosamente seis semanas depois, quando o modelo base é atualizado, uma ferramenta muda seu schema ou um novo fluxo de prompts é introduzido. Sem uma suíte de avaliação contínua com quality gates reais, você está voando cego. Este RFC descreve como construir essa disciplina sobre Bedrock AgentCore.

O Problema: Agentes São Sistemas Compostos que Degradam de Formas Não-Óbvias

Agentes LLM não são funções determinísticas. Eles combinam um modelo de linguagem (que pode ser atualizado pelo provedor sem aviso explícito), um conjunto de ferramentas com suas próprias APIs e schemas, memória de curto e longo prazo, e uma camada de orquestração que interpreta intenção e encadeia chamadas. Cada um desses componentes pode mudar independentemente, e a interação entre mudanças é onde as regressões mais perigosas se escondem.

Considere um cenário concreto: o agente de suporte ao cliente de uma fintech usa uma ferramenta get_account_balance que retorna valores em centavos. O time de backend migra a API para retornar valores em reais sem atualizar a documentação da ferramenta. O agente continua funcionando, ele chama a ferramenta, recebe um número, e responde ao usuário. Mas agora informa saldos 100x maiores do que o real. Nenhum erro de runtime. Nenhum alarme de latência. A degradação é semântica, não técnica.

Esse é o problema central que uma suíte de avaliação contínua precisa resolver: detectar degradação semântica e comportamental antes que chegue ao usuário, em um sistema onde as peças mudam de forma assíncrona e os erros raramente são exceções, são respostas plausíveis mas incorretas.

O estado da arte em avaliação de agentes ainda está se consolidando. A maioria das equipes que conheço opera com uma combinação de: testes manuais ad hoc antes de releases, algumas métricas de satisfação do usuário coletadas de forma reativa, e alarmes de latência/erro que capturam apenas falhas técnicas. Isso é insuficiente para sistemas que tomam decisões com consequências reais. O que precisamos é de uma disciplina análoga ao que temos em sistemas de software tradicionais, testes unitários, integração, regressão, cobertura, mas adaptada para a natureza probabilística e composicional dos agentes.

Objetivos e Não-Objetivos

✅ OBJETIVO: Definir uma arquitetura de avaliação offline (pré-deploy) com datasets versionados e quality gates que bloqueiam promoção de versões regressivas
✅ OBJETIVO: Instrumentar sinais de avaliação online (pós-deploy) que detectam degradação em produção sem depender exclusivamente de feedback humano
✅ OBJETIVO: Criar métricas específicas para tool-use: taxa de chamada correta, argumento accuracy, sequência de chamadas, e recuperação de erros de ferramenta
✅ OBJETIVO: Definir um processo de curadoria e versionamento de datasets de avaliação que evolui junto com o agente
✅ OBJETIVO: Incluir cenários adversariais sistemáticos: prompt injection, boundary testing, e casos de edge que expõem falhas de raciocínio
❌ NÃO-OBJETIVO: Definir a arquitetura interna do agente em si (roteamento, memória, RAG), esse é um documento separado

Contexto do Cenário

Sistema
Plataforma de qualidade para agentes LLM em produção (cenário composto)
Infraestrutura base
Amazon Bedrock AgentCore + AWS
Escala alvo
10-50 agentes distintos, cada um com 5-20 ferramentas, múltiplas versões em paralelo
Frequência de avaliação offline
A cada PR / commit em agent config, prompt, ou tool schema
Frequência de avaliação online
Contínua via sampling (estimativa: 5-15% das conversas)
Stack principal
Bedrock AgentCore, S3, DynamoDB, Step Functions, Lambda, EventBridge, CloudWatch, Bedrock Evaluations
Tipo de documento
RFC / Design Doc, proposta para implementação
Risco principal
Degradação semântica silenciosa em produção sem detecção automatizada

Design Proposto: Três Camadas de Avaliação

A arquitetura que proponho organiza a avaliação em três camadas complementares, cada uma com propósito, frequência e custo distintos. A metáfora útil aqui é a de defesa em profundidade, nenhuma camada sozinha é suficiente, mas juntas formam uma rede de detecção robusta.

Camada 1: Avaliação Offline (Pre-Deploy Gate)

Antes de qualquer versão do agente ser promovida para produção, ela passa por uma bateria de testes offline contra um dataset versionado armazenado no S3. O dataset é estruturado como um conjunto de casos de teste, cada um contendo: a entrada do usuário (ou sequência de turnos para conversas multi-turn), o conjunto esperado de chamadas de ferramenta (com argumentos esperados e tolerâncias), a resposta esperada (ou critérios de avaliação quando não há resposta determinística), e metadados de categoria (tipo de tarefa, nível de dificuldade, se é adversarial).

O Bedrock AgentCore executa o agente em modo de avaliação, com as mesmas ferramentas configuradas, mas em ambiente isolado com ferramentas mockadas que retornam respostas controladas. Isso é crítico: você não quer que testes offline façam chamadas reais a APIs de produção, mas também não quer mocks tão simplificados que não testam o raciocínio do agente sobre as respostas das ferramentas.

As métricas coletadas nessa camada incluem: tool-call accuracy (o agente chamou a ferramenta certa?), argument fidelity (os argumentos estavam corretos dentro de tolerância?), call sequence correctness (para tarefas que requerem sequência específica de chamadas), unnecessary tool calls (o agente chamou ferramentas desnecessárias, indicando raciocínio confuso?), e final response quality avaliada por um LLM-as-judge configurado via Bedrock Evaluations.

O quality gate é definido como um conjunto de thresholds por categoria de métrica. A proposta inicial: tool-call accuracy ≥ 0.90 no conjunto completo, ≥ 0.95 no subconjunto de casos críticos (marcados no dataset), e nenhuma regressão > 5 pontos percentuais em relação à baseline da versão anterior. Esse último critério, regressão relativa, é tão importante quanto o threshold absoluto: um agente que já era ruim em algo não deve piorar ainda mais.

Camada 2: Testes Adversariais

Separados do dataset de avaliação padrão, mantemos um dataset adversarial com categorias específicas: prompt injection attempts (tentativas de fazer o agente ignorar suas instruções de sistema), boundary probing (inputs que testam os limites de políticas, o que o agente faz quando recebe um pedido ambíguo que poderia ser legítimo ou malicioso?), e casos de edge de tool-use (o que acontece quando uma ferramenta retorna um erro inesperado? O agente recupera graciosamente ou entra em loop?).

Esses testes não têm o mesmo regime de pass/fail dos testes funcionais, eles têm critérios de comportamento esperado. Para prompt injection, o critério é que o agente mantenha suas instruções de sistema. Para boundary cases, o critério é que o agente escalona ou recusa de forma apropriada em vez de aluciná-la resposta. Para erros de ferramenta, o critério é recuperação em no máximo N tentativas com fallback gracioso.

Camada 3: Sinais Online (Production Monitoring)

Em produção, instrumentamos um pipeline de avaliação assíncrono que processa uma amostra das conversas reais. O sampling é estratificado, garantimos representação de diferentes tipos de tarefa e não apenas volume. Conversas selecionadas são enviadas para um Step Functions workflow que: extrai os traces de tool-use do AgentCore, executa avaliação LLM-as-judge nos turnos finais, e persiste métricas no CloudWatch com dimensões por versão de agente, tipo de tarefa e ferramenta.

Além do sampling, monitoramos sinais proxy que não requerem avaliação LLM: taxa de conversas que atingem o limite máximo de turnos (indica agente preso em loop), taxa de tool errors não recuperados, taxa de escalação para humano (se aplicável), e distribuição de latência por ferramenta (mudanças de latência podem indicar mudanças de comportamento de chamada).

Arquitetura da Suíte de Avaliação Contínua

Fluxo completo desde o commit de uma nova versão do agente até os sinais de qualidade em produção, mostrando as três camadas de avaliação e o feedback loop de curadoria de datasets.

🔧 CI/CD Pipeline
  • Git Repo · Agent Config / Prompts
  • CI/CD · (CodePipeline)
  • Quality Gate · Lambda
📦 Dataset Management
  • S3 · Versioned Datasets
  • DynamoDB · Dataset Registry
  • Curator UI · (Internal Tool)
🧪 Offline Evaluation
  • Step Functions · Eval Orchestrator
  • Bedrock AgentCore · (Eval Mode)
  • Mock Tool Layer · Lambda
  • Bedrock Evaluations · LLM-as-Judge
  • S3 · Eval Results
⚔️ Adversarial Layer
  • S3 · Adversarial Dataset
  • Adversarial Runner · Lambda
🚀 Production
  • Bedrock AgentCore · (Production)
  • Real Tools · (APIs)
  • AgentCore Traces · S3 / CloudWatch
📊 Online Monitoring
  • Sampling Lambda · Stratified 5-15%
  • Step Functions · Online Eval
  • Bedrock Evaluations · Online Judge
  • CloudWatch · Metrics + Alarms
  • EventBridge · Anomaly Events

Dataset Management: Versionamento, Curadoria e o Problema do Dataset Drift

Um dos aspectos mais negligenciados em sistemas de avaliação de agentes é o gerenciamento do próprio dataset de avaliação. Times constroem um conjunto inicial de casos de teste, executam por meses, e nunca revisam, enquanto o agente evolui para lidar com casos de uso completamente novos que não estão representados. O dataset envelhece e perde poder discriminativo.

A proposta aqui é tratar o dataset de avaliação com a mesma disciplina que tratamos o código: versionamento explícito, changelog, e um processo de curadoria contínua.

Estrutura de versionamento: Cada versão do dataset é um artefato imutável no S3, identificado por um hash de conteúdo e um número de versão semântico (major.minor.patch). O DynamoDB mantém o registry com metadados: data de criação, autor, changelog, cobertura por categoria de tarefa, e a versão do agente contra a qual foi validado. O quality gate sempre executa contra a versão do dataset especificada no manifesto do agente, não contra "latest". Isso é deliberado: garante reprodutibilidade e evita que um dataset novo quebre um agente que estava funcionando bem.

Processo de curadoria: Novos casos de teste entram no dataset por três caminhos. O primeiro é curadoria manual, engenheiros ou especialistas de domínio escrevem casos baseados em requisitos. O segundo é mineração de produção, conversas reais que foram marcadas como problemáticas (via feedback do usuário, escalação, ou detecção automática) são revisadas e convertidas em casos de teste. Esse é o caminho mais valioso: são falhas reais, não hipotéticas. O terceiro é geração sintética, usando um LLM para gerar variações de casos existentes, especialmente para aumentar cobertura de edge cases e cenários adversariais.

O problema do dataset drift: À medida que o agente melhora, casos que antes eram difíceis se tornam triviais. Um dataset que não é atualizado perde poder discriminativo, o agente passa em tudo, mas isso não significa que está funcionando bem em casos novos. A solução é monitorar a distribuição de scores do dataset ao longo do tempo: se a maioria dos casos está com score próximo de 1.0, é hora de adicionar casos mais difíceis. Isso é análogo ao problema de benchmark saturation em ML, quando um modelo atinge performance humana em um benchmark, o benchmark precisa ser substituído, não o modelo declarado perfeito.

Cobertura de tool-use: Para agentes com múltiplas ferramentas, o dataset precisa garantir cobertura adequada de cada ferramenta e de combinações de ferramentas. Mantemos um mapa de cobertura que mostra, para cada ferramenta, quantos casos de teste a exercitam, em quais contextos, e com quais padrões de argumento. Ferramentas novas adicionadas ao agente devem ter cobertura mínima antes de o agente poder ser promovido, essa é uma regra de quality gate adicional.

Alternativas de Design: Abordagens de Avaliação

LLM-as-Judge exclusivo (sem casos de teste estruturados)

Prós
  • Fácil de escalar, não requer curadoria manual de casos de teste
  • Flexível para avaliar respostas abertas sem resposta de referência
Contras
  • Não detecta regressões de tool-use específicas, o judge avalia o resultado final, não o processo
  • Custo elevado para avaliar cada caso; inconsistência entre runs do mesmo judge
  • Sem baseline determinística, difícil saber se uma mudança de score é real ou ruído do judge

Útil como camada complementar, insuficiente como única abordagem

Testes determinísticos apenas (mock tools + expected outputs exatos)

Prós
  • Reprodutível e barato, sem chamadas LLM para avaliação
  • Detecta regressões de tool-use com precisão alta
Contras
  • Frágil para respostas de linguagem natural, qualquer variação legítima quebra o teste
  • Não captura qualidade semântica da resposta final
  • Alta manutenção, cada mudança de prompt pode invalidar centenas de expected outputs

Excelente para tool-use assertions; inadequado para avaliação de resposta

Abordagem híbrida (proposta neste RFC)

Prós
  • Determinístico onde possível (tool-use), probabilístico onde necessário (resposta final)
  • Camadas offline + online cobrem diferentes pontos de falha
  • Dataset versionado permite rastrear regressões ao longo do tempo com reprodutibilidade
Contras
  • Maior complexidade operacional, múltiplos sistemas para manter
  • Custo de LLM-as-judge para avaliação online pode ser significativo em escala

Abordagem recomendada, complexidade justificada pelo poder discriminativo

Plataforma de avaliação de terceiros (Braintrust, LangSmith, etc.)

Prós
  • Time-to-value mais rápido: UI pronta, integrações existentes
  • Comunidade e templates de métricas
Contras
  • Dados de avaliação (incluindo conversas de produção) saem do ambiente AWS, problema para dados sensíveis
  • Integração com Bedrock AgentCore traces requer trabalho customizado de qualquer forma
  • Vendor lock-in adicional; custo por volume pode ser proibitivo

Válido para prototipagem; não recomendado para produção em contextos com dados sensíveis

Decisão: Estratégia de Sampling para Avaliação Online

Proposto
Contexto

Avaliar 100% das conversas em produção com LLM-as-judge é proibitivamente caro e lento. Precisamos de uma estratégia de sampling que maximize o poder de detecção com custo controlado.

Decisão

Sampling estratificado com taxa base de 10%, aumentando para 50% quando métricas proxy (taxa de erro, latência anômala) excedem thresholds. Conversas com feedback negativo explícito do usuário são sempre avaliadas (100%). Distribuição garantida por tipo de tarefa e por ferramenta mais crítica.

Consequências
  • Custo de avaliação online controlado, estimativa de 10-15% do custo de avaliação 100%
  • Detecção de anomalias pode ter latência de minutos a horas dependendo do volume de tráfego
  • Requer implementação de lógica de sampling estratificado, não trivial para garantir representatividade

Plano de Rollout

  1. 1

    Fase 1: Fundação (Semanas 1-3)

    Criar a estrutura de dataset no S3 e DynamoDB. Definir o schema de casos de teste. Construir o primeiro dataset com 50-100 casos manuais cobrindo os fluxos mais críticos do agente. Configurar o AgentCore em modo de avaliação com mock tools para os fluxos principais. Sem quality gate ainda, apenas coletar dados de baseline.

  2. 2

    Fase 2: Avaliação Offline (Semanas 4-6)

    Implementar o Step Functions workflow de avaliação offline. Integrar Bedrock Evaluations como LLM-as-judge para respostas finais. Definir métricas de tool-use e implementar o cálculo determinístico. Executar contra as últimas 3 versões do agente para calibrar thresholds de quality gate. Integrar ao CI/CD como check não-bloqueante inicialmente.

  3. 3

    Fase 3: Quality Gate Ativo (Semanas 7-8)

    Ativar o quality gate como bloqueante no CI/CD. Definir thresholds baseados nos dados de baseline coletados. Criar o dataset adversarial inicial com 20-30 casos de prompt injection e boundary testing. Treinar o time em como interpretar resultados e como adicionar novos casos ao dataset.

  4. 4

    Fase 4: Monitoramento Online (Semanas 9-12)

    Implementar o pipeline de sampling e avaliação online. Configurar CloudWatch dashboards com métricas por versão e por ferramenta. Criar alarms para anomalias. Implementar o fluxo de mineração de produção: conversas problemáticas detectadas online são enfileiradas para revisão e potencial adição ao dataset offline.

  5. 5

    Fase 5: Maturidade e Automação (Semanas 13-16)

    Implementar geração sintética de casos de teste para aumentar cobertura. Criar o mapa de cobertura de tool-use e adicionar regras de cobertura mínima ao quality gate. Revisar e refinar thresholds com 2+ meses de dados. Documentar o processo de curadoria e criar runbooks para o time.

Riscos Críticos e Mitigações

Risco 1: Goodhart's Law no quality gate: Quando um threshold se torna um alvo, ele deixa de ser uma boa medida. Times podem começar a escrever casos de teste que o agente já passa bem, em vez de casos que testam fraquezas reais. Mitigação: separar quem escreve os casos de teste de quem desenvolve o agente; incluir casos de teste de adversários externos periodicamente. Risco 2: Judge inconsistency: LLM-as-judge tem variância não-trivial entre runs. Um agente pode passar o quality gate em uma run e falhar em outra sem nenhuma mudança real. Mitigação: usar múltiplas runs (3-5) e agregar scores; definir thresholds com margem de segurança acima da variância observada do judge. Risco 3: Mock tool drift: Os mocks das ferramentas podem divergir do comportamento real das APIs ao longo do tempo, tornando os testes offline cada vez menos representativos. Mitigação: versionar os mocks junto com os schemas das ferramentas reais; incluir testes de contrato (contract tests) que verificam que os mocks ainda correspondem às APIs reais. Risco 4: Custo de avaliação online em escala: Em volumes altos, mesmo 10% de sampling com LLM-as-judge pode ser caro. Mitigação: usar modelos menores para o judge online (Claude Haiku vs. Sonnet), reservando modelos mais capazes para avaliação offline onde a precisão é mais crítica. Risco 5: False confidence: Uma suíte de avaliação que passa pode dar falsa confiança. O dataset nunca cobre todos os casos possíveis. Mitigação: comunicar explicitamente o que o dataset cobre e o que não cobre; manter humanos no loop para revisão de casos de alto risco.

Métricas de Sucesso e Targets

Tool-call accuracy (offline)
≥ 0.90 geral, ≥ 0.95 em casos críticos
Regressão máxima permitida (offline)
< 5 pontos percentuais vs. baseline da versão anterior
Cobertura de ferramentas no dataset
100% das ferramentas com ≥ 10 casos de teste cada
Latência do pipeline de avaliação offline
< 15 minutos para dataset de até 200 casos (estimativa)
Cobertura de avaliação online
≥ 10% de todas as conversas, 100% das com feedback negativo
MTTD (Mean Time to Detect) regressão em produção
< 4 horas em volume normal (estimativa)
Taxa de falsos positivos no quality gate
< 5%, gates que bloqueiam deploys sem regressão real
Cadência de atualização do dataset
Revisão mensal obrigatória; adição contínua via mineração de produção
FA
Minha Perspectiva: O que Eu Faria Diferente e o que Não Abriria Mão
Arquiteto de TI Especialista

Depois de trabalhar com sistemas de alta criticidade em finanças, tenho uma convicção forte: a qualidade de um sistema de avaliação é determinada pela qualidade do seu dataset, não pela sofisticação da sua infraestrutura. Você pode ter o pipeline mais elegante do mundo rodando no Bedrock AgentCore com Step Functions e LLM-as-judge, mas se o dataset tiver 30 casos todos do mesmo tipo, você está medindo nada. O que eu não abriria mão: o processo de mineração de produção. Casos de teste derivados de falhas reais são ordens de magnitude mais valiosos do que casos sintéticos. Em todo projeto que trabalhei com avaliação de sistemas, os bugs mais importantes foram encontrados por casos que vieram de incidentes reais, não de brainstorming preventivo. Eu investiria desproporcionalmente no fluxo que vai de "conversa problemática detectada em produção" → "revisão humana" → "caso de teste no dataset offline". O que eu faria diferente do que está descrito aqui: começaria menor. Esse documento descreve um sistema completo e maduro. Na prática, eu começaria com um script Python simples que roda 50 casos de teste contra o agente antes de cada deploy, sem Step Functions, sem LLM-as-judge, apenas tool-use assertions determinísticas. Isso já captura 70% do valor com 10% da complexidade. A sofisticação adicional se justifica à medida que você tem evidência de que precisa dela. Sobre o Bedrock AgentCore especificamente: a capacidade de rodar o agente em modo de avaliação com ferramentas mockadas é genuinamente útil, resolve um problema real de isolamento de ambiente que times costumam resolver com gambiarras. O gerenciamento de datasets via AgentCore é uma adição recente que ainda está amadurecendo; eu manteria uma camada de abstração fina sobre ele para não ficar refém de mudanças de API. A lição mais importante que aprendi sobre avaliação de sistemas de IA: trate a avaliação como um produto, não como infraestrutura. Ela precisa de ownership claro, de alguém que acorde de manhã pensando em como melhorar o dataset e os thresholds. Sem isso, o sistema mais sofisticado do mundo vira um check de CI que ninguém lê.

Veredicto

A suíte de avaliação contínua descrita neste RFC é necessária para qualquer agente LLM que opera em produção com consequências reais. A arquitetura de três camadas, avaliação offline com quality gate, testes adversariais sistemáticos, e monitoramento online com sampling estratificado, cobre os vetores de degradação mais importantes: mudanças de modelo, drift de tool schemas, e regressões introduzidas por atualizações de prompt. O Bedrock AgentCore fornece as primitivas necessárias, execução em modo de avaliação, rastreamento de tool-use, e integração com Bedrock Evaluations para LLM-as-judge, sem exigir que você construa essa infraestrutura do zero. O valor real, porém, não está na infraestrutura: está no processo de curadoria de datasets e na disciplina de tratar avaliação como um produto com ownership claro. Minha recomendação: implemente em fases, começando pelo que gera mais valor com menos complexidade (dataset versionado + quality gate de tool-use determinístico), e adicione sofisticação apenas quando você tiver evidência de que o sistema simples está deixando regressões passarem. O risco de over-engineering um sistema de avaliação é real, um sistema complexo que ninguém entende ou mantém é pior do que um script simples que o time realmente usa.

Referências

Amazon Bedrock AgentCore: Official Product PageAWS Machine Learning Blog: AgentCore and Agent EvaluationAmazon Bedrock Evaluations: DocumentationAWS Step Functions: Developer GuideJudging LLM-as-a-Judge with MT-Bench and Chatbot Arena (Zheng et al., 2023)AgentBench: Evaluating LLMs as Agents (Liu et al., 2023)Tau-bench: A Benchmark for Tool-Agent-User Interaction in Real-World DomainsAmazon Bedrock AgentCore: Getting Started Documentation
#bedrock-agentcore#llm-evaluation#agent-quality#ci-cd#adversarial-testing#tool-use-metrics#mlops#aws
Fontes do caso
AWS AI Blog: AgentCore dataset managementAmazon Bedrock AgentCore
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
Escrito com apoio de IA a partir do caso público e da minha leitura como arquiteto.
Próximo passo
Agentes de IA em produção na AWSComo eu desenho, oriento e audito agentes que vão ao ar, com os números e as fontes.Ver o IA BuilderTrilha Arquiteto de IA, gratuitaFundamentos, LLMs, RAG, tools, MCP e arquitetura na AWS, em aulas curtas e interativas.Começar a trilha

Continue lendo

Design Doc / RFCDesign Doc: Observabilidade de LLMs, da GPU à Qualidade de RespostaEste documento propõe uma arquitetura de observabilidade fim a fim para plataformas de inferência LLM rodando em Amazon SageMaker AI e Amazon Bedrock, cobrindo desde métricas de hardware (GPU utilization, memória) até qualidade semântica de resposta, drift de comportamento e custo por tenant. O design integra CloudWatch, Amazon Managed Grafana, rastreamento por prompt e alarmes de regressão automáticos, com separação clara de responsabilidades entre camadas de coleta, armazenamento, avaliação e alerta.Ler Design Doc / RFCDesign Doc: Agentes em Produção com Amazon Bedrock AgentCoreEste documento descreve a arquitetura de uma plataforma de agentes de IA em produção usando Amazon Bedrock AgentCore, cobrindo runtime serverless com isolamento de sessão, governança de ferramentas via Gateway/MCP, memória de curto e longo prazo, identidade federada e observabilidade. O foco está em guardrails operacionais, teto de custo e governança de ferramentas, os problemas que realmente afundam projetos de agentes em ambientes corporativos.Ler Design Doc / RFCDesign Doc: Zero Trust na AWS para Acesso a Serviços InternosEste documento propõe uma arquitetura Zero Trust na AWS onde identidade, contexto e postura do dispositivo substituem o perímetro de rede como mecanismo primário de controle de acesso. O design cobre segmentação de workloads, acesso adaptativo via IAM Identity Center e Verified Access, e instrumentação de auditoria contínua. O objetivo é eliminar a confiança implícita baseada em localização de rede sem introduzir fricção operacional excessiva.Ler
AnteriorDesign Doc: Observabilidade de LLMs, da GPU à Qualidade de RespostaPróximoADR: AWS Transform e Agentes de IA vs Fábrica Tradicional de Modernização
Gostou deste estudo? Receba o próximo.

Post-mortems, ADRs e deep dives de arquitetura no seu email, do jeito que um arquiteto lê.

Sem spam · cancele quando quiser

Pergunte ao Fernando sobre isto

Uma resposta focada sobre este estudo, do meu assistente de IA, baseada no meu trabalho.

Participe da conversa

Entre para comentar

Confirme seu e-mail para participar, você também recebe a newsletter. Sem senha.

Neste estudo
O Problema: Agentes São Sistemas Compostos que Degradam de Formas Não-ÓbviasDesign Proposto: Três Camadas de AvaliaçãoArquiteturaDataset Management: Versionamento, Curadoria e o Problema do Dataset DriftAlternativas de Design: Abordagens de AvaliaçãoDecisão: Estratégia de Sampling para Avaliação OnlinePlano de RolloutVeredictoReferências