Risolvi i test delle policy di ragionamento automatico non riusciti - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risolvi i test delle policy di ragionamento automatico non riusciti

Se un test della tua politica di ragionamento automatico fallisce, esamina la logica e le regole estratte nei risultati del test. Esistono diversi modi per risolvere l'errore a seconda del problema:

Nota

Video tutorial: per una step-by-step procedura dettagliata su come perfezionare e risolvere i problemi di una politica di ragionamento automatico, guarda il seguente tutorial:

Dimostrazione del tutorial 3 - Perfezionamento della politica di ragionamento automatizzato

Comprensione delle annotazioni

Le annotazioni sono correzioni che si applicano per correggere la politica in caso di esito negativo dei test. Se un test non restituisce il risultato previsto, puoi modificare le condizioni del test, rieseguirlo e applicare la modifica corretta come annotazione per aggiornare la tua politica.

Usa le annotazioni per:

  • Correggere regole errate

  • Aggiungi variabili mancanti

  • Migliora le descrizioni delle variabili

  • Risolvi le ambiguità di traduzione

Esempio: annotazione sulla riparazione delle politiche

Problema: congedo approvato dalla politica per i dipendenti con mandato di 8 mesi, ma il documento originale richiede più di 1 anno.

Regola originale:

if is_full_time = true, then eligible_for_parental_leave = true

Annotazione applicata:

  1. years_of_serviceVariabile aggiunta (tipo reale)

  2. Regola aggiornata a: if is_full_time = true and years_of_service >= 1.0, then eligible_for_parental_leave = true

  3. Test now restituisce correttamente INVALID per un dipendente di 8 mesi

  • Aggiorna le condizioni del test fallito ed eseguilo nuovamente. Se il test restituisce il risultato di convalida previsto, puoi applicare questa annotazione per aggiornare la tua politica.

  • Aggiorna i nomi o le descrizioni delle variabili della policy per aiutare Automated Reasoning a distinguerle mentre traduce il linguaggio naturale in logica.

  • Aggiorna le regole della tua politica se ritieni che Automated Reasoning abbia frainteso il documento di origine o che il documento sorgente contenga errori.

  • Modifica la logica della tua politica aggiungendo variabili e tipi. Puoi quindi aggiornare le regole per utilizzare le nuove variabili. Si tratta di un caso d'uso avanzato che in genere non consigliamo.

  • Ricrea la tua politica con istruzioni più complete. Le istruzioni devono includere un contesto sufficiente per consentire al ragionamento automatico di estrarre la logica pertinente al modo in cui verrà utilizzata l'applicazione. Ti consigliamo inoltre di includere esempi di domande e risposte che ti aspetti vengano poste sul tuo documento di origine.

Quando è impossibile fornire indicazioni

In alcuni casi, il ragionamento automatico può indicare che è impossibile fornire indicazioni in caso di esito negativo del test. Ciò si verifica in genere quando vi sono problemi fondamentali nella struttura delle politiche che impediscono un'analisi chiara. Quando ciò accade, è necessario esaminare le regole della politica e cercare eventuali conflitti.

Gli scenari comuni in cui non è possibile fornire indicazioni includono:

  • Regole contrastanti: la politica contiene regole contraddittorie che creano incongruenze logiche. Ad esempio, una regola potrebbe stabilire che i dipendenti a tempo pieno hanno diritto alle ferie, mentre un'altra regola afferma che i dipendenti con meno di un anno di servizio non sono idonei, senza specificare come gestire i dipendenti a tempo pieno con meno di un anno di servizio.

  • Copertura incompleta delle regole: la polizza presenta delle lacune in quanto determinate combinazioni di condizioni non sono disciplinate da alcuna regola, il che rende impossibile determinare l'esito corretto.

  • Dipendenze circolari: regole che dipendono l'una dall'altra in modo da creare cicli logici che impediscono al sistema di raggiungere una conclusione definitiva.

  • Interazioni tra regole eccessivamente complesse: quando più regole interagiscono in modi che creano risultati ambigui o contraddittori per scenari di test specifici.

Per risolvere questi problemi:

  1. Rivedi sistematicamente le regole della tua politica: esamina ogni regola della tua politica e identifica quelle che potrebbero essere in conflitto con le altre. Cerca regole che possano essere applicate allo stesso scenario ma che producano risultati diversi.

  2. Verifica la completezza delle regole: assicurati che le regole coprano tutte le possibili combinazioni di condizioni che potrebbero verificarsi nel tuo dominio. Identifica eventuali lacune in cui non si applica alcuna regola.

  3. Semplifica le interazioni complesse: se hai molte regole interconnesse, valuta la possibilità di suddividerle in regole più semplici e mirate, più facili da comprendere e convalidare.

  4. Casi limite di test: crea test aggiuntivi che mirino specificamente alle condizioni limite e ai casi limite previsti dalla tua politica per identificare dove potrebbero esistere conflitti o lacune.

  5. Prendi in considerazione la ristrutturazione delle politiche: se i conflitti persistono, potrebbe essere necessario ristrutturare la politica con gerarchie di regole o ordini di precedenza più chiari per risolvere le ambiguità.

Quando si verifica questa situazione, spesso è utile iniziare con una versione più semplice della politica e aggiungere gradualmente complessità durante i test ad ogni passaggio per identificare dove vengono introdotti i conflitti.

Gli esempi seguenti illustrano i motivi più comuni per cui un test potrebbe fallire e come risolverli.

Il ragionamento automatico non comprende il documento di origine

Cause comuni

Il ragionamento automatico potrebbe non aver estratto tutte le variabili necessarie dal documento di origine oppure le descrizioni delle variabili potrebbero non essere sufficientemente chiare per una traduzione corretta dal linguaggio naturale alla logica formale.

Risoluzione

  1. Consultate l'elenco delle variabili nella schermata Definizione per verificare che tutte le variabili necessarie per estrarre affermazioni fattuali dalla domanda e dalla risposta siano presenti nella politica.

  2. Se manca una variabile obbligatoria:

    1. Scegli Aggiungi per creare una nuova variabile.

    2. Seleziona il tipo appropriato (bool, int, real o enum).

    3. Scrivi una descrizione della variabile chiara e completa.

  3. Se una variabile esiste ma non è stata assegnata correttamente durante la convalida di domande e risposte, migliorane la descrizione per aiutare Automated Reasoning a tradurre meglio il linguaggio naturale. Per esempio:

    Descrizione originale (troppo limitata): «Dipendenti che lavorano più di 20 ore a settimana».

    Descrizione migliorata: «I dipendenti che lavorano più di 20 ore settimanali sono considerati a tempo pieno. Imposta questo valore su true quando gli utenti menzionano di essere «a tempo pieno» o di lavorare a orario pieno e su falso quando menzionano di essere «part-time» o di lavorare a orario ridotto».

Le regole della tua politica di ragionamento automatico sono sbagliate

Cause comuni

Il ragionamento automatico potrebbe aver interpretato male il documento di origine oppure il documento di origine potrebbe contenere errori o incongruenze.

Risoluzione

  1. Se l'output di convalida riporta una regola errata, modifica la regola. Probabilmente te ne accorgeresti per la prima volta perché un test è tornato come VALID previsto. INVALID

  2. Quando fai riferimento alle variabili nella regola, usa il nome completo della variabile specificato nella sezione Definizioni della politica. Ad esempio, ripeti. is_full_time Se ti aspettavi che le domande e risposte di input corrispondessero a una regola specifica, controlla innanzitutto che le variabili delle domande e risposte di input siano corrette. Se lo sono, potrebbe essere necessario aggiungere una nuova regola.

  3. Usa il pulsante Aggiungi in alto a destra dell'elenco delle regole per inserire una nuova regola. Usa il linguaggio naturale per specificare la regola. Specificate prima i vincoli e fate riferimento alle variabili con il loro nome completo. Ad esempio, per una regola che consente solo ai dipendenti a tempo pieno di prendere un congedo, il testo potrebbe essere qualcosa del tipo: «Se un dipendenteis_full_time, allora può prendere un congedo retribuito (LoAp)».

Restituzioni della politica di ragionamento automatico TRANSLATION_AMBIGUOUS

Cause comuni

Se la tua politica viene TRANSLATION_AMBIGUOUS ripristinata, ciò indica che Automated Reasoning ha rilevato ambiguità nella traduzione del linguaggio naturale in logica formale. Ciò si verifica quando il sistema non è in grado di determinare in modo definitivo come mappare i concetti del linguaggio naturale alle variabili e alle regole logiche formali della politica.

L'ambiguità della traduzione può derivare da diverse cause sottostanti:

  • Definizioni di variabili sovrapposte: quando più variabili della politica potrebbero ragionevolmente rappresentare lo stesso concetto menzionato nel linguaggio naturale, il sistema non è in grado di determinare quale variabile utilizzare. Ad esempio, se sono presenti entrambe employee_tenure_years le years_of_service variabili con descrizioni simili, il sistema potrebbe avere difficoltà a determinare quale utilizzare quando un utente chiede «da quanto tempo qualcuno lavora in azienda». Ciò crea ambiguità nel processo di traduzione e può portare a risultati incoerenti.

  • Descrizioni di variabili incomplete: descrizioni di variabili prive di dettagli sufficienti su come gli utenti potrebbero fare riferimento ai concetti del linguaggio quotidiano, il che rende difficile mappare l'input dell'utente alla corretta rappresentazione logica formale.

  • Inserimento ambiguo in linguaggio naturale: suggerimenti dell'utente o risposte modello che contengono affermazioni vaghe, contraddittorie o multiinterpretabili che non possono essere tradotte chiaramente in logica formale.

  • Informazioni contestuali mancanti: quando il linguaggio naturale si riferisce a concetti esistenti nel dominio ma non sono adeguatamente rappresentati nello schema variabile della politica.

  • Terminologia incoerente: quando si fa riferimento allo stesso concetto utilizzando termini diversi nel documento di origine, nelle descrizioni delle variabili e nelle interazioni con l'utente, si crea confusione durante la traduzione.

La comprensione di queste cause può aiutarvi a risolvere i problemi relativi ai test e a determinare quali modifiche apportare alla vostra politica. In alcuni casi, potrebbe essere necessario modificare le impostazioni del livello di confidenza della politica per bilanciare meglio la precisione rigorosa e l'usabilità pratica nel caso d'uso specifico.

Risoluzione

Esistono diversi modi per correggere questo problema a seconda del problema sottostante:

  • Le descrizioni delle variabili sono troppo simili: quando due variabili hanno nomi o descrizioni simili, il processo di traduzione potrebbe scegliere tra di esse in modo incoerente. Ad esempio, se sono presenti entrambe is_full_time le full_time_status variabili con descrizioni simili, il sistema potrebbe non associare in modo coerente il linguaggio naturale relativo allo stato occupazionale alla variabile corretta. Rivedi le descrizioni delle variabili in modo che ognuna abbia scopi e contesti chiaramente differenziati. Prendi in considerazione la possibilità di consolidare concetti duplicati in un'unica variabile o di garantire che ogni variabile abbia uno scopo distinto con descrizioni chiare e non sovrapposte che specifichino esattamente quando ciascuna variabile deve essere utilizzata.

  • Contesto variabile insufficiente: le descrizioni delle variabili potrebbero non coprire adeguatamente il modo in cui gli utenti possono fare riferimento ai concetti del tuo dominio. Aggiorna le descrizioni delle variabili con il giusto livello di contesto.

  • Formattazione dei valori non coerente: l'ambiguità della traduzione può verificarsi quando il sistema non è sicuro di come formattare i valori (come numeri o date). Aggiorna le descrizioni delle variabili per chiarire i formati previsti.

  • Inserimento ambiguo: se il testo di input contiene affermazioni ambigue, modificale per renderle più precise.

È possibile utilizzare una delle seguenti istruzioni per correggere i problemi di ambiguità della traduzione:

Ambiguità senza 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:
Ambiguità con la 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: