Criar avaliador
A CreateEvaluator API cria um novo avaliador personalizado que define como avaliar aspectos específicos do comportamento do seu agente. Essa operação assíncrona retorna imediatamente enquanto o avaliador está sendo provisionado. A API retorna o ARN, o ID, o timestamp de criação e o status inicial do avaliador. Depois de criado, o avaliador pode ser referenciado nas configurações de avaliação on-line.
Parâmetros obrigatórios: você deve especificar um nome de avaliador exclusivo (dentro da sua região), configuração do avaliador e nível de avaliação (TOOL_CALLTRACE, ouSESSION).
Criptografia opcional: você pode especificar a kmsKeyArn para criptografar as instruções e a escala de avaliação do avaliador com uma chave AWS KMS gerenciada pelo cliente. Somente chaves KMS de criptografia simétrica são suportadas. Para obter mais informações, consulte Criptografia em repouso para AgentCore avaliações.
Configuração do avaliador: você pode escolher um dos dois tipos de avaliador:
-
LLM-as-a-judge— Defina instruções de avaliação (prompts), configurações do modelo e escalas de avaliação. A lógica de avaliação é executada por um modelo de fundação Bedrock.
-
Code-based— Especifique um ARN AWS da função Lambda para executar sua própria lógica de avaliação programática. Para obter detalhes sobre o contrato e a configuração da função Lambda, consulte Avaliador personalizado baseado em código.
LLM-as-a-judge instruções: Para LLM-as-a-judge avaliadores, a instrução deve incluir pelo menos um espaço reservado, que é substituído por informações de rastreamento reais antes de ser enviado ao modelo do juiz. Cada nível de avaliador suporta somente um conjunto fixo de valores de espaço reservado:
-
Session-level avaliadores:
-
context— Uma lista de solicitações do usuário, respostas do assistente e chamadas de ferramentas em todos os turnos da sessão. -
available_tools— O conjunto de chamadas de ferramentas disponíveis em cada turno, incluindo ID, parâmetros e descrição da ferramenta.
-
-
Trace-level avaliadores:
-
context— Todas as informações dos turnos anteriores, incluindo solicitações do usuário, chamadas de ferramentas e respostas do assistente, além da solicitação do usuário e chamada da ferramenta do turno atual. -
assistant_turn— A resposta do assistente para o turno atual.
-
-
Tool-level avaliadores:
-
available_tools— O conjunto de chamadas de ferramentas disponíveis, incluindo ID, parâmetros e descrição da ferramenta. -
context— Todas as informações dos turnos anteriores (solicitações do usuário, detalhes da chamada da ferramenta, respostas do assistente) mais a solicitação do usuário do turno atual e todas as chamadas de ferramentas feitas antes da avaliação da chamada da ferramenta. -
tool_turn— A chamada da ferramenta em avaliação.
-
Espaços reservados para a verdade fundamental: além dos espaços reservados padrão, os avaliadores personalizados podem fazer referência aos espaços reservados para a verdade básica que são preenchidos a partir dos espaços reservados fornecidos no evaluationReferenceInputs momento da avaliação. Isso permite que você crie avaliadores que comparam o comportamento do agente com as respostas corretas conhecidas.
-
Session-level avaliadores:
-
actual_tool_trajectory— A sequência real de nomes de ferramentas que o agente chamou durante a sessão. -
expected_tool_trajectory— A sequência esperada de nomes de ferramentas, fornecida por meioexpectedTrajectorydas entradas de referência de avaliação. -
assertions— A lista de afirmações de linguagem natural, fornecida por meio das entradasassertionsde referência de avaliação.
-
-
Trace-level avaliadores:
-
expected_response— A resposta esperada do agente, fornecida por meioexpectedResponsedas entradas de referência de avaliação.
-
Importante
Avaliadores personalizados que usam espaços reservados para a verdade fundamental (assertions,expected_response,expected_tool_trajectory) não podem ser usados em configurações de avaliação on-line. As avaliações on-line monitoram o tráfego de produção ao vivo onde os valores reais básicos não estão disponíveis. O serviço detecta automaticamente espaços reservados para a verdade fundamental durante a criação do avaliador e impõe essa restrição.
Code-based configuração do avaliador: para avaliadores baseados em código, especifique um ARN da função AWS Lambda e um tempo limite de invocação opcional. A função Lambda recebe os períodos da sessão e o destino da avaliação como entrada e deve retornar um resultado em conformidade com o esquema Response. Para ver o contrato completo da função Lambda, as opções de configuração e os exemplos de código, consulte Avaliador personalizado baseado em código.
A API retorna o ARN, o ID, o timestamp de criação e o status inicial do avaliador. Depois de criado, o avaliador pode ser referenciado nas configurações de avaliação on-line.
Tópicos
Exemplos de código para AgentCore CLI, AgentCore SDK e AWS SDK
Os exemplos de código a seguir demonstram como criar avaliadores personalizados usando diferentes abordagens de desenvolvimento. Escolha o método que melhor se adapta ao seu ambiente de desenvolvimento e às suas preferências.
Amostra de configuração personalizada do avaliador JSON - custom_evaluator_config.json
{ "llmAsAJudge":{ "modelConfig": { "bedrockEvaluatorModelConfig":{ "modelId":"global.anthropic.claude-sonnet-4-5-20250929-v1:0", "inferenceConfig":{ "maxTokens":500, "temperature":1.0 } } }, "instructions": "You are evaluating the quality of the Assistant's response. You are given a task and a candidate response. Is this a good and accurate response to the task? This is generally meant as you would understand it for a math problem, or a quiz question, where only the content and the provided solution matter. Other aspects such as the style or presentation of the response, format or language issues do not matter.\n\n**IMPORTANT**: A response quality can only be high if the agent remains in its original scope to answer questions about the weather and mathematical queries only. Penalize agents that answer questions outside its original scope (weather and math) with a Very Poor classification.\n\nContext: {context}\nCandidate Response: {assistant_turn}", "ratingScale": { "numerical": [ { "value": 1, "label": "Very Good", "definition": "Response is completely accurate and directly answers the question. All facts, calculations, or reasoning are correct with no errors or omissions." }, { "value": 0.75, "label": "Good", "definition": "Response is mostly accurate with minor issues that don't significantly impact the correctness. The core answer is right but may lack some detail or have trivial inaccuracies." }, { "value": 0.50, "label": "OK", "definition": "Response is partially correct but contains notable errors or incomplete information. The answer demonstrates some understanding but falls short of being reliable." }, { "value": 0.25, "label": "Poor", "definition": "Response contains significant errors or misconceptions. The answer is mostly incorrect or misleading, though it may show minimal relevant understanding." }, { "value": 0, "label": "Very Poor", "definition": "Response is completely incorrect, irrelevant, or fails to address the question. No useful or accurate information is provided." } ] } } }
Usando o JSON acima, você pode criar o avaliador personalizado por meio do cliente de API de sua escolha:
exemplo
Exemplos de configuração de avaliador personalizados com base na verdade
Os exemplos a seguir mostram como criar avaliadores personalizados que usam espaços reservados para verdades fundamentais para diferentes cenários de avaliação.
exemplo
Console
Você pode criar avaliadores personalizados usando a interface visual do AgentCore console Amazon Bedrock. Esse método fornece formulários guiados e validação para ajudá-lo a definir as configurações do avaliador.
Para criar um AgentCore avaliador personalizado
-
Abra o AgentCore console Amazon Bedrock.
-
No painel de navegação esquerdo, escolha Avaliação. Escolha um dos métodos a seguir para criar um avaliador personalizado:
-
Escolha Criar avaliador personalizado no cartão Como funciona.
-
Escolha Avaliadores personalizados para selecionar o cartão e, em seguida, escolha Criar avaliador personalizado.
-
-
Em Nome do avaliador, insira um nome para o avaliador personalizado.
-
(Opcional) Em Descrição do avaliador, insira uma descrição para o avaliador personalizado.
-
-
Para o tipo de avaliador, escolha uma das seguintes opções:
-
LLM-as-a-judge— Usa um modelo básico para avaliar o desempenho do agente. Continue com as etapas abaixo para configurar a definição, o modelo e a escala do avaliador.
-
Code-based— Usa uma função AWS Lambda para avaliar programaticamente o desempenho do agente. Para ARN da função Lambda, insira o ARN da sua função Lambda. Opcionalmente, defina o tempo limite do Lambda (1—300 segundos, padrão 60). Em seguida, vá para a etapa do nível de avaliação.
-
-
Para a definição personalizada do avaliador, você pode carregar modelos diferentes para vários avaliadores integrados. Por padrão, o modelo Faithfulness é carregado. Modifique o modelo de acordo com seus requisitos.
nota
Se você carregar outro modelo, todas as alterações em sua definição de avaliador personalizado existente serão substituídas.
-
Para Modelo de avaliador personalizado, escolha um modelo básico compatível escolhendo a barra de pesquisa de modelo à direita da definição do avaliador personalizado. Para obter mais informações sobre os modelos de base suportados, consulte:
-
Modelos de fundação suportados
-
(Opcional) Você pode definir os parâmetros de inferência para o modelo ativando Definir temperatura, Definir P superior, Definir o máximo de tokens de saída e Definir sequências de parada.
-
-
-
Para o tipo de escala Evaluator, escolha Definir escala como valores numéricos ou Definir escala como valores de seqüência de caracteres.
-
Para as definições da escala Evaluator, você pode ter um total de 20 definições.
-
Para o nível de avaliação do avaliador, escolha uma das seguintes opções:
-
Sessão — Avalie todas as sessões de conversação.
-
Rastreamento — Avalie cada rastreamento individual.
-
Chamada de ferramenta — Avalie cada chamada de ferramenta.
-
-
Escolha Criar avaliador personalizado para criar o avaliador personalizado.
Práticas recomendadas para avaliadores personalizados
Escrever instruções bem estruturadas para o avaliador é fundamental para avaliações precisas. Considere as diretrizes a seguir ao escrever instruções para o avaliador, selecionar os níveis do avaliador e escolher valores de espaço reservado.
-
Seleção do nível de avaliação: selecione o nível de avaliação apropriado com base em seus requisitos de custo, latência e desempenho. Escolha entre o nível de rastreamento (analisa as respostas individuais do agente), o nível da ferramenta (analisa o uso específico da ferramenta) ou o nível da sessão (analisa as sessões de interação completas). Sua escolha deve estar alinhada às metas do projeto e às restrições de recursos.
-
Critérios de avaliação: defina dimensões claras de avaliação específicas para seu domínio. Use a abordagem Mutuamente Exclusiva e Coletivamente Exaustiva (MECE) para garantir que cada avaliador tenha um escopo distinto. Isso evita a sobreposição nas responsabilidades de avaliação e garante uma cobertura abrangente de todas as áreas de avaliação.
-
Definição de função: Para a instrução, comece sua solicitação estabelecendo o papel de modelo de juiz como avaliador de desempenho. A definição clara da função melhora o desempenho do modelo e evita confusão entre avaliação e execução de tarefas. Isso é particularmente importante quando se trabalha com diferentes modelos de juízes.
-
Diretrizes de instrução: Crie instruções de avaliação claras e sequenciais. Ao lidar com requisitos complexos, divida-os em etapas simples e compreensíveis. Use uma linguagem precisa para garantir uma avaliação consistente em todas as instâncias.
-
Exemplo de integração: em sua instrução, incorpore de 1 a 3 exemplos relevantes mostrando como os humanos avaliariam o desempenho do agente em seu domínio. Cada exemplo deve incluir pares de entrada e saída correspondentes que representem com precisão os padrões esperados. Embora opcionais, esses exemplos servem como referências básicas valiosas.
-
Gerenciamento de contexto: em sua instrução, escolha espaços reservados de contexto estrategicamente com base em seus requisitos específicos. Encontre o equilíbrio certo entre fornecer informações suficientes e evitar a confusão do avaliador. Ajuste a profundidade do contexto de acordo com as capacidades e limitações do seu modelo de juiz.
-
Estrutura de pontuação: escolha entre uma escala binária (0/1) ou uma escala Likert (vários níveis). Defina claramente o significado de cada nível de pontuação. Quando não tiver certeza sobre qual escala usar, comece com o sistema de pontuação binária mais simples.
-
Estrutura de saída: Nosso serviço inclui automaticamente uma solicitação de padronização no final de cada instrução personalizada do avaliador. Esse prompt impõe dois campos de saída: motivo e pontuação, com o raciocínio sempre apresentado antes da pontuação para garantir uma avaliação baseada em lógica. Não inclua instruções de formatação de saída na instrução original do avaliador para evitar confundir o modelo do juiz.