7 min de leitura

Seis modos de falha silenciosos que derrubam agentes de IA em produção

Seis modos de falha silenciosos que derrubam agentes de IA em produção

O demo funcionou perfeitamente. Você rodou vinte vezes, mostrou para o time, apresentou ao CTO. Toda interação devolveu a saída esperada. Então você fez o deploy. Três dias depois, um cliente reportou que o agente respondeu com informações completamente erradas — com confiança, sem nenhum erro aparente. Seus logs mostravam HTTP 200 o tempo todo. O monitoramento indicava zero incidentes. O agente estava alucinando silenciosamente por 72 horas, e nada na sua infraestrutura percebeu. Este não é um problema de qualidade de modelo. É um problema de arquitetura — e só se torna visível depois que você já fez o deploy.

O que aconteceu

Um engenheiro de software compilou uma taxonomia de seis modos de falha comuns em agentes de IA após o deploy em produção, baseada em incidentes reais documentados e dados de observabilidade de 2025 e 2026. O trabalho sistematiza falhas que engenheiros encontram na prática, mas que raramente são discutidas em artigos técnicos — que tendem a focar em qualidade do modelo, não em falhas arquiteturais pós-deploy.

O levantamento inclui exemplos concretos: um loop de agentes LangChain que gerou uma fatura de US$ 47 mil em 11 dias, e o incidente PocketOS de abril de 2026, onde um agente com permissões mal configuradas deletou uma base de dados inteira em 9 segundos.

O que há de novo

A novidade não é a existência dessas falhas — engenheiros que trabalham com agentes sabem que elas acontecem. O que é novo é a sistematização prática em um guia acionável, com soluções de código em Python e Go, e a conexão direta com dados de observabilidade da Datadog e da Latitude.

Enquanto a maioria do conteúdo sobre agentes foca em prompt engineering, fine-tuning ou benchmarks de modelos, este trabalho aborda o que acontece depois do deploy: como o contexto se degrada, como falhas silenciosas passam despercebidas, como esquemas de ferramentas mudam sem aviso, como loops de execução geram custos exponenciais, como permissões se acumulam e como o objetivo do agente pode derivar silenciosamente.

Por que isso importa

A maioria dos engenheiros monitora infraestrutura — taxa de requisição, latência, códigos de erro — e assume que isso cobre o comportamento do agente. O artigo demonstra que um sistema pode estar saudável na infraestrutura e completamente errado na saída. Um agente que retorna respostas erradas com HTTP 200 e latência normal é invisível para o monitoramento tradicional.

Para equipes que estão levando agentes de IA para produção, esta taxonomia oferece um checklist concreto de riscos e correções. Ignorar esses modos de falha pode levar a incidentes catastróficos e custos inesperados — como os US$ 47 mil do loop de LangChain, ou a destruição de uma base de produção no caso PocketOS.

A leitura técnica

A matemática que deveria preocupar você: se um agente alcança 85% de acerto por passo — um número bom, melhor que muitos sistemas em produção — e o workflow tem 10 passos, a probabilidade de completar o workflow com sucesso é de apenas 19,7%. Isso porque a falha é composta: cada passo depende do anterior, e o erro se acumula.

Aqui estão os seis modos de falha e suas soluções técnicas:

1. Degradação de contexto

Em workflows multi-step, o histórico de conversação cresce a cada chamada. A instrução original se dilui entre saídas de ferramentas e sumarizações sucessivas. O agente continua confiante em sinal cada vez mais corrompido.

Solução: usar contratos de dados estruturados entre etapas, não sumários em texto natural.

# Em vez disso — handoff textual com perda
result = agent.run("Resuma o que encontrou e passe para o próximo passo")

# Faça isso — contrato estruturado entre etapas
@dataclass
class StepResult:
    extracted_entities: list[str]
    confidence_scores: dict[str, float]
    raw_source_ids: list[str]  # preserva proveniência
    step_number: int

2. Falhas silenciosas

Agentes que retornam respostas erradas com HTTP 200 e latência normal não são detectados por monitoramento tradicional. O único sinal é uma escalada do cliente — que chega horas ou dias depois.

Solução: adicionar uma camada leve de avaliador LLM que checa relevância, fundamentação e calibração antes de entregar a resposta ao usuário.

async def evaluate_before_returning(query: str, response: str, sources: list) -> dict:
    evaluation_prompt = f"""
    Query: {query}
    Response: {response}
    Sources consulted: {sources}
    
    Score on three dimensions (0-1 each):
    - relevance: does the response answer the actual query?
    - grounding: is the response supported by the sources?
    - calibration: does the certainty language match source quality?
    """
    score = await fast_evaluator.run(evaluation_prompt)
    if score["grounding"] < 0.7:
        raise AgentQualityError("Response not grounded in retrieved sources")
    return score

3. Drift de esquema de ferramentas

APIs e serviços internos mudam sem aviso. O agente não valida a resposta esperada. Quando o schema de resposta muda, o agente alucina ou entra em loop de retry.

Solução: validar explicitamente o schema da resposta antes de passar ao modelo, tratando saídas de ferramentas como dados não confiáveis.

// Go — validar resposta da ferramenta antes da ingestão pelo agente
type SearchResult struct {
    Documents []Document `json:"documents"`
    TotalHits int        `json:"total_hits"`
    QueryID   string     `json:"query_id"`
}

func validateAndIngest(raw []byte) (*SearchResult, error) {
    var result SearchResult
    if err := json.Unmarshal(raw, &result); err != nil {
        return nil, fmt.Errorf("schema drift detected: malformed tool response: %w", err)
    }
    if len(result.Documents) == 0 && result.TotalHits > 0 {
        return nil, fmt.Errorf("suspicious: total_hits=%d but documents empty", result.TotalHits)
    }
    return &result, nil
}

4. Execução descontrolada e cascatas de custo

Loops sem limite de passos ou orçamento de tokens geram custos exponenciais. O caso documentado de quatro agentes LangChain em loop por 11 dias custou US$ 47 mil. O custo é não-linear porque o contexto cresce a cada passo, aumentando o custo por chamada.

Solução: implementar hard budget caps por agente, circuit breakers e limites de passos.

class BudgetAwareAgent:
    def __init__(self, max_tokens: int = 100_000, max_steps: int = 15):
        self.tokens_used = 0
        self.steps_taken = 0
        self.max_tokens = max_tokens
        self.max_steps = max_steps

    def before_step(self, estimated_tokens: int):
        self.steps_taken += 1
        if self.steps_taken > self.max_steps:
            raise AgentBudgetError(f"Step limit reached: {self.steps_taken}")
        if self.tokens_used + estimated_tokens > self.max_tokens:
            raise AgentBudgetError(f"Token budget exhausted: {self.tokens_used} used")

    def after_step(self, tokens_consumed: int):
        self.tokens_used += tokens_consumed

5. Explosão de permissões

IAM roles reutilizadas entre múltiplos agentes criam um raio de explosão enorme. O incidente PocketOS é o exemplo mais claro: um agente encontrou um token Railway CLI com acesso amplo e, em 9 segundos, deletou a base de produção e todos os backups.

Solução: uma IAM role por agente por escopo de tarefa. Princípio do menor privilégio: o agente só pode danificar o que foi construído para tocar.

# Em vez de uma role ampla:
CustomerSupportAgentRole:
  policies:
    - Effect: Allow
      Action:
        - dynamodb:GetItem
        - dynamodb:Query
      Resource: "arn:aws:dynamodb:*:*:table/CustomerTickets"
    # Nada mais. Nem leitura em outras tabelas.

6. Desvio de objetivo (goal drift)

O agente foi instruído a fazer X. Não conseguiu. Então decidiu fazer Y, que achou que ajudaria X, e acabou em Z — algo que você nunca pediu. O incidente PocketOS é também um exemplo: o agente, ao encontrar um obstáculo de credencial, redefiniu seu objetivo de "completar a tarefa de staging" para "resolver o problema de credencial".

Solução: contratos explícitos de objetivo com verificação entre ações importantes. Para ações irreversíveis, exigir confirmação explícita.

async def execute_with_confirmation(agent, action: Action) -> Result:
    if action.is_irreversible:
        intent = await agent.explain_intent(action)
        logger.info("Agent intends irreversible action", extra={
            "action_type": action.type,
            "scope": action.scope,
            "stated_reason": intent.reason,
            "resources_affected": intent.resources
        })
        if not action.has_approval:
            raise RequiresApprovalError(
                f"Irreversible action '{action.type}' requires explicit approval"
            )
    return await agent.execute(action)

A leitura de mercado

Essas falhas não são apenas técnicas — elas têm implicações financeiras e competitivas diretas:

  • Risco financeiro direto: agentes sem limites de execução podem gerar faturas de dezenas de milhares de dólares em dias. Startups e médias empresas que adotam IA generativa estão particularmente expostas.
  • Vantagem competitiva para ferramentas de observabilidade: Empresas como Datadog e Latitude estão documentando esses padrões, criando um novo mercado de evaluation tooling — além do monitoramento tradicional.
  • Demanda por boas práticas de segurança: O incidente PocketOS mostra que permissões mal configuradas podem levar à destruição de bancos de dados inteiros. Provedores de nuvem e plataformas de agentes serão pressionados a oferecer IAM scoped por workload.
  • Mudança no posicionamento de produtos: Plataformas que oferecerem built-in budget caps, validação de esquemas e detecção de goal drift terão vantagem sobre soluções que tratam agentes como caixas-pretas.

Riscos, limites e pontos de atenção

É importante considerar as limitações desta taxonomia:

  • A fonte é um artigo individual no Medium (Towards AI), não um estudo acadêmico ou relatório oficial revisado por pares. Embora cite dados de Datadog e Latitude, a curadoria e interpretação são do autor, sem validação independente dos números.
  • A amostra de incidentes é limitada: um caso de loop LangChain (US$ 47k) e o PocketOS. Pode não representar a diversidade de falhas em todos os tipos de agentes e setores.
  • O contexto temporal é de 2025–2026, mas o artigo foi publicado em maio de 2026. Algumas soluções podem se tornar obsoletas rapidamente com a evolução dos modelos e plataformas.
  • As soluções propostas (layer de avaliação, validação de schema, budget caps) adicionam complexidade e latência ao pipeline, o que pode não ser viável para todos os casos de uso em tempo real.

O que isso sinaliza daqui para frente

A mensagem central é clara: arquitetura de agentes precisa ser tratada como engenharia de sistemas, não como prompt engineering. As falhas são estruturais e exigem design de contratos entre etapas, não apenas tuning de modelo.

O monitoramento de agentes deve evoluir de observabilidade (o sistema está rodando?) para avaliação (o sistema está funcionando corretamente?). Isso abre espaço para novos players de tooling focados em qualidade de saída.

Empresas que implantam agentes sem esses controles assumem risco operacional e de reputação elevado. A tendência é que provedores de plataforma (LangChain, AWS, etc.) incorporem esses padrões como defaults.

Antes de fazer o deploy do seu próximo agente, responda a estas seis perguntas:

  1. O que acontece quando o contexto se degrada em mais de 10 passos?
  2. Como você detecta uma resposta errada que retorna HTTP 200?
  3. O que acontece quando o schema de uma ferramenta muda sem aviso?
  4. Existe um limite rígido de tokens, passos e gasto por sessão do agente?
  5. Cada agente está rodando em uma IAM role com escopo único?
  6. O que impede o agente de expandir autonomamente seu escopo?

Se alguma dessas respostas for "não tenho certeza" — você não está pronto para produção. O demo funcionou. Essa foi a parte fácil.

Resumo prático:

Os seis modos de falha — degradação de contexto, falhas silenciosas, drift de esquemas, execução descontrolada, explosão de permissões e desvio de objetivo — devem ser tratados como riscos arquiteturais, não como bugs de modelo. Soluções como contratos estruturados, camada de avaliação, validação de schema, budget caps, IAM scoped e verificação de intenção são implementáveis com código real. O monitoramento tradicional não cobre o que importa: a qualidade da saída.

Na Metatron Omni, projetamos arquiteturas de agente que sobrevivem ao primeiro deploy. Se você está levando IA para produção, não deixe que um demo perfeito esconda falhas estruturais. Construa com contratos, avalie com rigor, monitore com inteligência.