기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
실패한 자동 추론 정책 테스트 해결
자동 추론 정책 테스트가 실패하면 테스트 결과에서 추출된 로직 및 규칙을 검토합니다. 문제에 따라 실패를 해결하는 방법에는 여러 가지가 있습니다.
참고
자습서 비디오: 자동 추론 정책 개선 및 문제 해결에 대한 step-by-step 연습을 보려면 다음 자습서를 시청하세요.
주석 이해
주석은 테스트가 실패할 때 정책을 복구하는 데 적용하는 수정 사항입니다. 테스트에서 예상 결과를 반환하지 않는 경우 테스트 조건을 수정하고 다시 실행한 다음 성공적인 수정을 주석으로 적용하여 정책을 업데이트할 수 있습니다.
주석을 사용하여 다음을 수행합니다.
잘못된 규칙 수정
누락된 변수 추가
변수 설명 개선
번역 모호성 해결
예: 정책 복구 주석
문제: 재직 기간이 8개월인 직원에 대해 정책에서 승인한 휴가이지만 소스 문서에는 1년 이상이 필요합니다.
원래 규칙:
if is_full_time = true, then eligible_for_parental_leave = true
주석 적용:
years_of_service
변수 추가(실제 유형)규칙을 다음과 같이 업데이트했습니다.
if is_full_time = true and years_of_service >= 1.0, then eligible_for_parental_leave = true
이제 테스트가 8개월 직원의 INVALID를 올바르게 반환합니다.
-
실패한 테스트의 조건을 업데이트하고 다시 실행합니다. 테스트에서 예상한 검증 결과를 반환하는 경우이 주석을 적용하여 정책을 업데이트할 수 있습니다.
-
정책의 변수 이름 또는 설명을 업데이트하면 자연어를 로직으로 변환할 때 자동 추론이 이를 구분할 수 있습니다.
-
자동 추론이 소스 문서를 잘못 이해했거나 소스 문서에 오류가 있다고 생각되면 정책의 규칙을 업데이트합니다.
-
변수와 유형을 추가하여 정책의 로직을 편집합니다. 그런 다음 새 변수를 사용하도록 규칙을 업데이트할 수 있습니다. 이는 일반적으로 권장하지 않는 고급 사용 사례입니다.
-
보다 포괄적인 지침을 사용하여 정책을 다시 생성합니다. 지침에는 자동 추론이 애플리케이션 사용 방식과 관련된 로직을 추출할 수 있도록 충분한 컨텍스트가 포함되어야 합니다. 또한 소스 문서에 대해 질문할 것으로 예상되는 예제 질문과 답변을 포함하는 것이 좋습니다.
지침을 제공할 수 없는 경우
경우에 따라 자동 추론은 실패한 테스트에 대한 지침을 제공할 수 없음을 나타낼 수 있습니다. 이는 일반적으로 정책 구조에 명확한 분석을 방해하는 근본적인 문제가 있을 때 발생합니다. 이 경우 정책 규칙을 검사하고 충돌이 있는지 확인해야 합니다.
지침을 제공할 수 없는 일반적인 시나리오는 다음과 같습니다.
-
충돌하는 규칙: 정책에 논리적 불일치를 생성하는 충돌하는 규칙이 포함되어 있습니다. 예를 들어, 한 규칙은 정규직 직원이 휴가 자격이 있다고 할 수 있고, 다른 규칙은 1년 미만의 정규직 직원을 처리하는 방법을 지정하지 않고 1년 미만의 근무를 하는 직원은 자격이 없다고 할 수 있습니다.
-
불완전한 규칙 적용 범위: 정책에 특정 조건 조합이 규칙에 의해 처리되지 않아 올바른 결과를 확인할 수 없는 격차가 있습니다.
-
순환 종속성: 논리적 루프를 생성하는 방식으로 서로 의존하는 규칙으로, 시스템이 최종 결론에 도달하지 못합니다.
-
지나치게 복잡한 규칙 상호 작용: 여러 규칙이 특정 테스트 시나리오에 대해 모호하거나 모순되는 결과를 생성하는 방식으로 상호 작용하는 경우.
이러한 문제를 해결하려면:
-
정책 규칙을 체계적으로 검토: 정책의 각 규칙을 살펴보고 다른 규칙과 충돌할 수 있는 규칙을 식별합니다. 동일한 시나리오에 적용할 수 있지만 결과가 다른 규칙을 찾습니다.
-
규칙 완전성 확인: 규칙이 도메인에서 발생할 수 있는 가능한 모든 조건 조합을 포함하는지 확인합니다. 규칙이 적용되지 않는 격차를 식별합니다.
-
복잡한 상호 작용 간소화: 상호 연결된 규칙이 많은 경우 더 간단하고 집중적인 규칙으로 분류하여 이해하고 검증하는 것이 좋습니다.
-
엣지 케이스 테스트: 정책의 경계 조건 및 엣지 케이스를 구체적으로 대상으로 하는 추가 테스트를 생성하여 충돌 또는 격차가 있을 수 있는 위치를 식별합니다.
-
정책 재구성 고려: 충돌이 지속되는 경우 모호성을 해결하기 위해 더 명확한 규칙 계층 구조 또는 우선 순위 순서로 정책을 재구성해야 할 수 있습니다.
이 상황이 발생하면 각 단계에서 테스트하는 동안 더 간단한 버전의 정책으로 시작하고 점진적으로 복잡성을 추가하여 충돌이 발생하는 위치를 식별하는 것이 도움이 되는 경우가 많습니다.
다음 예제는 테스트가 실패할 수 있는 일반적인 이유와 이를 해결하는 방법입니다.
자동 추론이 소스 문서를 이해하지 못함
일반적인 원인
자동 추론이 소스 문서에서 필요한 모든 변수를 추출하지 못했거나 변수 설명이 자연어에서 공식 로직으로 적절하게 변환할 수 있을 만큼 명확하지 않을 수 있습니다.
해결 방법
-
정의 화면에서 변수 목록을 검토하여 질문과 답변에서 사실적 클레임을 추출하는 데 필요한 모든 변수가 정책에 있는지 확인합니다.
-
필수 변수가 누락된 경우:
-
추가를 선택하여 새 변수를 생성합니다.
-
적절한 유형(bool, int, real 또는 enum)을 선택합니다.
-
명확하고 포괄적인 변수 설명을 작성합니다.
-
-
변수가 존재하지만 질문 및 답변 검증 중에 제대로 할당되지 않은 경우 설명을 개선하여 자동 추론이 자연어를 더 잘 번역할 수 있도록 하세요. 예:
원래 설명(너무 제한적): "주당 20시간 이상 근무하는 직원"
설명 개선: "주당 20시간 이상 일하는 직원은 정규직으로 간주됩니다. 사용자가 '정규 근무' 또는 정규 근무 시간을 언급하는 경우이 값을 true로 설정하고, '비정규 근무' 또는 단축 근무 시간을 언급하는 경우 false로 설정합니다.
자동 추론 정책의 규칙이 잘못되었습니다.
일반적인 원인
자동 추론이 소스 문서를 잘못 해석했거나 소스 문서에 오류 또는 불일치가 있을 수 있습니다.
해결 방법
-
검증 출력에서 잘못된 규칙을 인용하는 경우 규칙을 편집합니다. 테스트가 예상
VALID
대로 돌아왔기 때문에이 문제를 처음 알아차릴 수 있습니다INVALID
. -
규칙에서 변수를 참조할 때는 정책의 정의 섹션에 지정된 전체 변수 이름을 사용합니다. 예를 들어의 철자를 지정합니다
is_full_time
. 입력 Q&A가 특정 규칙과 일치할 것으로 예상한 경우 먼저 입력 Q&A의 변수가 올바른지 확인합니다. 그렇다면 새 규칙을 추가해야 할 수 있습니다. -
규칙 목록의 오른쪽 상단에 있는 추가 버튼을 사용하여 새 규칙을 입력합니다. 자연어를 사용하여 규칙을 지정합니다. 제약 조건을 먼저 지정하고 전체 이름을 기준으로 변수를 참조합니다. 예를 들어 정규직 직원만 휴가할 수 있도록 허용하는 규칙의 경우 텍스트
is_full_time
는 "직원인 경우 유급 휴가(LoAP)"와 같을 수 있습니다.
자동 추론 정책 반환 TRANSLATION_AMBIGUOUS
일반적인 원인
정책이를 반환하면 자동 추론이 자연어를 공식 로직으로 변환할 때 모호성을 감지했음을 TRANSLATION_AMBIGUOUS
나타냅니다. 이는 시스템에서 자연어 개념을 정책의 공식 로직 변수 및 규칙에 매핑하는 방법을 명확하게 결정할 수 없는 경우에 발생합니다.
번역 모호성은 다음과 같은 몇 가지 근본적인 원인으로 인해 발생할 수 있습니다.
-
겹치는 변수 정의: 정책의 여러 변수가 자연어로 언급된 동일한 개념을 합리적으로 나타낼 수 있는 경우 시스템은 사용할 변수를 결정할 수 없습니다. 예를 들어, 유사한 설명을 가진
employee_tenure_years
변수와 변수가 모두 있는 경우, 시스템은 사용자가 "회사에서 근무한 시간"에 대해 질문할 때 사용할years_of_service
변수를 결정하는 데 어려움을 겪을 수 있습니다. 이렇게 하면 번역 프로세스에 모호성이 생성되어 결과가 일관되지 않을 수 있습니다. -
불완전한 변수 설명: 사용자가 일상적인 언어로 개념을 참조하는 방법에 대한 세부 정보가 충분하지 않아 사용자 입력을 올바른 공식 로직 표현에 매핑하기 어려운 변수 설명입니다.
-
모호한 자연어 입력: 공식 로직으로 명확하게 변환할 수 없는 모호하거나 모순되거나 해석 가능한 문이 포함된 사용자 프롬프트 또는 모델 응답입니다.
-
컨텍스트 정보 누락: 자연어가 도메인에 존재하지만 정책의 변수 스키마에 적절하게 표시되지 않는 개념을 참조하는 경우.
-
일관되지 않은 용어: 소스 문서에서 다른 용어, 변수 설명 및 사용자 상호 작용을 사용하여 동일한 개념을 참조하면 번역 중에 혼동이 발생합니다.
이러한 원인을 이해하면 테스트 문제를 디버깅하고 정책을 변경할 사항을 결정하는 데 도움이 될 수 있습니다. 경우에 따라 정책의 신뢰도 수준 설정을 조정하여 특정 사용 사례에서 엄격한 정확도와 실제 사용성 간의 균형을 맞춰야 할 수 있습니다.
해결 방법
기본 문제에 따라이 문제를 해결하는 방법에는 여러 가지가 있습니다.
-
변수 설명이 너무 유사함: 두 변수의 이름 또는 설명이 유사한 경우 번역 프로세스에서 해당 변수 간에 일관되지 않게 선택될 수 있습니다. 예를 들어,
is_full_time
및full_time_status
변수 모두에 유사한 설명이 있는 경우 시스템은 고용 상태에 대한 자연어를 올바른 변수에 일관되게 매핑하지 못할 수 있습니다. 변수 설명을 검토하여 각에 명확하게 구분된 목적과 컨텍스트가 있는지 확인합니다. 중복 개념을 단일 변수로 통합하거나 각 변수를 사용해야 하는 정확한 시기를 지정하는 명확하고 중첩되지 않는 설명과 함께 각 변수에 고유한 목적이 있는지 확인하는 것이 좋습니다. -
변수 컨텍스트 부족: 변수 설명에서 사용자가 도메인의 개념을 참조하는 방법을 적절하게 다루지 못할 수 있습니다. 적절한 수준의 컨텍스트로 변수 설명을 업데이트합니다.
-
일관되지 않은 값 형식 지정: 변환 모호성은 시스템에서 값 형식 지정 방법(예: 숫자 또는 날짜)을 잘 모르는 경우에 발생할 수 있습니다. 변수 설명을 업데이트하여 예상 형식을 명확히 합니다.
-
모호한 입력: 입력 텍스트에 모호한 문이 포함된 경우 더 정확하도록 수정합니다.
다음 프롬프트 중 하나를 사용하여 번역 모호성 문제를 수정할 수 있습니다.
- 소스가 없는 모호성
-
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:
- 소스의 모호성
-
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: