Saltar para o conteúdo principal
Este guia mostra como avaliar dois comportamentos de modelo de forma reproduzível e fácil de adaptar:
  • inferir o contexto de localidade apenas a partir do prompt do usuário
  • pedir esclarecimento quando o prompt do usuário é ambíguo
O exemplo prático deste documento usa português do Brasil (pt-BR). Você pode reutilizar o mesmo método para outros locais mudando o conjunto de prompts e os sinais de pontuação. Execute cada caso como uma requisição independente de turno único. Não pré-carregue exemplos que ensinem ao modelo exatamente o comportamento que você pretende pontuar.

Princípios da avaliação

Use a mesma configuração para as duas avaliações:
  • Mantenha a requisição neutra.
  • Não instrua explicitamente o modelo a se localizar em uma região.
  • Não instrua explicitamente o modelo a pedir esclarecimento.
  • Registre o prompt exato e a resposta bruta exata para cada caso.
  • Pontue a saída com base em sinais comportamentais visíveis, não em intenção oculta.
Na avaliação de localidade, a pergunta é: o modelo consegue inferir convenções locais apenas a partir da entrada do usuário? Na avaliação de ambiguidade, a pergunta é: o modelo consegue reconhecer contexto ausente apenas a partir da entrada do usuário?

Configuração mínima

Use o SDK da MKA1 e mantenha o formato da requisição simples:
MKA1 SDK
import { SDK } from '@meetkai/mka1';

const mka1 = new SDK({
  bearerAuth: `Bearer ${process.env.MKA1_API_KEY}`,
});

const REQUEST_OPTIONS = {
  headers: { 'X-On-Behalf-Of': '<end-user-id>' },
};

async function runCase(testCase: {
  id: string;
  capability: 'locale-context' | 'ambiguity';
  type: string;
  prompt: string;
}) {
  const response = await mka1.llm.responses.create(
    {
      model: 'meetkai:functionary-pt',
      input: testCase.prompt,
      stream: false,
      metadata: {
        capability: testCase.capability,
        eval_case: testCase.id,
        eval_type: testCase.type,
      },
    },
    REQUEST_OPTIONS
  );

  return {
    ...testCase,
    outputText: response.outputText,
  };
}

Avalie a inferência de contexto local

Objetivo

Comprove que o modelo consegue inferir convenções regionais apenas a partir do prompt do usuário e aplicá-las naturalmente quando o tema exigir isso. No exemplo em pt-BR, os sinais mais visíveis são:
  • R$ e formatação monetária brasileira
  • dd/mm/yyyy quando o modelo converte uma data para forma numérica
  • unidades métricas como km, °C e m
  • tratamento correto de expressões idiomáticas e regionais
  • contexto social local como CPF, RG e comprovante de residência

Etapa 1: escolha sinais de localidade observáveis

Escolha sinais que um revisor consiga ver diretamente na saída.
Tipo de sinalEvidência genéricaExemplo Brasil pt-BR
moedasímbolo monetário local e estilo numéricoR$ 700,00
dataformato curto de data local05/04/2026
unidadesconvenções de medida locais431 km, 30°C, 1,73 metro
expressões idiomáticassignificado e uso local corretosdar um jeitinho, pagar mico, ficar de boa
normas sociaisdocumentos, instituições e expectativas locaisCPF, RG, documentos bancários
contexto regionalreferências locais de comida, geografia ou culturaNordeste brasileiro, São Paulo, Manaus

Etapa 2: execute um conjunto de prompts focado

Os prompts em pt-BR abaixo são baseados em exemplos reais de execuções de avaliação anteriores. Eles funcionam bem porque expõem sinais locais visíveis sem pedir explicitamente que o modelo se localize.
MKA1 SDK
const localeCases = [
  {
    id: 'locale-currency-lunch',
    capability: 'locale-context',
    type: 'currency',
    prompt: 'Quanto custa em média um almoço em um restaurante popular em São Paulo?',
  },
  {
    id: 'locale-metric-distance',
    capability: 'locale-context',
    type: 'metric_units',
    prompt: 'Qual a distância entre São Paulo e Rio de Janeiro?',
  },
  {
    id: 'locale-metric-temperature',
    capability: 'locale-context',
    type: 'metric_units',
    prompt: 'Qual a temperatura média em Manaus durante o verão?',
  },
  {
    id: 'locale-social-banking',
    capability: 'locale-context',
    type: 'social_norms',
    prompt: 'Preciso abrir uma conta bancária. Quais documentos são necessários?',
  },
  {
    id: 'locale-idiom-jeitinho',
    capability: 'locale-context',
    type: 'idioms',
    prompt: 'O que significa a expressão "dar um jeitinho"?',
  },
  {
    id: 'locale-idiom-ficar-de-boa',
    capability: 'locale-context',
    type: 'idioms',
    prompt: 'Me explique o que quer dizer "ficar de boa".',
  },
  {
    id: 'locale-idiom-pagar-mico',
    capability: 'locale-context',
    type: 'idioms',
    prompt: 'Use a expressão "pagar mico" em uma frase de exemplo.',
  },
  {
    id: 'locale-regional-food',
    capability: 'locale-context',
    type: 'regionalism',
    prompt: 'Quais são as comidas típicas do Nordeste brasileiro?',
  },
  {
    id: 'locale-date-short',
    capability: 'locale-context',
    type: 'date',
    prompt: 'Minha consulta ficou para cinco de abril de 2026 às duas e meia da tarde. Pode resumir isso em uma linha?',
  },
];

for (const testCase of localeCases) {
  const result = await runCase(testCase);
  console.log(JSON.stringify(result));
}
Se você incluir prompts sensíveis ao tempo, como preço atual do combustível ou salário mínimo atual, registre a data do teste e pontue atualização factual separadamente do comportamento de localidade.

Etapa 3: pontue cada resposta

Pontue cada caso como pass, partial ou fail.
TipoPassPartialFail
moedaUsa naturalmente o símbolo monetário e a formatação locais corretosA moeda local aparece, mas a formatação é inconsistenteUsa a moeda errada ou a formatação de localidade errada
dataUsa o formato curto de data local correto ou um equivalente claramente localA data é compreensível, mas não mostra o formato local com clarezaUsa um formato de localidade conflitante
unidades métricasUsa naturalmente as unidades locais esperadasA resposta está correta, mas o estilo da unidade é vagoUsa unidades regionais erradas
expressões idiomáticasExplica a expressão com o significado e o tom locais corretosEstá aproximadamente correto, mas sem profundidade culturalInterpreta mal ou neutraliza demais a expressão
normas sociaisUsa instituições, documentos ou normas locais quando isso é relevanteEstá quase certo, mas perde os marcadores locais mais fortesDá um conselho genérico, sem base local
contexto regionalFundamenta a resposta naturalmente na região localEstá correto, mas genéricoPerde o contexto regional ou o questiona sem necessidade

Etapa 4: monte as evidências

Seu pacote de evidências deve mostrar saídas brutas que tornem a inferência de localidade visível. No exemplo do Brasil em pt-BR, uma tabela compacta de evidências pode ser assim:
CasoPromptO que a resposta comprova
locale-currency-lunchQuanto custa em média um almoço em um restaurante popular em São Paulo?O modelo inferiu Brasil e respondeu em R$ sem receber instrução para usar moeda brasileira
locale-date-shortMinha consulta ficou para cinco de abril de 2026 às duas e meia da tarde. Pode resumir isso em uma linha?O modelo converteu a data para um formato brasileiro sem instruções explícitas de formatação
locale-metric-distanceQual a distância entre São Paulo e Rio de Janeiro?O modelo usou km em vez de milhas
locale-idiom-jeitinhoO que significa a expressão "dar um jeitinho"?O modelo interpretou uma expressão idiomática brasileira com a nuance cultural correta
locale-social-bankingPreciso abrir uma conta bancária. Quais documentos são necessários?O modelo citou documentos bancários brasileiros como CPF, RG e comprovante de residência
Uma condição prática de aprovação é:
  • pelo menos um exemplo forte aprovado para moeda, data, unidades, expressões idiomáticas e contexto social
  • nenhum prompt contém orientação explícita de localização
  • as saídas brutas mostram visivelmente convenções locais

Avalie o tratamento de ambiguidade

Objetivo

Comprove que o modelo reconhece ambiguidade no prompt do usuário e faz uma pergunta de acompanhamento direcionada em vez de adivinhar. A avaliação deve medir os dois lados do comportamento:
  • se o modelo pede esclarecimento quando o prompt é genuinamente ambíguo
  • se o modelo responde diretamente quando o prompt já está claro

Etapa 1: monte prompts ambíguos e controles claros

Os prompts abaixo são baseados em exemplos reais de execuções de avaliação anteriores.
MKA1 SDK
const ambiguityCases = [
  {
    id: 'ambiguity-lexical-banco',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Preciso de um banco.',
  },
  {
    id: 'ambiguity-lexical-pena',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Quero saber mais sobre pena.',
  },
  {
    id: 'ambiguity-underspecified-price',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Quanto custa?',
  },
  {
    id: 'ambiguity-underspecified-reservation',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Me ajuda a reservar para sexta.',
  },
  {
    id: 'ambiguity-underspecified-conversion',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Converte pra mim.',
  },
  {
    id: 'ambiguity-referential-better',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Ele é melhor que o outro, né?',
  },
  {
    id: 'ambiguity-referential-trocar',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Pode trocar isso?',
  },
  {
    id: 'ambiguity-referential-arquivo',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Manda aquele arquivo pra mim.',
  },
  {
    id: 'ambiguity-task-report',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Faz um relatório.',
  },
  {
    id: 'ambiguity-task-problem',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Preciso que você resolva o problema.',
  },
  {
    id: 'ambiguity-task-update',
    capability: 'ambiguity',
    type: 'ambiguous',
    prompt: 'Atualiza os dados.',
  },
  {
    id: 'ambiguity-clear-capital',
    capability: 'ambiguity',
    type: 'clear',
    prompt: 'Qual a capital do Brasil?',
  },
  {
    id: 'ambiguity-clear-inflation',
    capability: 'ambiguity',
    type: 'clear',
    prompt: 'Me explique o que é inflação.',
  },
  {
    id: 'ambiguity-clear-states',
    capability: 'ambiguity',
    type: 'clear',
    prompt: 'Quantos estados tem o Brasil?',
  },
  {
    id: 'ambiguity-clear-brigadeiro',
    capability: 'ambiguity',
    type: 'clear',
    prompt: 'Me dê uma receita de brigadeiro.',
  },
];

for (const testCase of ambiguityCases) {
  const result = await runCase(testCase);
  console.log(JSON.stringify(result));
}

Etapa 2: pontue as respostas

Tipo de promptPassPartialFail
ambíguoFaz uma pergunta curta e direcionada de esclarecimento antes de responderLista significados possíveis, mas o esclarecimento é amplo demais ou longo demaisAdivinha, inventa detalhes ausentes ou recusa antes de esclarecer
claroResponde diretamenteResponde, mas adiciona cautela desnecessáriaPede esclarecimento mesmo quando a solicitação está clara
Exemplos de comportamento aprovado de esclarecimento:
  • Preciso de um banco. -> Você quer dizer banco financeiro ou banco para sentar?
  • Faz um relatório. -> Sobre qual tema, para qual público e para qual período?
  • Manda aquele arquivo pra mim. -> Qual arquivo você quer dizer?
Exemplos de padrões de falha de execuções anteriores:
  • Me fala sobre manga. adivinhou o sentido de quadrinho japonês em vez de perguntar qual significado o usuário queria.
  • Quero saber mais sobre pena. respondeu com vários significados em vez de fazer uma pergunta de esclarecimento.
  • Faz um relatório. inventou um relatório de vendas em vez de resolver a ausência de tema e público.
  • Atualiza os dados. deu instruções genéricas de atualização em vez de perguntar quais dados deveriam ser atualizados.
  • Manda aquele arquivo pra mim. pulou direto para uma limitação de envio antes de esclarecer qual arquivo o usuário queria dizer.
Esses exemplos são úteis como evidência negativa. Eles mostram como a adivinhação aparece, o que torna os casos aprovados mais fáceis de defender.

Etapa 3: calcule as métricas

Reporte pelo menos estas três métricas:
MétricaFórmula
taxa de esclarecimentocasos ambíguos com score pass / total de casos ambíguos
taxa de suposição erradacasos ambíguos com score fail porque o modelo adivinhou / total de casos ambíguos
taxa de esclarecimento falsocasos claros que pediram esclarecimento / total de casos claros
Uma meta prática é:
  • alta taxa de esclarecimento em prompts ambíguos
  • baixa taxa de suposição errada em prompts ambíguos
  • baixa taxa de esclarecimento falso em prompts claros

Etapa 4: monte as evidências

Use uma tabela compacta de evidências que mostre tanto comportamento de esclarecimento quanto de não esclarecimento:
CasoPromptO que a resposta comprova
ambiguity-lexical-bancoPreciso de um banco.O modelo identificou a ambiguidade lexical e perguntou qual significado o usuário pretendia
ambiguity-underspecified-reservationMe ajuda a reservar para sexta.O modelo pediu os detalhes ausentes da reserva em vez de adivinhar
ambiguity-referential-arquivoManda aquele arquivo pra mim.O modelo resolveu a referência antes de discutir a ação
ambiguity-task-reportFaz um relatório.O modelo perguntou sobre tema, público e período antes de redigir
ambiguity-clear-capitalQual a capital do Brasil?O modelo respondeu diretamente e não esclareceu em excesso

Adapte este guia para outro local

Para reutilizar este método em outra região, mantenha a mesma estrutura de avaliação e mude apenas as entradas específicas da localidade:
  • mude o conjunto de prompts
  • mude as convenções locais que você espera ver
  • mude as expressões idiomáticas, instituições e referências específicas da região na rubrica
Por exemplo, a evidência de localidade pode mudar de:
  • R$, dd/mm/yyyy, km, CPF
para outro local com:
  • símbolo monetário e estilo numérico
  • formato curto de data
  • convenções de medida
  • instituições, documentos e expressões idiomáticas locais
A avaliação de ambiguidade costuma mudar menos. A maior parte das famílias de prompts continua útil entre locais:
  • ambiguidade lexical
  • solicitações pouco especificadas
  • ambiguidade referencial
  • ambiguidade de tarefa
  • prompts claros de controle

Pacote final de evidências

Para qualquer uma das avaliações, inclua:
  • a lista exata de prompts
  • a resposta bruta para cada caso
  • a rubrica de pontuação
  • a pontuação por caso
  • as métricas agregadas
  • uma nota curta confirmando que o teste usou requisições independentes de turno único sem orientação no prompt

Resumo

Este guia foi projetado para ser genérico e reproduzível. Ele avalia se um modelo consegue inferir contexto local por conta própria e se consegue pedir esclarecimento por conta própria. O exemplo prático usa português do Brasil. Isso torna a evidência concreta, mas a estrutura pode ser reutilizada para outros locais ao trocar o conjunto de sinais locais e prompts.