Como abordar testes de política de raciocínio automatizado reprovados - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como abordar testes de política de raciocínio automatizado reprovados

Se um teste de sua política de raciocínio automatizado for reprovado, analise a lógica e as regras extraídas nas descobertas do teste. Há várias maneiras de abordar as falhas, dependendo do problema:

nota

Vídeo tutorial: Para ver um step-by-step passo a passo sobre como refinar e solucionar problemas de uma política de raciocínio automatizado, assista ao tutorial a seguir:

Tutorial Demo 3 - Refining the Automated Reasoning policy

Noções básicas sobre anotações

Anotações são correções que você aplica para retificar sua política quando os testes são reprovados. Se um teste não retornar o resultado esperado, você poderá modificar as respectivas condições, executá-lo novamente e aplicar a devida modificação como uma anotação para atualizar sua política.

As anotações são usadas para:

  • Corrigir regras incorretas.

  • Adicionar variáveis ausentes.

  • Melhorar a descrição das variáveis.

  • Resolver ambiguidades na tradução.

Exemplo: anotação de retificação de políticas

Problema: Licença aprovada pela política para todos os funcionários em tempo integral, mas o documento fonte exige mais de 1 ano.

Regra original:

if isFullTime is true, then eligibleForParentalLeave is true

Anotação aplicada:

  1. tenureMonthsVariável adicionada (tipo INT)

  2. Atualização da regra para: if isFullTime is true and tenureMonths is greater than 12, then eligibleForParentalLeave is true.

  3. O teste agora retorna corretamente INVALID para funcionários com menos de 12 meses de mandato

  • Atualize as condições do teste reprovado e execute-o novamente. Se o teste exibir o resultado de validação esperado, você poderá aplicar essa anotação para atualizar a política.

  • Atualize nomes ou descrições das variáveis da política para ajudar o raciocínio automatizado a distingui-las, pois ele converte a linguagem natural em lógica.

  • Atualize as regras da política se você acredita que o raciocínio automatizado não entendeu o documento original ou que o documento original contém erros.

  • Edite a lógica da política adicionando variáveis e tipos. Há várias maneiras de atualizar as regras para usar novas variáveis. Esse é um caso de uso avançado que normalmente não recomendamos.

  • Crie sua política novamente com instruções mais abrangentes. As instruções devem incluir contexto suficiente para que o raciocínio automatizado extraia a lógica apropriada à forma como sua aplicação será usada. Também recomendamos incluir exemplos de perguntas e respostas que você espera que sejam feitas ao seu documento original.

Quando é impossível fornecer orientação

Em alguns casos, o raciocínio automatizado pode indicar que é impossível fornecer orientação para um teste reprovado. Isso normalmente ocorre quando há problemas fundamentais na estrutura política que impedem uma análise clara.

Os cenários comuns em que não é possível oferecer orientação incluem:

  • Regras conflitantes: sua política contém regras contraditórias que criam inconsistências lógicas. Por exemplo, uma regra pode afirmar que funcionários em tempo integral são elegíveis para licença, enquanto outra regra afirma que funcionários com menos de um ano de serviço não são elegíveis, sem especificar como lidar com funcionários em tempo integral com menos de um ano de serviço.

  • Cobertura de regras incompleto: sua política tem lacunas em que determinas combinações de condições não são tratadas por nenhuma regra, impossibilitando a determinação do resultado correto.

  • Dependências circulares: regras que dependem umas das outras de uma forma que cria loops lógicos, impedindo que o sistema chegue a uma conclusão definitiva.

  • Interações entre regras excessivamente complexas: quando várias regras interagem de uma maneira que cria resultados ambíguos ou contraditórios para cenários de teste específicos.

Para resolver o problema:

  1. Revise suas regras de política sistematicamente: a página de definições no console mostrará avisos sobre regras que estão em conflito, variáveis não utilizadas e valores não utilizados em tipos personalizados. As mesmas informações estão disponíveis no QUALITY_REPORT ativo a partir da ação GetAutomatedReasoningPolicyBuildWorkflowResultAssets da API.

  2. Verifique se as regras estão completas: verifique se suas regras abrangem todas as combinações possíveis de condições que possam ocorrer em seu domínio. Identifique quaisquer lacunas nas quais nenhuma regra se aplique.

  3. Simplifique as interações complexas: se você tiver muitas regras interconectadas, considere a possibilidade de dividi-las em regras mais simples e focadas que sejam mais fáceis de entender e validar.

  4. Teste casos extremos: crie testes adicionais que visem especificamente às condições de limite e os casos extremos em sua política para identificar em que situação pode haver conflitos ou lacunas.

  5. Considere a possibilidade de reestruturar a política: se os conflitos persistirem, talvez seja necessário reestruturar sua política com hierarquias de regras ou ordens de precedência mais claras para resolver ambiguidades.

Quando você se depara com essa situação, geralmente é útil começar com uma versão mais simples da política e aumentar a complexidade gradualmente ao testar cada etapa para identificar em que ponto os conflitos se evidenciam.

Os exemplos a seguir mostram os motivos comuns pelos quais um teste pode ser reprovado e como resolvê-los.

O raciocínio automatizado não compreende o documento original

Causa comum

O raciocínio automatizado pode não ter extraído todas as variáveis necessárias do documento original ou as descrições das variáveis podem não estar claras o suficiente para converter adequadamente a linguagem natural em lógica formal.

Resolução

  1. Examine a lista Variáveis na tela Definição para verificar se todas as variáveis necessárias para extrair afirmações factuais de sua pergunta e resposta estão presentes em sua política.

  2. Se uma variável necessária estiver ausente:

    1. Escolha Adicionar para criar uma variável.

    2. Selecione o tipo apropriado (booliano, inteiro, real ou enumeração).

    3. Escreva uma descrição clara e abrangente da variável.

  3. Se uma variável existe, mas não foi atribuída corretamente durante a validação da pergunta e da resposta, melhore a descrição para ajudar o raciocínio automatizado a converter melhor a linguagem natural. Por exemplo:

    Descrição original (muito limitada): “Funcionários que trabalham mais de vinte horas por semana”.

    Descrição aprimorada: “Os funcionários que trabalham mais de 20 horas por semana são considerados de período integral. Defina esse valor como verdadeiro quando os usuários mencionarem que trabalham em ‘período integral’ ou em horário integral e falso quando mencionarem que trabalham ‘meio período’ ou em jornada reduzida”.

As regras da política de raciocínio automatizado estão erradas

Causa comum

O raciocínio automatizado pode ter interpretado mal seu documento original ou seu documento original pode conter erros ou inconsistências.

Resolução

  1. Se a saída de validação citar uma regra incorreta, edite a regra. Provavelmente você logo perceberia isso, porque um teste que você esperava que fosse INVALID voltou como VALID.

  2. Ao fazer referência a variáveis na regra, use o nome completo da variável especificado na seção Definições da política. Por exemplo, explicite isFullTime. Se você esperava que as perguntas e respostas de entrada correspondessem a uma regra específica, primeiro verifique se as variáveis das perguntas e respostas de entrada estão corretas. Se estiverem, pode ser necessário adicionar uma nova regra.

  3. Use o botão Adicionar na parte superior direita da lista de regras para inserir uma nova regra. Use linguagem natural para especificar a regra. Especifique primeiro as restrições e faça referência às variáveis pelo nome completo. Por exemplo, para uma regra que só permite que funcionários de período integral tirem licença, o texto poderia ser semelhante a: “Se um funcionário isFullTime, poderá tirar licença remunerada (LoAP)”.

Políticas de raciocínio automatizado que exibem TRANSLATION_AMBIGUOUS

Causas comuns

Se a política exibir TRANSLATION_AMBIGUOUS, isso indica que o raciocínio automatizado detectou ambiguidade na conversão da linguagem natural em lógica formal. Isso ocorre quando o sistema não consegue determinar definitivamente como correlacionar conceitos em linguagem natural a variáveis e regras lógicas formais em sua política.

A ambiguidade da conversão pode surgir de várias causas subjacentes:

  • Definições de variáveis sobrepostas: quando diversas variáveis em sua política podem representar razoavelmente o mesmo conceito mencionado em linguagem natural, o sistema não consegue determinar qual variável usar. Por exemplo, se você tiver as variáveis tenureMonths e monthsOfService com descrições semelhantes, o sistema poderá ter dificuldade em determinar qual delas usar quando um usuário perguntar “Há quanto tempo [Fulano] trabalha na empresa”. Isso cria ambiguidade no processo de interpretação e pode levar a resultados inconsistentes.

  • Descrições incompletas de variáveis: descrições de variáveis que carecem de detalhes suficientes sobre como os usuários podem se referir aos conceitos usando linguagem cotidiana, dificultando associação entre a entrada do usuário e a representação lógica formal correta.

  • Entrada ambígua em linguagem natural: prompts do usuário ou respostas do modelo que contêm afirmações vagas, contraditórias ou com várias possibilidades de interpretação que não podem ser claramente interpretadas em lógica formal.

  • Ausência de informações contextuais: quando a linguagem natural se refere a conceitos que existem em seu domínio e não estão adequadamente representados no esquema de variáveis de sua política.

  • Terminologia inconsistente: quando o mesmo conceito é referido usando diferentes termos em seu documento original, nas descrições de variáveis e nas interações com o usuário, criando confusão durante a interpretação.

Compreender essas causas pode ajudar você a depurar problemas em seus testes e determinar quais alterações devem ser feitas em sua política. Em alguns casos, talvez seja necessário ajustar as configurações do nível de confiança da política para contrabalançar melhor precisão rigorosa e usabilidade prática em seu caso de uso específico.

Resolução

Há várias maneiras de corrigir isso, dependendo do problema subjacente:

  • Descrições de variáveis muito semelhantes: quando duas variáveis têm nomes ou descrições semelhantes, o processo de interpretação pode escolher entre elas de forma inconsistente. Por exemplo, se você tiver as variáveis isFullTime e fullTimeStatus com descrições semelhantes, o sistema talvez não associe consistentemente a linguagem natural referente ao status da contratação à variável correta. Analise as descrições das variáveis para que cada uma tenha propósitos e contextos claramente diferenciados. Considere a possibilidade de consolidar conceitos duplicados em uma única variável ou garantir que cada uma tenha um propósito distinto com descrições claras e não sobrepostas que especifiquem exatamente quando cada uma deve ser usada.

  • Contexto variável insuficiente: as descrições das variáveis podem não abranger adequadamente como os usuários podem se referir aos conceitos em seu domínio. Atualize as descrições das variáveis com o nível correto de contexto.

  • Formatação de valores inconsistente: a ambiguidade da interpretação pode ocorrer quando o sistema não tem certeza de como formatar valores (como números ou datas). Atualize as descrições das variáveis para explicitar os formatos esperados.

  • Entrada ambígua: se o texto de entrada contiver declarações ambíguas, use as divergências entre as interpretações alternativas para revisá-las para serem mais precisas.