Claude Architect · Aula

Antipadrões de Escalonamento e Métricas

Escalonamento por sentimento, pontuações de confiança e métricas apenas agregadas.

Aula 4 de 413 etapas

Antipadrões de Escalonamento e Métricas é uma aula grátis de Claude Architect no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Claude Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Claude Architect inclui 4 aulas no total.

Dois modos silenciosos de falha

Agentes em produção raramente falham de forma evidente. Eles falham ao encaminhar casos para humanos pelos motivos errados e ao relatar métricas de saúde que ocultam danos reais.

Esta lição analisa dois antipadrões favoritos das provas: escalonamento orientado por sentimento ou confiança autoavaliada e métricas de precisão somente agregadas. Ambos parecem razoáveis, ambos passam em uma demonstração e ambos corroem silenciosamente a confiança em escala.

Sistemas no nível de um arquiteto escalam com base em gatilhos defensáveis e medem o desempenho estratificado pelo que realmente importa.

Como é um bom gatilho de escalonamento

Escalonar para um humano é uma ação privilegiada. Isso deve ocorrer com base em gatilhos que você consiga defender em uma auditoria:

  • Solicitação humana explícita — o cliente pede uma pessoa; escale imediatamente.
  • Lacunas na política — nenhuma regra abrange este caso.
  • Ausência de progresso — tentativas repetidas não resolveram o problema.
  • Violação de limites — por exemplo, um reembolso excede um limite permitido.

Cada um desses casos corresponde a um fato concreto e observável na conversa ou nos resultados das ferramentas — não a uma suposição sobre como o usuário se sente.

def should_escalate(turn):
    if turn.customer_requested_human:
        return True            # explicit request -> escalate now
    if turn.no_matching_policy:
        return True            # policy gap
    if turn.attempts >= turn.max_attempts and not turn.resolved:
        return True            # no progress after real attempts
    if turn.refund_amount > REFUND_LIMIT:
        return True            # threshold violation
    return False

A armadilha do escalonamento por sentimento

É tentador vincular o escalonamento a um classificador de sentimentos: "se o usuário parecer irritado, encaminhe para um humano".

Esse é um gatilho ruim. O sentimento é ruidoso, fácil de interpretar incorretamente e não tem correlação com a capacidade real de o agente resolver o problema. Um usuário calmo com uma solicitação impossível ainda precisa de escalonamento; um usuário frustrado com uma correção de uma etapa não precisa.

Escalonar com base na emoção sobrecarrega sua fila humana com solicitações solucionáveis e ensina o agente a desistir em vez de resolver.

A confiança autoavaliada também não é um gatilho

O segundo antipadrão sedutor: pedir ao modelo que avalie a própria confiança de 1 a 10 e fazer um escalonamento quando ela estiver "baixa".

A confiança autoatribuída por um modelo não é calibrada. Ele pode estar extremamente confiante e ainda assim estar errado, ou hesitante e estar correto. O mesmo se aplica a classificadores não treinados acoplados ao fluxo de processamento.

O teatro da confiança fornece um número que parece ser um sinal, mas não traz informações confiáveis sobre a correção.

# Anti-pattern: escalate on the model's own confidence score
ESCALATE_IF = """Rate your confidence 1-10. If <= 4, escalate."""
# Problem: that 1-10 number is uncalibrated. The model may rate
# a hallucinated answer 9/10. This signal is not trustworthy.

O padrão correto para conversas emocionais

A frustração é real e merece ser tratada — apenas não como um gatilho de escalonamento. O padrão correto é uma sequência:

  • Reconheça a emoção — mostre ao usuário que ele foi ouvido.
  • Proponha uma solução concreta — tente de fato resolver o problema.
  • Faça o escalonamento somente se a solicitação for reiterada — caso o usuário ainda insista em falar com uma pessoa depois de uma tentativa genuína.

Isso resolve a maioria dos casos no próprio agente e reserva o tempo das pessoas para situações que realmente precisam dele.

SYSTEM = """When a customer is upset:
1. Acknowledge their frustration briefly and sincerely.
2. Propose a concrete next step using your tools.
3. Escalate to a human ONLY if they reiterate the request
   for a person after you have attempted a solution.
Never escalate based on tone alone."""

Identidade ambígua: pergunte, não adivinhe

Uma regra de confiabilidade relacionada aparece no cenário de Suporte ao Cliente. Quando uma consulta retorna vários clientes correspondentes, o agente deve pedir mais identificadores — nunca adivinhar qual registro está correto.

Adivinhar traz o risco de agir na conta errada: reembolsar o pedido errado ou vazar os dados de outra pessoa. A "correspondência mais provável" não é suficiente quando a ação é irreversível.

Assim como o escalonamento, a resolução de identidade deve se basear em fatos observáveis, não em palpites probabilísticos.

result = get_customer(email=email)
if len(result.matches) > 1:
    # Do NOT pick the first / 'most likely' match.
    return ask_user(
        "I found multiple accounts. Can you share your order "
        "number or postal code so I can find the right one?"
    )

Aplicação determinística de limites rígidos

Alguns gatilhos de escalonamento são, na verdade, regras de negócio — e regras de negócio com implicações financeiras, legais ou de segurança não podem depender do prompt.

Os prompts são aproximadamente 90% probabilísticos; os hooks são 100% determinísticos. Um hook PostToolUse ou de chamada de saída pode bloquear uma ação que viole uma política (por exemplo, um reembolso acima de US$ 500) antes que ela seja executada, independentemente do que o modelo tenha decidido.

Se a violação de um limite tiver consequências reais, aplique-o com um hook, não com uma instrução esperançosa.

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "process_refund",
      "command": "./guards/block_refund_over_500.sh"
    }]
  }
}
// Hook rejects refund_amount > 500 deterministically,
// forcing escalation instead of trusting the prompt.

Por que a precisão agregada engana

Passando às métricas: um único número de destaque, como "97% de precisão", é uma das coisas mais perigosas no painel de um arquiteto.

Uma média agregada pode ocultar um desempenho ruim em um tipo específico de documento ou campo. Seu extrator pode ter 99% de precisão em faturas e 60% em recibos manuscritos — e os 97% combinados parecem ótimos enquanto o fluxo de recibos está silenciosamente quebrado.

Métricas exclusivamente agregadas transmitem uma falsa confiança e atrasam a descoberta de falhas localizadas.

Estratifique pelo que importa

A solução é usar amostragem aleatória estratificada junto com confiança em nível de campo. Em vez de uma única pontuação global, divida o desempenho entre as dimensões que envolvem risco: tipo de documento, campo, segmento de cliente e idioma.

A estratificação revela o fluxo de recibos com 60% de precisão que a média ocultava. Ela transforma "o sistema funciona" em "o sistema funciona aqui e falha ali" — que é a única afirmação sobre a qual você pode agir.

# Don't report one number. Report per-stratum accuracy.
for doc_type in ("invoice", "receipt", "handwritten"):
    sample = stratified_sample(labeled_set, doc_type, n=200)
    for field in REQUIRED_FIELDS:
        acc = field_accuracy(sample, field)
        print(doc_type, field, acc)   # exposes hidden weak spots

Calibre antes de automatizar

A confiança em nível de campo só é útil se for calibrada em um conjunto de validação rotulado antes de permitir que ela controle a automação. A calibração informa o que uma confiança de 0,8 realmente significa em termos de correção no mundo real.

Sem calibração, você volta ao teatro da confiança — a mesma falha de um modelo atribuir a si mesmo uma nota de 1 a 10. A disciplina é idêntica para o escalonamento e para as métricas: confie em um número somente depois de demonstrar que ele acompanha a realidade.

Detectando discrepâncias, não apenas relatando pontuações

Uma boa medição também inclui autoverificações. Para a extração, faça o modelo apresentar tanto um calculated_total quanto um stated_total, para que um validador posterior possa sinalizar divergências — um sinal concreto e verificável, em vez de uma impressão.

Isso combina naturalmente com métricas estratificadas: as discrepâncias se concentram exatamente nos estratos que o número agregado estava ocultando. Meça onde o sistema falha e, em seguida, aplique os limites com proteções determinísticas.

schema = {
    "type": "object",
    "properties": {
        "calculated_total": {"type": "number"},
        "stated_total": {"type": "number"}
    },
    "required": ["calculated_total", "stated_total"]
}
# Validator compares the two; a gap is a hard, actionable signal.

Verificação rápida: gatilho de escalonamento

Aplique a regra a uma decisão real de projeto.

Recapitulação: gatilhos defensáveis, métricas honestas

Principais conclusões:

  • Bons gatilhos de escalonamento: solicitação explícita de uma pessoa, lacunas na política, ausência de progresso e violações de limites.
  • Maus gatilhos: sentimento, confiança autoatribuída pelo modelo e classificadores não treinados — nenhum deles é um sinal calibrado.
  • Casos emocionais: reconheça a emoção, proponha uma solução e faça o escalonamento somente se a solicitação for reiterada. Quando houver várias correspondências de identidade, peça mais identificadores — nunca adivinhe.
  • Limites rígidos (reembolso > US$ 500) pertencem a hooks determinísticos, não a prompts.
  • A precisão agregada oculta tipos de documento e campos fracos. Use amostragem estratificada e confiança em nível de campo, calibrada em um conjunto rotulado, antes de automatizar.

Faça o escalonamento com base em fatos; meça onde o sistema falha.

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
26
Aulas
104

Perguntas Frequentes

A aula “Antipadrões de Escalonamento e Métricas” é grátis?

Sim — o texto completo de “Antipadrões de Escalonamento e Métricas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Claude Architect, atualize para CoddyKit PRO. O curso de Claude Architect inclui 4 aulas no total.

O que vou aprender em “Antipadrões de Escalonamento e Métricas”?

Escalonamento por sentimento, pontuações de confiança e métricas apenas agregadas. Você pratica Claude Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Claude Architect?

Nenhuma experiência prévia é necessária. Claude Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Antipadrões de Escalonamento e Métricas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Claude Architect?

Sim. Cada aula de Claude Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Antipadrões de Ciclos e Orquestração
  2. Antipadrões de Ferramentas e Erros
  3. Antipadrões de Prompts e Revisões
  4. Antipadrões de Escalonamento e Métricas
← Voltar para Claude Architect