Os testes de política de raciocínio automatizado falharam - 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á.

Os testes de política de raciocínio automatizado falharam

Se um teste de sua política de raciocínio automatizado falhar, revise a lógica e as regras extraídas nos resultados do teste. Há várias maneiras de resolver a falha, 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 de demonstração 3 - Refinando a política de raciocínio automatizado

Entendendo as anotações

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

Use anotações para:

  • Corrigir regras incorretas

  • Adicionar variáveis ausentes

  • Melhore as descrições das variáveis

  • Resolver ambigüidades de tradução

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

Problema: Licença aprovada pela política para funcionário com 8 meses de mandato, mas o documento fonte exige mais de 1 ano.

Regra original:

if is_full_time = true, then eligible_for_parental_leave = true

Anotação aplicada:

  1. years_of_serviceVariável adicionada (tipo real)

  2. Regra atualizada para: if is_full_time = true and years_of_service >= 1.0, then eligible_for_parental_leave = true

  3. O teste agora retorna corretamente INVÁLIDO para funcionário de 8 meses

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

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

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

  • Edite a lógica da sua política adicionando variáveis e tipos. Em seguida, você pode atualizar suas regras para usar as novas variáveis. Esse é um caso de uso avançado que normalmente não recomendamos.

  • Recrie sua política com instruções mais abrangentes. As instruções devem incluir contexto suficiente para que o raciocínio automatizado possa extrair a lógica relevante para a forma como seu aplicativo será usado. Também recomendamos incluir exemplos de perguntas e respostas que você espera que sejam feitas sobre seu documento de origem.

Quando é impossível fornecer orientação

Em alguns casos, o raciocínio automatizado pode indicar que é impossível fornecer orientação para um teste que falhou. Isso normalmente ocorre quando há problemas fundamentais com a estrutura política que impedem uma análise clara. Quando isso acontece, você deve inspecionar suas regras de política e procurar conflitos.

Os cenários comuns em que a orientação não pode ser fornecida 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 incompleta: sua apólice tem lacunas em que certas combinações de condições não são tratadas por nenhuma regra, impossibilitando determinar o resultado correto.

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

  • Interações de regras excessivamente complexas: quando várias regras interagem de forma a criar resultados ambíguos ou contraditórios para cenários de teste específicos.

Para resolver esses problemas:

  1. Revise suas regras de política sistematicamente: analise cada regra em sua política e identifique qualquer uma que possa entrar em conflito com outras. Procure regras que possam ser aplicadas ao mesmo cenário, mas que produzam resultados diferentes.

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

  3. Simplifique interações complexas: se você tiver muitas regras interconectadas, considere 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 as condições de limite e os casos extremos em sua política para identificar onde possam existir conflitos ou lacunas.

  5. Considere a reestruturação da 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 ambigüidades.

Quando você se depara com essa situação, geralmente é útil começar com uma versão mais simples da sua política e gradualmente adicionar complexidade ao testar cada etapa para identificar onde os conflitos são introduzidos.

Os exemplos a seguir são motivos comuns pelos quais um teste pode falhar e como resolvê-los.

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

Causa comum

O raciocínio automatizado pode não ter extraído todas as variáveis necessárias do documento fonte, ou as descrições das variáveis podem não estar claras o suficiente para uma tradução adequada da linguagem natural para a lógica formal.

Resolução

  1. Examine a lista de 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 nova variável.

    2. Selecione o tipo apropriado (bool, int, real ou enum).

    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 sua descrição para ajudar o raciocínio automatizado a traduzir melhor a linguagem natural. Por exemplo:

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

    Descrição aprimorada: “Os funcionários que trabalham mais de 20 horas por semana são considerados em tempo integral. Defina esse valor como verdadeiro quando os usuários mencionam estar em “período integral” ou trabalhar em horário integral e falso quando mencionam ser “em tempo parcial” ou trabalhar em horário reduzido.”

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

Causa comum

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

Resolução

  1. Se a saída de validação citar uma regra incorreta, edite a regra. Você provavelmente notaria isso primeiro porque VALID o teste voltou como você esperavaINVALID.

  2. Ao referenciar variáveis na regra, use o nome completo da variável especificado na seção Definições da política. Por exemplo, soletre. is_full_time 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, talvez seja necessário adicionar uma nova regra.

  3. Use o botão Adicionar no canto superior direito 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 em tempo integral tirem licença, o texto poderia ser algo como: “Se for um funcionáriois_full_time, ele poderá tirar uma licença remunerada (LoaP)”.

Devoluções de políticas de raciocínio automatizado TRANSLATION_AMBIGUOUS

Causas comuns

Se sua política retornarTRANSLATION_AMBIGUOUS, isso indica que o raciocínio automatizado detectou ambigüidade na tradução da linguagem natural para a lógica formal. Isso ocorre quando o sistema não consegue determinar definitivamente como mapear conceitos de linguagem natural para as variáveis e regras lógicas formais em sua política.

A ambigüidade da tradução pode surgir de várias causas subjacentes:

  • Definições de variáveis sobrepostas: quando várias variáveis em sua política podem representar razoavelmente o mesmo conceito mencionado em linguagem natural, o sistema não pode determinar qual variável usar. Por exemplo, se você tiver years_of_service variáveis com descrições semelhantes, o sistema poderá ter dificuldade em determinar qual delas usar quando um usuário perguntar sobre “há quanto tempo alguém trabalha na empresa”. employee_tenure_years Isso cria ambigüidade no processo de traduçã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 na linguagem cotidiana, dificultando o mapeamento da entrada do usuário para a representação lógica formal correta.

  • Entrada ambígua em linguagem natural: solicitações do usuário ou respostas de modelo que contêm declarações vagas, contraditórias ou multiinterpretáveis que não podem ser claramente traduzidas em lógica formal.

  • Informações contextuais ausentes: quando a linguagem natural se refere a conceitos que existem em seu domínio, mas não estão adequadamente representados no esquema variável de sua política.

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

Compreender essas causas pode ajudá-lo a depurar problemas com seus testes e determinar quais alterações fazer em sua política. Em alguns casos, talvez seja necessário ajustar as configurações do nível de confiança de sua política para equilibrar melhor entre precisão estrita e usabilidade prática em seu caso de uso específico.

Resolução

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

  • As descrições das variáveis são muito semelhantes: quando duas variáveis têm nomes ou descrições semelhantes, o processo de tradução pode escolher entre elas de forma inconsistente. Por exemplo, se você tiver full_time_status variáveis com descrições semelhantes, o sistema pode não mapear consistentemente a linguagem natural sobre o status de emprego para a variável correta. is_full_time Revise suas descrições de variáveis para que cada uma tenha propósitos e contextos claramente diferenciados. Considere consolidar conceitos duplicados em uma única variável ou garantir que cada variável 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: suas descrições de variáveis podem não abranger adequadamente como os usuários podem se referir aos conceitos em seu domínio. Atualize suas descrições de variáveis com o nível certo de contexto.

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

  • Entrada ambígua: se o texto de entrada contiver declarações ambíguas, revise-as para serem mais precisas.

Você pode usar um dos seguintes prompts para corrigir problemas de ambiguidade na tradução:

Ambiguidade sem fonte
You are an expert in revising answers to questions based on logical disagreements found in the answers. Given a domain, a question, an original answer, and logical ambiguities suggested from scearios, your task is to revise the original answer to address and resolve the logical ambiguities identified above. The revised answer should remove any ambiguities, such that one can clearly judge whether each scenario is consistent or inconsistent with the answer. The revised answer should have approximately the same length as the original answer. Avoid extending the answer with your own background knowledge. Below is an example. DOMAIN: DiscountPolicy QUESTION: I want to buy tickets for next Thursday. How many people are needed to qualify for your group discount? ORIGINAL ANSWER: You need at least 10 people to get the group discount. LOGICAL AMBIGUITIES FOUND: disagree_scenario1: ['(= group_size 12)', '(= advanced_booking false)', '(= group_discount true)'] (Analysis: The scenario says the group size is 12, there is no advanced booking and group discount is true. Is this consistent with the answer? Well, the original answer does not mention advanced booking. Maybe the answer assumed advanced booking from the question "I want to buy tickets for next Thursday", but that's debatable. The revised answer should make it clear.) REVISED ANSWER: You need at least 10 people and need to book in advance to get the group discount. (Note: Scenarios are illustrative cases highlighting potential ambiguities. Do not overfit in your revised answer. In the example above, you should use the original "You need at least 10 people..." rather than the scenario-specific "If you have 12 people...") Now complete the following task and return the revised answer. (Just return the answer. Do not return any analysis or notes) DOMAIN: {domain} QUESTION: {question} ORIGINAL ANSWER: {original_answer} LOGICAL AMBIGUITIES FOUND: It is unclear if the following scenarios are valid or not according to the answer. {disagreement_text} REVISED ANSWER:
Ambiguidade com a fonte
You are an expert in revising answers to questions based on logical disagreements found in the answers. Given a domain, a question, an original answer, a piece of policy source text, and logical ambiguities suggested from scearios, your task is to revise the original answer to address and resolve the logical ambiguities identified above. The revised answer should remove any ambiguities, such that one can clearly judge whether each scenario is consistent or inconsistent with the answer. The revised answer should have approximately the same length as the original answer. Avoid extending the answer with your own background knowledge. The revised answer should be consistent with the actual policy from the source text. Below is an example. DOMAIN: DiscountPolicy QUESTION: I want to buy tickets for next Thursday. How many people are needed to qualify for your group discount? ORIGINAL ANSWER: You need at least 10 people to get the group discount. POLICY SOURCE TEXT: ... We offer discounts to students, seniors, and large groups. Students must present a valid ID ... A group of ten or more people are qualified for a group discount. Group discount tickets must be booked in advance. Each group ticket is 20% off the regular ticket price ... LOGICAL AMBIGUITIES FOUND: disagree_scenario1: ['(= group_size 12)', '(= advanced_booking false)', '(= group_discount true)'] (Analysis: The scenario says the group size is 12, there is no advanced booking and group discount is true. Is this consistent with the answer? Well, the original answer does not mention advanced booking. Maybe the answer assumed advanced booking from the question "I want to buy tickets for next Thursday", but that's debatable. The revised answer should make it clear.) REVISED ANSWER: You need at least 10 people and need to book in advance to get the group discount. (Note: Scenarios are illustrative cases highlighting potential ambiguities. Do not overfit in your revised answer. In the example above, you should use the original "You need at least 10 people..." rather than the scenario-specific "If you have 12 people...") Now complete the following task and return the revised answer. (Just return the answer. Do not return any analysis or notes) DOMAIN: {domain} QUESTION: {question} ORIGINAL ANSWER: {original_answer} POLICY SOURCE TEXT: {policy_source_text} LOGICAL DISAGREEMENTS FOUND: It is unclear if the following scenarios are valid or not according to the answer. {disagreement_text} REVISED ANSWER: