# 약관AI 심층 검증 — 라운드 2 시나리오 (A + B)

**날짜**: 2026-03-03
**상위 문서**: `memory/meetings/2026-03-03-yakgwan-ai-review-full.md`
**목적**: 유료 출시 전 할루시네이션/오답 및 검색 품질 리스크를 구체 시나리오로 발굴

---

## A. 할루시네이션/오답 시나리오 (25개)

> AI가 약관과 다른 답변을 내거나, 정확한 답변을 "정확하게 보이도록" 포장하여 실제로는 틀린 모든 경우.

**A-1. 면책기간 내 사망 보장 오답** — 암보험에서 계약일로부터 90일 면책기간 중 암 진단 시 보장 불가인데, AI가 면책기간 조항이 다른 청크에 있어 "암 진단 시 보장됩니다"라고 답변. 면책기간 조항은 보통 별도 조(제X조 면책기간)에 위치하여 청크 분리 가능성 높음.

**A-2. 감액기간 지급률 오산정** — 1~2년차 감액기간에 보험금의 50%만 지급하는 상품에서, AI가 감액 조항을 누락하고 "진단금 3,000만원 전액 지급"이라고 답변. 감액기간 조항은 "보험금 지급" 조항의 단서 조항(다만~)에 위치하여 청크 경계에서 잘릴 위험.

**A-3. 납입면제 조건 과잉 확장** — 실제로는 "최초 암"에 한정된 납입면제인데, AI가 시스템 프롬프트의 "근거 기반 답변" 지시를 무시하고 일반적인 보험 지식을 섞어 "뇌출혈, 급성심근경색에도 납입면제"라고 답변. 상품별 납입면제 범위가 천차만별인데 AI가 가장 흔한 유형으로 일반화.

**A-4. KCD코드 경계 질환 오판** — "뇌혈관질환(I60-I69)" 담보에서 I67.2(대뇌동맥경화증)가 보장 대상인지 질의 시, AI가 KCD코드 범위를 정확히 파싱하지 못하고 "보장됩니다"라고 답변하지만 실제 해당 상품은 I60-I64만 보장하는 "뇌출혈+뇌경색" 한정 담보.

**A-5. 특약 조합 간 중복보장 환상** — 실손의료보험 + 질병입원일당 조합 질의에서, AI가 각 특약을 개별 청크에서 가져와 "둘 다 받을 수 있습니다"라고 답하지만 실손보험 약관의 "다른 보험 비례보상" 조항을 반영하지 않아 실제 수령액과 괴리.

**A-6. 갱신형 보험료 인상 한도 오답** — 갱신형 실손보험에서 "갱신 시 보험료 인상률은 직전 보험료의 15% 이내"라는 제한이 있는데, AI가 해당 조항을 찾지 못하고 "갱신 시 보험료가 대폭 오를 수 있습니다"라고 과도한 불안을 유발하거나, 반대로 "인상률 제한 없음"이라고 답변.

**A-7. 실손 세대별 자기부담금 혼동** — 2세대(2009~) 실손은 입원 10%, 통원 1만원/1.5만원이고 4세대(2021~)는 급여 20%/비급여 30%인데, AI가 다른 세대 약관의 청크를 혼합 참조하여 잘못된 자기부담금을 안내. 같은 보험사의 여러 세대 상품이 인덱싱되어 있으면 혼합 확률 급증.

**A-8. 보장개시일 착오** — 일반 상해는 계약일부터 보장이지만, 질병(특히 암)은 계약일+90일, 치아보험은 계약일+180일 등 보장개시일이 상이. AI가 상해 담보 기준으로 "계약일부터 보장"이라고 답변하면서 질병 담보의 별도 보장개시일을 누락.

**A-9. 별표(부속서류) 수술분류표 미참조** — "1-5종 수술분류표에 의한 수술보험금" 질의에서, AI가 본문의 "별표 수술분류표에 따라 지급"이라는 원문은 찾지만 실제 별표 내용(어떤 수술이 몇 종인지)은 별도 페이지에 있어 청크에 포함되지 않아 "확인이 필요합니다"로 회피하거나, 일반 지식으로 종류를 추정하여 오답.

**A-10. 비례보상 계산 오류** — 실손의료보험에서 타사 실손이 있는 경우 비례보상 산식이 적용되는데, AI가 단순히 "보장됩니다"만 답하고 비례보상 산식(각 계약의 보상책임액 / 각 계약의 보상책임액 합계 x 손해액)을 안내하지 않아 설계사가 전액 보상으로 오인.

**A-11. 통원 의료비 공제금액 항목별 차이 누락** — 통원 의료비에서 처방조제비와 외래의 공제금액이 다른데(외래 1.5만원, 조제비 8천원 등), AI가 "통원 시 공제금액은 1만원입니다"라고 단일 금액으로 답변. 약관 내 표(table) 형태 정보가 청킹 시 파괴됨.

**A-12. 고지의무 위반 효과 과소 설명** — 설계사가 "고지의무 위반 시 어떻게 되나요?" 질의 시, AI가 "계약 해지 가능"만 답하고 "보험금 부지급" 및 "2년 경과 후에도 중대 사항은 해지 가능"이라는 핵심 단서를 누락. 고지의무 조항이 여러 조에 분산(계약전 알릴의무, 통지의무, 계약해지 등)되어 일부만 검색.

**A-13. 장해분류표 등급 오매핑** — 3% 이상 장해부터 보장하는 상품에서 "손가락 절단 시 장해등급이 몇 %인가?" 질의 시, AI가 장해분류표(별표)를 참조하지 못하고 일반적인 장해 등급을 추정하여 답변. 장해분류표는 수십 페이지 분량으로 청크에 부분적으로만 포함.

**A-14. 질병 후유장해 vs 상해 후유장해 담보 혼동** — 질병후유장해와 상해후유장해의 보장범위가 다른데(질병은 80% 이상만 보장하는 상품이 있음), AI가 두 담보를 구분하지 못하고 "후유장해 시 보장됩니다"라고 포괄적으로 답변.

**A-15. 보험료 자동대출납입 vs 실효 조건 혼동** — 보험료 미납 시 자동대출납입이 적용되는 상품에서, AI가 해당 조항을 찾지 못하고 "2개월 미납 시 실효됩니다"라고 답변. 실제로는 해약환급금 범위 내에서 자동대출이 실행되어 계약이 유지됨.

**A-16. 중복계약 체크 의무 미안내** — "실손의료보험 중복 가입 가능한가요?" 질의 시, AI가 약관상 "가입 가능"이라고만 답하고, 실손보험 중복체크시스템(DUOS) 조회 의무 및 설명의무를 안내하지 않음. 약관 외 법적 의무를 AI가 인지하지 못하는 구조적 한계.

**A-17. 지정대리청구인 범위 오답** — 약관에서 지정대리청구인은 "피보험자의 배우자, 직계존비속"으로 한정하는데, AI가 일반 지식을 섞어 "형제자매도 가능합니다"라고 답변. 표준약관과 개별 약관의 차이를 구분하지 못함.

**A-18. 해외체류 면책 조항 누락** — 상해보험에서 "피보험자가 해외에서 발생한 사고"에 대한 보장 여부 질의 시, AI가 기본 보장 조항만 참조하여 "보장됩니다"라고 답하지만, 해당 상품의 특약 약관에 "국내 사고만 보장" 단서가 있는 경우를 놓침. 특약 약관이 주계약과 별도로 인덱싱되어 교차 참조 불가.

**A-19. 입원일수 계산 기준일 오답** — "입원일당은 며칠부터 받나요?" 질의 시, AI가 "입원 1일째부터"라고 답하지만, 실제 약관은 "4일째부터(3일 공제)" 또는 "입원 181일 한도"인 경우. 상품마다 공제일수와 한도가 다른데 AI가 가장 흔한 기준을 적용.

**A-20. 무배당 vs 유배당 상품 혼동** — 같은 보험사의 유배당/무배당 버전이 모두 인덱싱된 경우, AI가 무배당 상품 질의에 유배당 약관의 배당금 관련 조항을 참조하여 "배당금을 받으실 수 있습니다"라고 오답.

**A-21. 보험금 청구 시효 오안내** — 상법상 보험금청구권 소멸시효는 3년인데, 일부 약관에 "보험금 지급사유 발생일로부터 3년 이내 청구"라고 명시. AI가 이를 "사고일로부터 3년"과 혼동하여 안내. 지급사유 발생일 ≠ 사고일(진단확정일이 지급사유 발생일인 경우 등).

**A-22. CI보험(중대한 질병) 정의 차이 무시** — CI보험에서 "중대한 암"의 정의가 일반 암보험의 "암"과 다른데(갑상선암, 기타피부암 등 소액암 제외가 아니라 TNM 병기 기준 등 더 엄격), AI가 일반 암보험 기준으로 "암 진단 시 보장됩니다"라고 답변.

**A-23. 계약전 알릴의무 사항 범위 축소** — "어떤 것을 고지해야 하나요?" 질의 시, AI가 "현재 치료 중인 질병"만 답하고, "최근 3개월 내 진찰/검사", "최근 5년 내 입원/수술/7일 이상 투약", "직업, 운전 여부" 등 구체적 항목을 누락. 계약전 알릴의무 사항은 청약서 기반이라 약관 본문에 상세 열거가 없을 수 있음.

**A-24. 재해분류표 기준연도 불일치** — 재해 담보에서 "재해분류표(별표)"가 참조하는 한국표준질병분류(KCD)의 버전이 약관 체결 시점에 따라 다른데(KCD-6, KCD-7, KCD-8), AI가 현행 KCD 기준으로 답변하여 구 약관의 재해 범위와 불일치.

**A-25. 선택형 특약 미가입 상태에서 보장 안내** — 약관 PDF에 선택특약 전체가 포함되어 있어 인덱싱되지만, 해당 설계사의 고객이 실제로 그 특약을 가입했는지는 시스템이 알 수 없음. AI가 "3대 질병 수술비 특약에 의해 보장됩니다"라고 답하지만 고객이 해당 특약 미가입인 경우. 구조적으로 가입 여부 확인 불가능한 한계.

---

## B. 검색 품질/정확도 시나리오 (30개)

> 원하는 약관 조항을 못 찾거나, 잘못된 약관을 가져오거나, 검색 결과의 품질이 낮은 모든 경우.

**B-1. 청크 경계에서 "다만" 이하 절단** — "보험금을 지급합니다. 다만, 다음 각 호의 경우에는 보장하지 않습니다"에서 "다만" 이후가 다음 청크로 넘어가면 면책사유가 검색 결과에서 누락. overlap 100자로는 500자 이상의 면책 열거를 커버 불가.

**B-2. 동일 보험사 다세대 상품 간 간섭** — 삼성생명의 2015년 종신보험과 2023년 종신보험이 모두 인덱싱된 상태에서, "삼성 종신보험 사망보험금" 검색 시 두 상품의 청크가 혼합 반환. productId 필터 없이 companyId만으로 검색하면 세대 혼합 불가피.

**B-3. 유사 상품명 구분 실패** — "무배당 삼성생명 New종신보험"과 "무배당 삼성생명 종신보험Plus"를 구분하지 못함. 임베딩 공간에서 상품명 차이가 미미하여 벡터 유사도만으로 구분 불가. 설계사가 정확한 상품명을 몰라 축약형으로 질의하면 더 심화.

**B-4. 숫자 조건 검색 실패** — "보험료 납입기간 20년" 또는 "보험가입금액 5,000만원 이상 시" 같은 숫자 조건이 포함된 검색에서, 텍스트 임베딩이 숫자의 의미를 정확히 포착하지 못해 관련 없는 청크 반환.

**B-5. 약관 별표(부속서류) 검색 불가** — "별표1 장해분류표", "별표2 수술분류표" 등은 표(table) 형태가 많아 텍스트 추출 시 구조가 파괴됨. "3종 수술에 해당하는 수술 목록" 검색 시 관련 청크를 찾지 못하거나, 파편화된 텍스트만 반환.

**B-6. 보험료/환급금 테이블 필터링 과잉** — 인덱싱 시 "보험료 예시" 테이블을 필터링하는 정규식이 과도하여, "해약환급금 예시" 섹션뿐 아니라 약관 본문 중 "해약환급금"을 언급하는 중요 조항(예: 해약환급금 산출 방법)까지 함께 필터링.

**B-7. 스캔 PDF 텍스트 추출 실패** — 구형 약관(2010년 이전)이 이미지 스캔 PDF인 경우 페이지당 50자 미만으로 감지되어 인덱싱 자체가 거부됨. 해당 약관은 검색 대상에서 완전 제외. OCR 미구현 상태에서 구 약관 검색 불가.

**B-8. 한자/특수문자 포함 조항 검색 실패** — 구형 약관에 "被保險者(피보험자)", "免責期間(면책기간)" 같은 한자 병기가 있으면, 순한글 쿼리 "피보험자"와의 임베딩 유사도가 낮아져 검색 누락.

**B-9. 약어/줄임말 불일치** — 설계사가 "CI보험", "GI보장"처럼 업계 약어로 검색하지만 약관 원문에는 "중대한 질병보험", "일반상해보장"으로 되어 있어 유사도 점수 미달. insurance_terms의 commonAliases에 등록되지 않은 약어는 용어 확장이 작동하지 않음.

**B-10. 복합 질의 분해 실패** — "이 상품에서 암도 보장되고 뇌출혈도 보장되나요?"같은 AND 조건 질의에서, D형(COMPLEX) 쿼리 분해가 미구현이라 단일 벡터 검색으로 처리. "암" 관련 청크만 상위에 오고 "뇌출혈" 청크는 순위 밀림.

**B-11. 부정 질의 처리 실패** — "뇌경색이 보장 안 되는 경우는?" 같은 부정 질의에서, 임베딩이 "뇌경색 보장"과 유사하게 처리하여 보장 사유 청크를 반환. 면책/부지급 조항이 아닌 보장 조항이 검색됨.

**B-12. 용어 확장 오작동(의미 확장 과잉)** — insurance_terms에서 "수술"의 별칭으로 "시술", "처치" 등이 등록되어 있으면, "레이저 시술 보장?" 검색 시 수술 관련 청크가 대량 반환되어 정작 "시술 vs 수술" 구분이 필요한 답변에 노이즈 발생.

**B-13. 갱신형 약관 버전 구분 불가** — 갱신형 실손보험은 갱신 시점마다 적용 약관이 다를 수 있는데, 시스템이 effectiveDate 하나만 관리하여 "2018년에 가입하고 2021년에 갱신한 경우 어떤 약관이 적용되나요?"라는 질의에 정확한 답변 불가.

**B-14. 주계약-특약 간 교차검색 불가** — 주계약 약관과 특약 약관이 같은 PDF에 있지만 별도 productId로 인덱싱되면, "주계약 사망보험금과 재해사망 특약의 관계"를 묻는 질의에서 한쪽만 검색됨. 반대로 같은 productId면 청크 수가 폭증하여 검색 정밀도 하락.

**B-15. 유사도 0.70~0.85 구간(AMBIGUOUS) 대량 발생** — 보험 약관의 법률 문체가 대부분 유사하여, 관련 없는 조항도 0.70 이상 유사도를 기록. "보험금 지급" 검색 시 모든 상품의 보험금 지급 조항이 AMBIGUOUS로 대량 반환되어 후보 목록이 무의미하게 길어짐.

**B-16. 긴 약관 조항 분할 시 맥락 소실** — 600자 이상의 단일 조항(예: 보험금 지급사유의 장문 열거)이 2~3개 청크로 분할되면, 각 청크가 독립적으로는 의미 불완전. TOP 10에 3개 청크 모두 들어온다는 보장 없음.

**B-17. 표준약관 vs 개별약관 구분 불가** — 생명보험 표준약관과 특정 보험사의 개별약관이 모두 인덱싱되면, 표준약관 내용이 개별약관 검색에 간섭. 설계사는 가입한 특정 상품의 약관을 원하는데 표준약관 청크가 유사도 상위를 차지.

**B-18. 보장 한도/횟수 제한 검색 누락** — "수술보험금은 수술 1회당 지급하되, 동일 질병으로 인한 수술은 최초 1회에 한함"에서 "최초 1회 한정" 조건이 별도 항(또는 단서)에 있어 검색 결과에 누락.

**B-19. 질의 언어와 약관 문체 괴리** — 설계사가 구어체로 "이 보험 암 걸리면 돈 얼마 나와?"라고 질의하지만, 약관은 "피보험자가 보험기간 중 암보장개시일 이후에 암으로 진단확정된 때에는 암진단보험금을 지급합니다"라는 법률 문체. 임베딩 유사도가 낮아 REJECT(0.70 미만) 될 수 있음.

**B-20. effectiveDate 범위 필터링 부재** — 폐지된 구 상품 약관과 현행 상품 약관이 모두 인덱싱된 상태에서, 검색 시 effectiveDate 기반 필터가 없으면 10년 전 약관 청크가 반환될 수 있음.

**B-21. 동일 조문 번호 다른 상품 간 혼동** — "제15조" 검색 시, 상품 A의 제15조(보험금 지급)와 상품 B의 제15조(계약의 해지)가 모두 반환. 조문 번호가 상품 간 일치하지 않는데 숫자 기반 검색에서 혼선.

**B-22. 보험 용어 자동 추출 오류 전파** — 인덱싱 시 Gemini가 추출한 insurance_terms가 부정확한 경우(verified: false 상태), 해당 오류 용어가 용어 확장에 사용되어 검색 품질 전체를 오염. 미검증 용어가 누적될수록 검색 노이즈 증가.

**B-23. 대용량 PDF 분할 처리 시 청크 순서 꼬임** — 500페이지 이상 PDF를 200페이지씩 분할 처리할 때, 분할 경계(200-201페이지)에서 하나의 조항이 잘리면 두 배치에 불완전한 청크 2개 생성. 청크 간 연결 정보(이전/다음 청크) 없어 맥락 복원 불가.

**B-24. 배치 임베딩 실패 시 부분 인덱싱** — 임베딩 API 호출 시 일부 배치에서 타임아웃/에러 발생 시, 지수 백오프 재시도 후에도 실패하면 해당 청크만 누락된 채 인덱싱 완료. 사용자는 부분 인덱싱을 인지하지 못하고 "해당 조항 없음"으로 오해.

**B-25. 회사명 정규화 실패** — company_aliases에 등록되지 않은 회사명 변형("삼성화재" vs "삼성손해보험" vs "삼성화재해상보험")으로 검색 시 companyId 매칭 실패. 특히 합병/사명 변경된 회사(예: ING생명→오렌지라이프→신한라이프)에서 구 사명 검색 불가.

**B-26. 쿼리 라우터 오분류** — "이 상품 보험료가 갱신 시 얼마나 오르나요?"가 A형(TABLE_QUERY)으로 분류되어야 하지만 B형(VECTOR_SEARCH)으로 라우팅. A형이 미구현이라 TODO 응답 반환. 또는 반대로, 약관 조항 검색이 필요한 질의가 A형으로 오분류.

**B-27. TOP 10 내 동일 조항 중복 반환** — overlap 100자로 인해 인접 청크 간 내용이 겹치고, 이 중복 청크들이 TOP 10 중 3~4개를 차지하여 실질적으로 검색 다양성 감소. 보장 조항만 4개 반환되고 면책 조항은 11위로 밀림.

**B-28. 상품 미인덱싱 상태에서 유사 상품 반환** — 설계사가 검색한 상품이 아직 인덱싱되지 않았는데, 유사 상품명의 다른 상품 청크가 유사도 0.85 이상으로 반환. 시스템이 "해당 상품이 등록되지 않았습니다" 대신 다른 상품 약관을 정답처럼 제시.

**B-29. Disambiguation 후보 과다** — TRUST 결과 0개, AMBIGUOUS 결과 10개인 경우 후보 목록이 전부 제시되어 설계사가 선택 불가. 10개 후보가 모두 다른 상품의 유사 조항이면 "이 중에서 골라주세요"가 의미 없음. 사실상 검색 실패인데 UX상 실패로 보이지 않음.

**B-30. 재인덱싱 중 검색 불가(다운타임)** — 약관 업데이트로 재인덱싱 시 기존 chunks 삭제 → 새 chunks 생성 사이에 검색 요청이 들어오면 해당 상품 검색 결과 0건. 유료 고객이 특정 상품을 검색했는데 "결과 없음"이 뜨면 서비스 신뢰도 즉시 하락. blue-green 미구현 상태.

---

## 시나리오 분류 요약

| 분류 | 건수 | 핵심 키워드 |
|------|------|------------|
| A. 할루시네이션/오답 | 25 | 면책기간, 감액, 납입면제, KCD, 특약조합, 갱신형, 실손세대, 보장개시일, 별표, 비례보상, 공제금액, 고지의무, 장해분류, 질병/상해 구분, 자동대출납입, 중복계약, 지정대리청구, 해외면책, 입원일수, 무배당/유배당, 청구시효, CI정의, 알릴의무, 재해분류, 선택특약 |
| B. 검색 품질/정확도 | 30 | 청크경계, 다세대혼합, 상품명유사, 숫자조건, 별표테이블, 필터링과잉, 스캔PDF, 한자, 약어, 복합질의, 부정질의, 용어확장, 갱신버전, 주계약-특약, AMBIGUOUS과다, 조항분할, 표준약관, 한도누락, 구어체, effectiveDate, 조문번호, 용어오류전파, 분할처리, 배치실패, 회사명정규화, 라우터오분류, 중복반환, 미인덱싱, Disambiguation, 재인덱싱다운타임 |

---

*작성: 아누 (개발실장) / 2026-03-03*
*상위 문서: `memory/meetings/2026-03-03-yakgwan-ai-review-full.md` 라운드 2*
