AI지식관리 2주차 실습

개나리 · LLM Wiki로 지식관리 시스템 · · 좋아요 0 · 답글 0

연재 LLM Wiki로 지식관리 시스템 시즌 2 5/6편

# AI지식관리 2주차 실습


## 결론

이번 2주처 실습을 통해 AI 지식 관리의 핵심 요소를 이해하고, 실제 적용 사례를 통해 실무 능력을 향상시킬 수 있었습니다.

> Clauders LLM 온톨로지 스터디 2주차 사례글. 1주차에 이어 내 보험(2024년 이전 가입, 유지 중인 4건)을 다뤘다. 가족 이름·증권번호·생년월일은 뺐다. 보험사·상품명·금액은 실제 내 계약이다. 원문 인용 속 내 이름은 [본인]으로, 배우자 이름은 "배우자"로 바꿨다. 이 글만 읽어도 이해되도록, 근거가 되는 증권·약관·보험사 답변 문장을 글 안에 그대로 옮겨 두었다(원문의 범위 표시 물결표만 "-"로 바꿨다).

## 0. 먼저 결론부터

- 내 보험 4건(담보 58개)으로 관계 모델(온톨로지)을 만들고, AI에게 원문·정리 노트·표·모델 가운데 무엇을 주느냐에 따라 답이 어떻게 달라지는지 쟀다. 질문 11개를 방법마다 세 번씩, 최종 측정 165번(방법 5개)과 추가 측정 99번(방법 3개, 표는 대조군으로 다시)을 합쳐 264번 물었다.
- **속도:** 가장 빠른 것은 모델에서 프로그램으로 만든 **표**였다(약 60초). 모델에 질의 도구나 계산 도구를 붙여도 표를 넘지 못했다(75-81초). AI 답의 시간은 읽은 양보다 도구와 주고받은 횟수(왕복)를 더 잘 따라갔다(최종 측정에서 시간과의 상관 0.94 대 0.77).
- **정확도:** 이 정도 질문은 **원문만 줘도 다 맞혔다**(33/33). 모델을 준 AI는 오히려 도구가 걸러 준 결과 밖에 있던 담보(삼성 암간병자금)를 놓쳤다.
- **할루시네이션:** AI가 원문을 잘못 읽어 지어낸 것보다, **정리본(표, 노트)이 낡아서 AI가 낡은 내용을 옮긴 것**이 더 많았다. 구조화된 사실을 받은 AI는 원문끼리의 모순을 지어내지 않았다.
- **그래서 온톨로지는:** AI가 직접 읽을 자료라기보다, **AI에게 줄 자료(표, 질의 결과)를 정확하고 낡지 않게 만들어 주는 정본**으로 쓸 때 값이 있었다. 같은 질문에 같은 답을 기계로 내는 회귀 시험, "이혼하면", "먼저 받았으면" 같은 관계 질문의 계산도 정본이 있어서 된다(11절).

## 1. 누가 무엇을 했나

이번 주에는 내가 **"사람 개입을 최소화해 달라"**고 요청했다.

- AI가 한 일: 작은 테스트, 모델 설계·구축·검증, 측정, 채점, 이 글의 초안과 사실 확인. Claude Code의 Claude(작업을 지휘하는 AI)와 그 아래에서 일하는 AI 에이전트들이 했다.
- 내가 한 일: Q1-Q8 질문과 그 예상 답(Q5 제외)을 쓰고, 관계 질문(Q9-Q11)을 더하자고 요청하고, 중간중간 질문을 던져 방향을 바꾸고, 내 계약에 대한 사실(유지 여부, 과거 수령, 배우자 특약)을 답했다.

아래에서 "Claude"는 지휘한 AI를, "에이전트"는 그 아래에서 일한 AI를 말한다. 실수도 대부분 AI가 했는데, 내 작업의 실수로 그대로 기록한다.

## 2. 이 글에 나오는 말

| 말                    | 뜻                                                                                                                                                                                                     |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 증권 / 약관           | 증권은 내가 무엇에 얼마로 가입했는지 적힌 증서다. 약관은 상품의 규칙집이다(누가 가입했든 같다)                                                                                                         |
| 특약 / 담보           | 특약은 주계약에 덧붙인 보장 묶음이다. 담보는 돈이 나오는 항목 하나다(예: 암진단급여금)                                                                                                                 |
| 피보험자 / 종피보험자 | 피보험자는 그 사람이 아프거나 다쳐야 돈이 나오는 사람이다. 한 증권 안에서도 특약마다 다를 수 있다. 종피보험자는 주피보험자 말고 추가로 보장받는 사람이다(내 ING 계약에서는 배우자)                     |
| 판독본                | 스캔 이미지로만 있는 증권을 AI가 글자로 옮겨 적은 것. 사람이 원본과 대조하기 전이라 "미검증"이다                                                                                                       |
| KCD 코드              | 진단서에 적히는 질병 분류 코드. 위암 C16, 갑상선암 C73, 기타피부암 C44, 위의 상피내암은 D00                                                                                                            |
| 상피내암 / 경계성종양 | 상피내암은 암세포가 상피 안에만 있는 아주 초기 상태(흔히 0기 암). 경계성종양은 양성과 악성 사이. 둘 다 보통 일반 암보다 적게 준다                                                                      |
| 범주                  | 약관이 정한 "이런 병이면 준다"의 묶음. 예: ING의 "기타 피부암 이외의 암", 메트라이프의 "성인병", 동부의 "고액암"                                                                                       |
| 관계 모델(온톨로지)   | 대상과 대상을 **뜻이 있는 선**으로 이은 것. 예: "무배당 배우자 보장특약의 피보험자는 배우자다". 선마다 근거 문장이 달린다                                                                        |
| 노드 / 선             | 노드는 대상 하나(계약, 특약, 담보, 범주, 사람, 진단), 선은 둘 사이의 관계 하나                                                                                                                         |
| 확인 상태             | 선마다 붙인 표시. 확인(원문이 직접 말함), 가설(해석이 필요함), 설계(원문이 아니라 설계로 정함)                                                                                                         |
| 규칙 조회             | 모델 파일을 프로그램으로 읽어 기계적으로 계산한 답. AI 답과 따로 기록한다                                                                                                                              |
| 에이전트 / 워크플로   | 에이전트는 파일을 열어 읽고 일하는 AI. 워크플로는 여러 에이전트를 정해진 순서로 돌리는 기능                                                                                                            |
| 블라인드 채점         | 채점하는 AI에게 답이 어느 방법으로 나왔는지 가리고 채점하게 하는 것                                                                                                                                    |
| 할루시네이션          | AI가 원문에 없는 것을 사실처럼 말하는 것. 금액·조건을 지어내거나, 인용을 바꾸거나, 없는 모순을 만들어 낸다                                                                                            |
| 왕복                  | AI가 한 번 생각하고 도구를 한 번 쓰는 주고받기. 많을수록 느리다                                                                                                                                        |
| Wiki / AKM            | Wiki는 1주차부터 정리한 Markdown 노트 5개다. AKM은 이 스터디가 노트를 담는 저장소 틀이고, AKM 검사는 노트 형식을 보는 검사 프로그램이다                                                                |
| 조인 / 뷰             | 조인은 여러 곳에 흩어진 사실을 미리 한 행으로 합쳐 두는 것이다. 뷰는 그렇게 합쳐 만든 보기다. 4.2절의 표가 모델에서 만든 뷰다                                                                          |
| SPARQL                | 그래프 데이터에서 조건에 맞는 것을 찾는 질의 언어                                                                                                                                                      |
| 회귀 시험             | 무언가를 고친 뒤에도 같은 질문에 같은 답이 나오는지 보는 시험                                                                                                                                          |
| ID 읽는 법            | CV-로 시작하면 담보, R-은 특약, CAT-은 범주, N-은 근거 문장, OI-는 미해결 항목이다. C01-C14와 S15-S20은 원자료 번호다(C01은 ING 증권. 질병 코드와 헷갈린 일은 5.9절). R1-R12는 계산 계층의 규칙 번호다 |

## 3. 질문 11개

1주차 질문(Q1-Q3)은 그대로 두고, 2주차에 질문을 더했다. 범위도 "4건의 암 보장"에서 "4건의 **전체 담보**"로 넓혔다.

| 질문 | 내용                                                      | 따져야 할 것                                       |
| ---- | --------------------------------------------------------- | -------------------------------------------------- |
| Q1   | 지금 위암 진단을 받으면 보험별 진단금과 합계는?           | 성별(삼성은 남자 위암이면 2배), 배우자 특약 함정   |
| Q2   | 지금 갑상선암 진단을 받으면? 일반암인가 기타암인가?       | 상품마다 다른 "암" 범주                            |
| Q3   | 위암 수술을 받으면 받는 수술 보험금은?                    | 수술 등급(1-3종), 이름에 "암"이 없는 담보          |
| Q4   | 위암으로 10일 입원하면 하루 얼마, 모두 얼마?              | "4일 이상 입원 시 3일 초과분" 같은 조건            |
| Q5   | 위의 상피내암 진단을 받으면?                              | 상피내암 감액, 특정암 2배·간병자금이 붙는지       |
| Q6   | 메트라이프 특약이 끝났다면 Q1-Q5 중 무엇이 얼마나 바뀌나? | 특약 → 담보 → 질문의 영향                        |
| Q7   | 이름에 "암"이 없는데 위암 치료로 돈이 나오는 담보는?      | 범주 속에 숨은 관계                                |
| Q8   | 배우자가 위암이면 내 계약에서 얼마?                       | 피보험자 (1주차 함정을 거꾸로)                     |
| Q9   | 2027년 기타피부암, 2029년 위암 진단이면 해마다 얼마?      | 과거 수령에 따른 차액·1회 한정 규칙               |
| Q10  | 배우자와 이혼하면 무엇이 사라지고 어느 답이 바뀌나?       | 사람 관계 변화의 영향                              |
| Q11  | 평일 교통사고로 3급 장해면? 휴일이면?                     | "재해 **그리고** 장해" 조건, 휴일·평일 구분 |

Q5를 뺀 Q1-Q8은 내가 예상 답을 썼다. Q5와 Q9-Q11은 내가 판단하기 어려워, 모델과 정리 노트를 보지 않고 **원문만 읽는 AI 판정자 3명**이 따로 풀고 서로 반박 검증한 판정표를 기준으로 삼았다.

## 4. 다섯 가지 방법

같은 질문에 AI(Claude Opus 5.5)가 다섯 가지 자료로 답하게 했다. 질문마다 새 에이전트를 쓰고, 연 파일과 걸린 시간을 기록했다.

| 방법                | AI에게 준 것                                                                 |
| ------------------- | ---------------------------------------------------------------------------- |
| ① 원문만           | 증권·약관 PDF와 판독본, 본인 확인 메모, 보험사 문답                         |
| ② Wiki             | ① + 1주차부터 정리한 노트 5개                                               |
| ③ 표               | ② + 계약 4건의 모든 담보를 한 장으로 정리한 표 (모델에서 프로그램으로 만듦) |
| ④ 모델 + 탐색 도구 | ② + 관계 모델 + 노드·선을 한 칸씩 따라가는 도구                            |
| ⑤ 모델 + 질의 계층 | ② + 관계 모델 + 질문에 필요한 근거를 한 번에 꺼내는 도구                    |

최종 측정 뒤에 두 가지를 더 만들어 따로 쟀다(9.4절).

| 방법                   | AI에게 준 것                                                                                                                    |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| ⑥ 모델 + 질의 계층 v3 | ⑤의 도구를 고친 것. 근거 원문 전문과 미해결 항목 내용(측정 때는 260자까지, 측정 뒤에는 전문)을 묶음에 싣는다                   |
| ⑦ 모델 + 계산 계층    | 관계를 따라 지급 여부와 금액까지 계산하고, 적용한 규칙과 근거를 함께 내는 도구. 내 다른 프로젝트(insu)의 계산기 방식에서 배웠다 |

각 방법이 실제로 어떻게 생겼는지 예를 보자.

### 4.1 원문은 이렇게 생겼다

ING 증권 판독본에는 항목이 33개 있다(1쪽 가입 내역 4개, 2쪽 보장내용 29개). 아래는 2쪽의 두 줄이다(판독본 26번, 33번).

> "<무배당 배우자 보장특약> … 암진단급여금 - 피보험자가 특약의 보험기간중 암에 대한 책임개시일 이후에 최초로 "기타 피부암 이외의 암"으로 진단이 확정되었을 때 (1회에 한하여 지급) | 30,000,000"

> "<무배당 암치료특약> 암치료보험금 - 피보험자가 특약의 보험기간중 암에 대한 책임개시일 이후에 최초로 "기타 피부암 이외의 암"으로 진단이 확정되었을 때 (1회에 한하여 지급) | 20,000,000"

지급 조건 문장은 글자까지 같다. 다른 것은 맨 앞의 특약 이름뿐이다. 그 특약의 피보험자가 누구인지는 1쪽 관계자 칸에 따로 있다.

> "주보험대상자(주피보험자) [본인] … / 종보험대상자(종피보험자) 배우자"

원문만 읽는 AI는 이 세 줄을 스스로 이어 붙여야 "위암이면 나는 2,000만원, 3,000만원은 배우자 몫"이라고 판단할 수 있다.

### 4.2 표는 이렇게 생겼다

표는 관계 모델에서 프로그램으로 만든 Markdown 문서다. 담보 58개가 한 행씩 있고, 각 행에 계약·특약·피보험자·금액·조건·지급 대상 범주가 이미 붙어 있다. Q1·Q8(위암 진단)에 필요한 부분은 이렇다.

| 계약 | 특약                  | 피보험자         | 증권 인쇄 이름   | 사건 | 금액(원)   | 단위        | 지급 대상 범주        |
| ---- | --------------------- | ---------------- | ---------------- | ---- | ---------- | ----------- | --------------------- |
| ING  | 암치료특약            | 본인             | 암치료보험금     | 진단 | 20,000,000 | 일시금      | 기타 피부암 이외의 암 |
| ING  | 배우자 보장특약       | **배우자** | 암진단급여금     | 진단 | 30,000,000 | 일시금      | 기타 피부암 이외의 암 |
| 삼성 | 주계약                | 본인             | 암진단급여금     | 진단 | 10,000,000 | 일시금      | 암 (삼성)             |
| 삼성 | 특정암보장특약 (가설) | 본인             | 특정암진단급여금 | 진단 | 10,000,000 | 일시금      | 특정암 (남자: 3대암)  |
| 삼성 | 주계약                | 본인             | 암간병자금       | 간병 | 500,000    | 매월 (12회) | 암 (삼성)             |
| 동부 | 주계약                | 본인             | 암진단자금       | 진단 | 50,000,000 | 일시금      | 일반암 (고액암 제외)  |

그리고 범주마다 질문에 나오는 진단을 포함하는지 미리 계산한 범주 표가 있다.

| 범주                      | 공통 축  | 위암 C16      | 갑상선암 C73  | 위의 상피내암 D00 |
| ------------------------- | -------- | ------------- | ------------- | ----------------- |
| ING 기타 피부암 이외의 암 | 일반암   | 포함          | 포함          | 불포함            |
| ING 기타 피부암           | 소액암   | 불포함        | 불포함        | 불포함            |
| 삼성 암                   | 일반암   | 포함          | 포함 (가설)   | 불포함            |
| 삼성 특정암 (남자: 3대암) | 특정암   | 포함          | 불포함 (가설) | 불포함 (가설)     |
| 삼성 상피내암             | 상피내암 | 불포함 (가설) | 불포함 (가설) | 포함              |
| 메트 성인병               | 성인병   | 포함          | 포함          | 불포함 (가설)     |
| 동부 일반암(고액암 제외)  | 일반암   | 포함          | 포함          | 불포함            |
| 동부 고액암               | 고액암   | 불포함        | 불포함        | 불포함            |

"(가설)"은 원문을 해석해야 정해지는 칸이다(2절의 확인 상태). 이 표시가 붙은 칸은 답에도 조건으로 붙인다.

Q1은 "피보험자=본인, 사건=진단"인 행을 고르고, 지급 대상 범주가 "위암 C16 = 포함"인지 범주 표에서 보면 된다. 사람에게는 표를 좌우로 훑는 일이 번거롭지만, AI는 큰 덩어리로 읽어 들인다. 공정 재측정(6.1절) 때 표 파일은 약 11만 자(절반은 맨 아래 근거 목록)였고, AI는 이것을 서너 번에 나눠 읽으며 질문당 평균 6만 자 정도를 읽고 답했다. 새 자료를 넣은 최종 측정 때는 질문당 약 8만 자를 읽었다(지금 판의 표 파일은 약 13.5만 자다). 이 점이 뒤에서 속도 차이로 나타난다.

### 4.3 관계 모델은 이렇게 생겼다

관계 모델은 같은 사실을 노드와 선으로 적은 JSON 파일이다. 종류 7개, 관계 9개다.

```
계약 ──특약을 둔다──▶ 특약 ──보장한다──▶ 담보 ──지급 대상 범주──▶ 범주 ──포함한다/않는다──▶ 진단
                      │                    │
                      └──피보험자──▶ 사람   ├──수술 등급(1-3종)──▶ 수술 종류
                                           └──먼저 받았으면 빼고/주지 않고──▶ 담보
```

질문마다 어떤 선을 따라가는지 보면 관계가 무엇인지 잘 보인다. 아래는 모델에서 실제로 꺼낸 경로다(ID는 줄였다).

**Q1 위암 진단금:** 사람에서 출발해 거꾸로 피보험자 선을 타고, 특약 → 담보 → 범주 → 진단으로 간다.

```
본인 ◀─피보험자─ 무배당 암치료특약 ─보장→ 암치료보험금(2,000만) ─지급 대상→ 기타 피부암 이외의 암 ─포함→ 위암 C16
본인 ◀─피보험자─ 삼성 주계약 ─보장→ 암진단급여금(1,000만) ─지급 대상→ 암(삼성) ─포함→ 위암 C16
본인 ◀─피보험자─ 삼성 특정암보장특약 ─보장[가설]→ 특정암진단급여금(1,000만) ─지급 대상→ 특정암(남자 3대암) ─포함→ 위암 C16
본인 ◀─피보험자─ 동부 주계약 ─보장→ 암진단자금(5,000만) ─지급 대상→ 일반암(고액암 제외) ─포함→ 위암 C16
```

배우자 특약의 3,000만원은 이 경로에 나타나지 않는다. 출발점이 "본인"이기 때문이다.

**Q8 배우자:** 출발점만 "배우자"로 바꾸면 경로가 하나 나온다.

```
배우자 ◀─피보험자─ 무배당 배우자 보장특약 ─보장→ 암진단급여금(3,000만) ─지급 대상→ 기타 피부암 이외의 암 ─포함→ 위암 C16
```

**Q5 위의 상피내암:** "포함하지 않는다" 선이 핵심이다.

```
삼성 특정암(남자 3대암) ─포함하지 않는다→ 위의 상피내암   (근거: 3대암 분류표에서 위에 관한 항목은 "위의 악성신생물 C16" 하나뿐이고 상피내암은 없음)
삼성 암 ─포함하지 않는다→ 위의 상피내암                  (그래서 "암으로"만 주는 간병자금은 안 나옴)
삼성 암진단급여금 ─지급 대상(금액 400만)→ 삼성 상피내암 ─포함→ 위의 상피내암
```

**Q7 숨은 담보:** 메트라이프에는 "암"이 붙은 담보가 없지만, 성인병 범주가 악성신생물 전체를 포함한다.

```
메트 성인병Ⅱ특약 ─보장→ 성인병입원급여금(하루 3만) ─지급 대상→ 메트 성인병 ─포함→ 위암 C16
  (근거: 성인병분류표 "악성 신생물 C00 - C97")
```

**Q9 과거 이력:** 담보와 담보 사이의 선이 있다.

```
ING 암치료보험금(기타 피부암 이외의 암, 2,000만) ─먼저 받았으면 빼고 준다→ ING 암치료보험금(기타 피부암, 400만)
```

**Q10 이혼:** "배우자 보장특약이 사라지면"을 거꾸로 따라가면 사라지는 담보 8개가 한 번에 나온다.

**Q11 장해:** 삼성 휴일재해장해급여금은 범주 두 개(휴일 재해, 평일 재해)로 이어져 있고, 평일 쪽 선에 등급별 금액(3급 500만원)이 붙어 있다.

### 4.4 질의 계층은 이렇게 생겼다

관계 모델을 AI가 한 칸씩 걷게 하면 느리다(6절과 7절에서 자세히). 그래서 "피보험자·진단·사건"을 주면 후보 담보와 근거를 한 번에 꺼내 주는 질의 도구를 만들었다. 지급 여부나 합계는 도구가 판단하지 않고 AI가 판단한다. Q4(위암 입원)를 물으면 이런 묶음이 나온다(담보 하나 부분, 실제 출력 그대로).

```
## CV-ING-15 '입원급여금' · ING생명 무배당 종신보험 표준형 > 무배당 의료비보장특약 (계약 유지, 특약 유지, 만기 2055-02-11)
  속성 {"amount": 30000, "unit": "1일당", "event": "입원", "dayFrom": 4, "dayMax": 120}
  지급 사유 피보험자가 특약의 보험기간 중 발생한 질병 또는 재해(질병 및 재해분류표)로 그 치료를 직접적인 목적으로 4일 이상 계속 입원하면 3일 초과 1일당 지급 (입원 1회당 120일 한도)
  근거 N-C01-15 [C01 증권 2쪽 보장내용 (판독본 15번)] "<무배당 의료비보장특약> 입원급여금 - 피보험자가 특약의 보험기간중 발생한 질병 또는 재해로 인하여 그 치료를 직접적인 목적으로 4일이상 계속 입원시 (입원1회당 120일 최고 한도로 함) 3일 초과 1일당 | 30,000"
  지급 대상 CAT-ING-DISEASE-INJURY '질병 또는 재해 (ING 의료비보장특약·배우자보장특약)' 축=질병 [확인] | C16:포함 근거 N-C05-P44-11-1
  면책·제한 근거 N-C05-P45-13
```

### 4.5 계산 계층은 이렇게 생겼다

질의 계층은 후보만 꺼내고 입원 일수, 등급 금액, 과거 수령 차액, 합계를 모두 AI에게 맡겼다. 계산 계층은 그 계산까지 프로그램이 한다. 담보마다 규칙을 차례로 적용하고(피보험자 → 유지 → 사건 → 범주 → 금액 → 입원 일수 → 대기기간 → 과거 수령 …), 적용한 규칙을 기록으로 남긴다. 확인할 수 없는 것은 "판단 필요"로 남겨 AI가 판단한다. 위암 10일 입원을 물으면 이렇게 나온다(줄여 옮김. "..."은 생략한 곳).

```
## 지급 (4)
- CV-ING-15 '입원급여금' · ING생명 무배당 종신보험 표준형 > 무배당 의료비보장특약 · 사건 입원 · 210,000원 [확인]
    규칙: R2-ACTIVE 계약·특약 유지, 만기 2055-02-11 / R5-INC 질병 또는 재해 (ING 의료비보장특약·배우자보장특약): C16 포함 / R7-DAYS 10일 입원 → 4일째부터 7일 × 30,000원
- CV-ING-28 '암입원급여금' · ... · 1,400,000원 [확인]
...
## 지급(가설) (1)
- CV-MET-11 '성인병입원급여금' · 메트라이프 무배당 하이라이프종신보험 > 무배당성인병Ⅱ (무배당 성인병 보장 II특약) · 사건 입원 · 210,000원 [가설]
...
## 합계 (같은 단위끼리만. 판단 필요 항목은 뺌)
  확인: 입원(일수 계산) 2,380,000원
  가설 포함: 입원(일수 계산) 2,590,000원
```

"가설 포함" 합계 259만원이 내가 쓴 예상 답과 같다. 확인 합계와 다른 21만원은 "지급(가설)"에 따로 나온 메트 성인병입원급여금이다. 이 담보가 속한 특약의 만기(증권의 "기간 52"를 52년으로 읽은 것)가 "가설"(원문이 직접 말하지 않고 해석이 필요한 것) 상태라 확인 합계에서 뺐다.

## 5. 만든 과정과 시행착오

이번 주의 진짜 배움은 대부분 실수에서 나왔다. 하나씩 무슨 일이 있었는지, 왜 문제였는지, 어떻게 알았는지, 무엇을 고쳤는지 적는다.

### 5.1 작은 테스트: 관계 2종으로는 1주차 함정을 못 피했다

- **무슨 일:** 교안대로 대상 5-8개, 관계 2종("보장한다", "지급 대상 범주")으로 위암 진단 경로만 그렸다.
- **왜 문제:** 4.1절의 두 담보(26번, 33번)는 둘 다 "기타 피부암 이외의 암"을 지급 대상으로 가리킨다. "누가 피보험자인가"를 말하는 선이 없으니 둘을 구분할 수 없다.
- **어떻게 알았나:** 이 작은 모델로 "본인 위암 진단금(ING)"을 계산하니 2,000만원이 아니라 **5,000만원**이 나왔다. 구조 검사기는 통과했다.
- **고친 것:** "피보험자" 관계를 넣자 2,000만원이 됐다.
- **배운 것:** 1주차에 내가 엑셀에서 놓칠 뻔한 함정을 첫 관계로 넣어야 한다.

### 5.2 일부러 틀린 선 두 개

- **무슨 일:** 두 가지 거짓 선을 넣어 봤다. 하나는 "암치료보험금이 암치료특약을 보장한다"(방향을 뒤집음), 다른 하나는 "배우자 보장특약의 피보험자는 본인이다".
- **결과:** 검사기는 첫 번째(종류가 맞지 않음)는 잡았지만 두 번째는 통과시켰다. 형식(특약 → 사람)이 맞기 때문이다.
- **두 번째를 잡은 것:** 계산 결과가 예상 답과 달랐다(5,000만원). 그리고 선에 달린 근거 문장을 열어 보면 틀렸다는 것이 보인다. 작은 테스트에서는 판독본 18번 줄에 판독한 AI가 붙여 둔 "피보험자: 배우자" 표기가 근거였다. 원본 증권에서는 4.1절의 1쪽 관계자 칸("종피보험자 배우자")이 근거다.
- **배운 것:** 검사기는 모양만 본다. 그래서 전체 모델에는 근거 문장 대조와 계산 결과 비교를 따로 했다.

### 5.3 진단 이름에 원문에 없는 지식이 들어갈 뻔했다

- **무슨 일:** 위의 상피내암을 처음에 `D00.2`라는 코드로 적었다. KCD에서 D00은 "구강, 식도 및 위의 상피내 암종"이고, 그 아래 세부 코드 D00.2가 "위"다. 그런데 이 세부 코드는 Claude가 원래 알던 일반 지식이었다.
- **왜 문제:** 약관 분류표에는 이렇게까지만 있다.
  > "1. 구강, 식도 및 위의 상피내 암종 | D00" (ING 약관 56쪽 별표2)
  > 모델의 이름에 원문에 없는 사실이 들어가면, 나중에 그 이름을 본 AI가 "원문에 D00.2가 있다"고 믿을 수 있다.
  >
- **고친 것:** ID를 `D00 중 위`로 바꿨다.
- **배운 것:** 이름 하나에도 근거 없는 사실이 숨어 들어간다. 원문에 있는 만큼만 적는다.

### 5.4 판독본이 증권의 주석 줄을 빠뜨렸다

- **무슨 일:** 삼성 증권은 스캔 이미지라 1주차에 AI가 글자로 옮긴 판독본을 썼다. 모델을 만들면서 에이전트가 판독본과 원본 이미지를 줄마다 대조했더니, 증권 지급내용 표 곳곳에 있는 ※ 주석 7줄 가운데 6줄이 판독본에 없었다. 빠진 줄 중 세 개는 이렇다.
  > "※특정암 : 남자 (위암, 폐암, 간암), 여자 (유방암, 자궁암, 난소암) 입니다."
  > "※상피내암의 경우 상기 지급금액의 40%를 지급합니다." (11항 바로 아래)
  > "※상기 3-4항에서 평일의 경우 지급금액의 50%를 지급합니다."
  >
- **왜 문제:** 이 줄들은 금액을 바꾸는 규칙이다. 첫 줄이 없으면 "남자의 위암은 2배"를 알 수 없고, 셋째 줄이 없으면 평일 교통사고의 장해급여금이 절반이라는 것을 모른다. 판독본만 읽는 AI는 이 규칙을 모른 채 답한다.
- **반대로 확인된 것:** 증권 4장의 **금액**은 판독본과 원본이 모두 같았다. 삼성 판독본의 19번 행은 18번 행을 한 번 더 읽은 중복이었다.
- **고친 것:** 빠진 줄마다 원본 이미지에서 근거 문장을 새로 만들었다. 지금 모델(v1.4)의 근거 문장 327개 가운데 315개는 원본 이미지와 대조한 것이다.
- **배운 것:** AI가 만든 중간 산출물(판독본)은 빠뜨림이 있을 수 있다. 원본과 한 번 철저히 대조해 두면, 그 뒤로는 질문마다 다시 대조하지 않아도 된다.

### 5.5 처음 계산은 8문항 중 6개만 맞았고, 고치다가 거짓 경로를 만들었다

- **무슨 일 (1):** 계약 4건을 합친 모델로 Q1-Q8을 기계적으로 계산하니 Q4와 Q7이 틀렸다. 삼성 입원특약의 입원급여금(하루 1만원)이 위암 경로에서 빠졌다.
- **원인:** 증권 문구에 입원 원인 제한이 없다.
  > "□입원급여금 : 피보험자가 4일이상 계속입원시 3일초과 입원일수 1일당 | 10,000"
  > 그래서 에이전트가 이 담보를 "원인 무관" 범주에 이었다. 그런데 "원인 무관"에서 위암으로 가는 선이 없었다.
  >
- **고친 것 (1):** Claude가 "원인 무관은 모든 진단을 포함한다"는 선을 넣었다. 8문항이 모두 맞았다. 다만 이것은 예상 답을 아는 상태에서 고친 결과라 독립 시험은 아니다.
- **무슨 일 (2):** 이 선이 거짓 경로를 만들었다. 동부 납입면제는 "암 진단 **또는** 1-3급 장해"일 때인데, 장해 몫을 "원인 무관"에 이어 둔 상태였다. 그러자 "위의 상피내암 → 원인 무관 → 동부 납입면제"라는 길이 생겼다. 그런데 동부 약관은 상피내암을 분명히 뺀다.
  > "최초로 암[고액암 포함](단, 기타피부암, 상피내암, 경계성종양 제외)으로 진단 확정된 때에도 보험료를 납입 면제하여 드립니다." (동부 약관 제21조①)
  >
- **어떻게 알았나:** 검토 에이전트가 선 269개를 하나씩 원문과 대조하다 찾았다.
- **고친 것 (2):** 병(원인)이 아니라 상태(장해 등급, 만기, 잔여수명)가 지급 사유인 것은 진단과 이어지지 않는 "상태 범주"로 옮겼다.

### 5.6 "그리고"를 "또는"으로 만들었다

- **무슨 일:** 수정 에이전트가 삼성의 사망·장해 담보 5개에 "장해 상태" 범주를 하나 더 달았다. 예를 들어 이 담보다.
  > "4. 휴일에 발생한 재해로 인해 제2급 내지 제6급의 장해시 | 14,000,000 / 2,000,000" (삼성 증권 4항)
  >
- **왜 문제:** 이 담보는 "휴일 재해 **그리고** 장해"일 때만 준다. 그런데 한 담보에 범주 선을 두 개 달면 "둘 중 하나면 준다"로 읽힌다. 그러면 "질병으로 2급 장해 → 휴일재해장해급여금"이라는 오답 경로가 생긴다.
- **어떻게 알았나:** 바뀐 부분만 다시 검사하는 재검증 에이전트가 잡았다.
- **고친 것:** 5개 선을 지우고 규칙을 정했다. 원인이 정해진 담보는 원인 범주에만 잇고, 장해 등급은 속성으로 적는다.
- **배운 것:** 선이나 범주 하나의 뜻을 정해 두지 않으면, 그것을 지나는 모든 질문이 함께 틀린다. 이번 주 거짓 경로 두 개가 다 그랬다. 하나는 "원인 무관" 범주에 상태(장해) 사유를 섞은 것이고(5.5절), 하나는 "그리고"를 "또는"으로 만든 것이다. 둘 다 다른 AI가 검토·재검증하는 역할에서 찾았다.

### 5.7 계약마다 다른 에이전트가 만들어 표기가 제각각이었다

- **무슨 일:** 계약 4건을 서로 다른 에이전트가 맡았더니 같은 것을 다르게 적었다. 예를 들어 담보 이름(label)에 특약 이름이나 설명을 섞었다. 동부의 "약물치료비"를 "약물치료비 [암(고액암 포함)]"로 적은 식이다.
- **왜 문제:** Q7은 "담보 **이름**에 '암'이 없는" 담보를 묻는다. 증권에 인쇄된 이름은 "약물치료비"인데 모델의 이름에 "암"이 들어가 있으면 판정이 흔들린다.
- **고친 것:** 증권에 인쇄된 이름 그대로를 담는 칸을 따로 만들고, 이름 판정은 그 칸으로 하게 했다.

### 5.8 Claude가 과하게 쓴 문장: "위절제술이면 조건부"

- **무슨 일:** 메트라이프 성인병수술급여금(150만원)을 두고 Claude가 "위절제술이면 조건부"라고 썼다. 근거는 이 표였다.
  > "악성신생물의 수술 | 악성신생물근치수술 3종 / 악성신생물온열요법 1종 / 기타의 악성신생물수술 2종" (메트 성인병특약 약관 별표4)
  > 표에 "위절제술"이라는 이름의 줄이 없다.
  >
- **왜 과했나:** 사례글 초안을 사실 확인하던 에이전트가 반박했다. 위암 수술은 "악성신생물근치수술"이나 "기타의 악성신생물수술" 줄로 분류될 것이고, 이 담보는 등급과 상관없이 150만원이다. 남는 것은 "어느 줄인가"뿐이고 금액은 같다.
- **고친 것:** 노트와 비교 문서에서 "조건부"를 빼고 "분류는 보험사 확인"으로 바꿨다. 이 과한 표현이 Wiki 노트 세 곳에 이미 들어가 있어 함께 고쳤다.

### 5.9 원자료 번호가 질병 코드와 겹쳤다

- **무슨 일:** 5.10절에서 새로 찾은 자료 6개(삼성 특약 약관 2, 상품요약서 3, 가입 설계 결과 1)에 처음에는 C15부터 C20까지 번호를 붙였다. 그런데 KCD 코드도 C15(식도암), C16(위암)이다. 그래서 모델 메모에 이런 문장이 생겼다.
  > "위암(C16)은 C16(2004판) 별표1 간질환분류표에 없다"
  > 앞의 C16은 위암이고, 뒤의 C16은 "삼성 간질환입원특약 약관"이다.
  >
- **왜 문제:** 위암 질문에 답하는 AI가 "C16"을 보고 엉뚱한 문서를 위암으로 읽거나 그 반대로 읽을 수 있다. 할루시네이션을 부르는 자리다.
- **고친 것:** 새 자료 번호를 S15-S20으로 바꿨다. 질병 코드와 원자료를 문맥으로 하나씩 구분해 바꿨다.
- **배운 것:** 사람에게는 사소한 이름 충돌이 AI에게는 혼동의 원인이 된다.

### 5.10 1주차에 놓친 자료가 있었다

- **무슨 일:** 1주차에 원자료를 모으면서 "증권"과 "약관" 폴더만 봤다. 내가 "이 파일들도 활용하지 않았어?"라고 물어서야 "기타" 폴더의 자료를 찾았다.
  - 삼성생명 고객센터와 2005년에 주고받은 문답 3번 (8.3절에서 자세히)
  - 삼성 입원특약 약관, 간질환입원특약 약관 (모델은 "약관이 없다"고 미해결로 두고 있었다)
  - ING·메트라이프·동부 상품요약서, 동부 가입 설계 결과
- **고친 것:** 보험사 문답은 먼저 원자료 C14로 넣었다. 나머지 자료는 점검 에이전트 3개가 내 계약에 적용되는지부터 판정해, 적용되는 것만 원자료(S15-S20)로 넣었다. 지금 메트라이프 증권에 없는 특약의 약관 3개는 넣지 않았다.
- **결과:** Q1-Q8의 답은 바뀌지 않았다. 대신 미해결 항목이 여럿 풀렸다. 예를 들어 삼성 입원특약 약관에 이런 문장이 있었다.
  > "피보험자가 특약의 보험기간중 별표2(질병 및 재해분류표)에서 정하는 질병 또는 재해 … 로 인하여 … 입원 … 하였을 때에는 … 입원급여금 … 을 지급합니다." (삼성 입원특약 약관 제3조①)
  > "입원급여금의 지급일수는 제1형 내지 제5형의 경우에는 1회 입원당 120일을 최고 한도로 합니다." (같은 조 ②)
  >

### 5.11 그 밖의 실수

| 실수                                                    | 누가          | 생긴 일                                                                                                    | 고친 것               |
| ------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------- | --------------------- |
| Windows에서 파이썬으로 노트를 고침                      | Claude        | 줄바꿈이 바뀌어 AKM 검사가 노트를 못 읽음. 고치면서 변환 범위를 넓게 잡아 손대지 않을 시스템 파일까지 바꿈 | git에서 원래대로 복원 |
| 채점 기록에 생년월일 일부가 적힘                        | 채점 에이전트 | 증권 원본에 인쇄된 값을 옮겨 적음                                                                          | 지움                  |
| 1주차부터 Wiki 노트 한 곳에 배우자 이름                 | 1주차 정리    | 공유될 수 있는 노트                                                                                        | "배우자"로 바꿈       |
| 작업 기록의 에이전트 수를 52개로 적음                   | Claude        | 실제는 36개                                                                                                | 고침                  |
| 사례글 초안을 1인칭으로 써서 AI 작업이 내 작업처럼 읽힘 | Claude        | 사실 확인 에이전트가 지적                                                                                  | 누가 했는지 밝힘      |

## 6. 처음 두 측정의 결과와 내가 던진 질문들

### 6.1 첫 측정과 공정 재측정: 표가 모델보다 빨랐다

모델(v1.1)을 만든 뒤 Q1-Q8을 방법마다 한 번씩 쟀다(첫 측정). 블라인드 채점에서 모든 방법이 8/8을 맞혔다. 그런데 설계 실수가 있었다. 모델 조건은 Wiki를 먼저 읽은 뒤 모델을 다시 읽었고, 다른 조건에 없는 지시(경로 적기)도 받았다(103초). 그래서 조건을 맞춰 Q1-Q8을 두 번씩 다시 쟀다(공정 재측정 64번. 이때는 시간만 비교하고 채점은 하지 않았다). 시간은 이랬다(질문 8개 × 2번 평균).

| 방법             | 시간           | 도구 호출 | 왕복 | 읽은 양  | AI가 쓴 코드 |
| ---------------- | -------------- | --------- | ---- | -------- | ------------ |
| Wiki             | 60초           | 21회      | 30회 | 39만 자  | 1,100자      |
| 표               | **37초** | 10회      | 15회 | 6만 자   | 60자         |
| 모델 (도구 없음) | 80초           | 15회      | 25회 | 6.5만 자 | 6,800자      |
| 모델 + 탐색 도구 | 72초           | 16회      | 26회 | 4.5만 자 | 2,700자      |

### 6.2 내가 물은 것과 받은 답

**Q. Wiki를 왜 두 번 쟀나?**
같은 방법을 다시 재면 결과가 얼마나 흔들리는지 보려고 했다. 첫 측정에서 같은 Wiki 조건의 점수가 8.63과 9.19, 시간이 49초와 75초로 갈렸다. 그래서 한 번 잰 방법끼리의 작은 차이는 믿을 수 없다는 것을 알았고, 최종 측정은 모든 방법을 세 번씩 쟀다.

**Q. "표"는 무엇인가?**
모델과 **똑같은 사실**을 관계 없이 표로만 펼친 문서다(4.2절). 대조군이다. 모델은 두 가지를 한꺼번에 더한다. 하나는 "더 많은 내용"(담보 58개 전부, 배우자 담보, 조건)이고, 다른 하나는 "관계 구조"(선과 노드)다. 표에는 내용만 있고 구조는 없다. 그래서 표와 모델을 비교하면 무엇이 효과를 냈는지 가를 수 있다.

**Q. 모델은 하나인가?**
한 측정 안에서는 모든 질문이 같은 모델 파일을 썼다. 다만 만드는 동안 판이 여럿 있었다(작은 테스트용, v1, v1.1, 새 자료를 넣은 v1.2·v1.3, 측정 뒤에 고친 v1.4). 첫 측정과 공정 재측정은 v1.1로, 최종 측정과 추가 측정은 v1.3으로 했다. 지금 파일은 v1.4다. "모델"은 AI 모델이 아니라 관계 모델(데이터 파일)이다. 답한 AI는 모든 방법에서 같은 Claude Opus 5.5다.

**Q. 원문은 이미지와 표로 되어 있는데, 원문을 읽는 것과 관계를 읽는 것의 속도가 왜 이것밖에 차이가 안 나나? 그리고 표보다 관계가 왜 느린가? 관계는 필요한 경로만 따라가면 되지 않나?**
이 질문이 이번 주의 전환점이었다. 기록을 분석해 보니 답은 세 가지였다.

1. AI에게 "읽기"는 빠르고 "왕복"과 "쓰기"가 느리다. 첫 측정에서 원문만 준 AI는 질문당 141만 자를 읽고 184초가 걸렸다(최종 측정에서는 606만 자, 228초). 원문만 조건을 뺀 공정 재측정에서 시간은 읽은 양(상관 0.25)보다 왕복 횟수(상관 0.71)를 따라갔다.
2. 원문의 이미지는 대부분 1주차에 이미 판독본(글자)으로 옮겨 둔 상태였다. AI는 이미지를 매번 해석하지 않고 판독본을 읽었다.
3. 관계 모델을 "필요한 경로만" 따라가게 해 줄 **질의 도구가 없었다.** AI가 질문마다 파이썬 코드를 평균 6,800자씩 직접 써서 그래프를 걸었다. 표는 이미 조인이 끝난 상태라 한 번 읽고 끝났다.

**Q. 이러면 온톨로지를 왜 쓰나? 조회 방법에 문제가 있는 것 아닌가?**
그래서 온톨로지 전문가 관점에서 다시 점검했다(7절).

**Q. 온톨로지의 목적은 속도만이 아니라, 원문을 직접 읽을 때 생기는 할루시네이션을 줄이는 것 아닌가?**
맞다. 그래서 최종 측정에 할루시네이션 감사를 넣었다(10절).

**Q. 질의 계층으로 조회 로직을 개선했나? 내 다른 프로젝트(insu)에서 배울 점이 있나? 개선하지 않고 재면 또 표보다 느리지 않나?**

- 개선은 이미 최종 측정에 들어가 있었다(7절 처방 P1-P3). 그런데 결과는 걱정대로였다. 표 61.4초, 질의 계층 81.0초(9절).
- 원인은 AI가 묶음을 받고도 다시 조회한 것이다. 질의 도구를 질문당 8.7번 불렀다(처음 부른 사용법·묶음 포함). 묶음의 근거 인용이 150자(범주 근거는 130자)에서 잘려 있었고, 미해결 항목은 번호만 있었고, 사용법이 SPARQL 탐색을 권했다.
- insu에서 배운 원칙은 "결정적인 처리는 프로그램이 하고, AI는 판단만 한다"이다. insu는 금액을 계산기 하나만 계산하게 하고 적용한 규칙을 기록한다. 그래서 질의 계층을 고치고(인용 전문, 미해결 내용 포함) 계산 계층을 새로 만들어 다시 쟀다(4.5절).
- 결과는 9.4절에 있다. 둘 다 표를 넘지 못했다.

**Q. insu의 모델과 무엇이 다르고, 서로 가져다 쓸 수 있나?**

- insu는 가족 8명 45계약, 담보 582개의 보장원장이다. 담보 레코드가 중심이고, 개념·담보 종류·보험사 정의·사건별 후보를 정한 온톨로지 파일과 그래프 데이터베이스가 둘레에 있다. 스터디 모델은 계약 4건을 선으로 잇는 그래프 하나다.
- 같은 4계약에서 짝지어지는 담보 56쌍(스터디에만 있는 납입면제 담보 2개는 제외)은 금액·피보험자·만기가 모두 같았다.
- 구조는 서로 담을 칸이 없는 것이 있어 그대로 합치면 잃는다. 그래서 담보 번호 대응표로 잇고 빠진 것을 빌리기로 했다.
  - insu가 빌릴 것: 담보 사이 관계("먼저 받았으면 차액·미지급")를 문장이 아닌 구조로, 질문 진단마다 포함·불포함을 반드시 정해 두는 시험
  - 스터디가 빌릴 것: 결정적 계산과 규칙 기록, 실수를 시험으로 바꾸기, 숫자를 정본에서 다시 뽑기
- 비교하다가 insu 쪽 결함도 찾았다.
  - 계산기가 피보험자를 확인하지 않아, 고정 질문 기록에 배우자 담보가 섞였다.
  - "위암이면 소액암 담보는 뺀다"는 규칙이 실제로는 돌지 않았다.
  - 장해 등급 금액이 두 번 곱해졌다.
  - insu는 이 스터디의 AI가 직접 고치지 않고 insu의 제안서 폴더(handout)로 넘긴다. 2026-10-07에 한 번 넘겼고, 이번에 찾은 결함과 정리 문서는 스터디가 끝난 뒤 넘긴다.

**Q. insu에도 표가 있나?**
사람이 보는 표는 많다(앱 조회 화면, 승인 화면, 계약 노트, 엑셀 매트릭스). 하지만 스터디 표처럼 담보 한 행에 범주 포함 여부까지 붙여 AI에게 주는 표는 없다. AI가 읽는 것은 담보 목록 6열 표 하나다.

## 7. 온톨로지 전문가 관점의 점검

세 관점(온톨로지 설계, 지식그래프와 LLM 조회, 평가 방법론)의 검토 에이전트가 따로 점검하고, 종합 에이전트가 판정했다.

**진단**

1. **질의 계층이 없었다(가장 큰 원인).** 실제 온톨로지는 SPARQL 같은 질의 언어나 미리 정한 질의로 "본인이 피보험자이고 위암을 포함하는 범주에 진단금을 주는 담보"를 한 번에 꺼낸다. 우리 도구는 노드 하나·선 하나씩 걷는 것뿐이었다. 그래서 AI가 질문마다 "읽는 순서" 8단계를 손으로 다시 실행했다.
2. **이번 비교는 "표 대 온톨로지"가 아니었다.** 표는 모델에서 조인을 미리 끝내 만든 뷰다. 표가 빨랐던 것은 온톨로지가 해 둔 조인 덕분이다. 정확한 뜻은 "미리 계산한 뷰가 날 그래프를 손으로 걷는 것보다 빠르다"였다.
3. **도구 비용이 컸다.** 늦어진 34초 중 약 18초는 호출할 때마다 프로세스를 새로 띄우고 451KB 파일을 다시 읽은 비용이었다.
4. **규모가 작았다.** 담보 58개짜리 표는 AI가 한 번에 읽는다. 온톨로지가 이길 자리(전부 찾기, 영향 분석, 새 진단, 근거 역추적)를 재지 않았다.
5. **모델이 질문에 맞춰져 있었다.** 진단 노드가 3개뿐이었다. 범주에 KCD 범위가 적혀 있는데도 그것으로 새 진단을 분류하는 규칙이 없었다.

**처방**

- P1 근거 묶음 질의(4.4절): 피보험자·진단·사건을 주면 후보와 근거, 확인 상태를 한 번에 꺼낸다.
- P2 KCD 범위 규칙: "코드가 범주의 범위 안이고 제외 범위 밖이면 포함". 손으로 단 포함·불포함 선 63개와 규칙 결과가 모두 같았다. 이제 기타피부암(C44)이나 폐암(C34)처럼 진단 노드가 없는 질문도 규칙으로 후보를 모은다.
- P3 탐색 도구 손질: 여러 ID 한 번에, 경로에 속성 표시, 사용법과 ID 목록을 한 화면에.

경계도 정했다. 도구는 지급 여부, 합계, 일수 계산을 하지 않는다. 그것을 하면 AI가 아니라 프로그램이 답하는 것이기 때문이다.

## 8. Q5: 원문만으로 어떻게 맞혔나, 그리고 보험사 문답

### 8.1 내가 궁금했던 것

Q5(위의 상피내암)는 내가 "복잡해서 모르겠다"고 한 질문이다. 그런데 원문만 준 AI도 맞혔다. 정답 기준이 원문만 읽은 AI 판정자들이 만든 판정표였으니, 같은 원문을 같은 종류의 AI가 읽고 맞춘 셈이라 독립된 확인은 아니었다.

원문을 보면 답의 재료는 다 있다.

1. ING: 상피내암은 따로 400만원이다.
   > "최초로 "상피내암" 또는 "경계성종양"으로 진단이 확정되었을 때(…) | 특약보험가입금액의 20%" (ING 약관 53쪽, 2,000만원 × 20% = 400만원)
   >
2. 삼성 진단금: 상피내암이면 40%다.
   > "※상기 6-7항에서 상피내암의 경우 지급금액의 40%를 지급하며, 5-7항에서 특정암의경우 (피보험자의 성별에 해당하는 특정암) 상기 지급금액의 2배를 지급합니다." (삼성 증권, 1,000만원 × 40% = 400만원)
   >
3. 삼성 특정암 2배는 붙지 않는다. 남자의 특정암 표에 위는 악성신생물만 있다.
   > "위의 악성신생물 C16 / 간 및 간내 담관의 악성신생물 C22 / … / 기관지 및 폐의 악성신생물 C34" (삼성 특정암특약 약관 별표2)
   >
4. 삼성 간병자금은 나오지 않는다. 진단금은 "암 또는 상피내암"인데 간병자금은 "암으로"만 적혀 있다.
   > "6. … 암 또는 상피내암으로 진단확정되었을 때 : 암진단급여금을 지급" / "7. … 암으로 진단확정되었을 때 : … 암간병자금을 12회 확정지급" (삼성 약관 제12조①)
   >
5. 동부: 상피내암 진단자금 500만원이다.
6. 메트라이프: 진단만으로 주는 담보가 없다.

합계 1,300만원이다.

### 8.2 원문만으로는 확정할 수 없었던 것

- **메트라이프 암치료Ⅱ특약:** 폴더에 이 특약의 약관이 있고, 상피내암 진단이면 가입금액의 20%를 준다고 적혀 있다.
  > "책임개시일 이후에 최초로 기타피부암, 상피내암 또는 경계성종양으로 진단확정되었을 때(다만, 1회에 한하여 지급) 20% 해당액" (메트 암치료Ⅱ특약 약관 별표1)
  > 그런데 지금 증권의 가입 특약 칸에는 이 특약이 없다.
  > "주 계 약 50,000 종신 20 61,070 / 무배당수술특약 2,000 52 20 3,700 / 무배당성인병Ⅱ 30,000 52 20 6,000"
  > "⊙본 증권은 2007. 9.18 일 재발행되었습니다. ※ 2007. 9.17 일 감액"
  > 2007년 감액 때 빠졌는지, 원래 없었는지는 원문으로 알 수 없다. 그래서 "증권에 없으니 0원"이라는 전제로 답했다.
  >
- **삼성 약관의 판:** 폴더의 삼성 약관 파일에는 쪽마다 다른 상품명과 2004년 날짜가 찍혀 있다.
  > "[쪽 머리] 신바람건강생활보험 | [쪽 끝] 2004- 09- 20" (삼성 간질환입원특약 약관. 주계약 약관에도 같은 머리글과 2004-08-25가 찍혀 있다)
  > 내 계약은 1997년이라 이 약관이 당시 판인지 알 수 없다. 다만 약관의 비율 × 가입금액이 증권 금액과 모두 맞아서 그대로 썼다.
  >

### 8.3 2005년에 내가 보험사에 물었던 기록

"기타" 폴더에서 2005년 6월 삼성생명 고객센터와 주고받은 문답을 찾았다. 바로 Q5에 대한 문답이었다.

**① 내 질문 (2005-06-04)**

> "상피내암의 경우에는 암진단,암수술,암퇴원의 경우 40%만 지급하고 암입원,암통원,암간병,암사망의 경우에는 100% 그대로 지급한다고 되어 있습니다. 여기서 제가 잘못 알고 있는 부분이 있으면 알려주시고 기타피부암과 경계성종양인 경우에는 어떻게 되는지 알려주십시오."

**② 보험사 첫 답변 (2005-06-07)**

> "문의주신 상피내암의 보장 보험약관에서 명시한 대상질병명으로 사망,간병,입원,통원의 경우 약관에 명시되어 있는 보장금액 그대로 보험사고 발생시 보장을 받으실 수 있으며, 진단,수술,요양급여금의 경우 명시되어 있는 보장금액의 40%를 보장 받으실 수 있습니다."

이 답대로라면 Q5의 삼성 금액에 간병자금(월 50만원 × 12회)이 더해진다.

**③ 보험사 둘째 답변 (2005-06-10)**

> "… C44피부의 기타 악성신생물에 대한 그 증상이 미미한에 대한 구분에 대한 보험 심사기준이 명확하지 않은 경우이므로, 악성신생품[원문 그대로] 분류표의 C44피부의 기타 악성신생물로 진단을 받으신 경우라면 일반암과 동일한 기준으로 보장 가능합니다. 또한 한국 경계성 종양 경계성종양 D37-D48로 진단을 받으신 경우라면 보험 약관상 상피내암과 동일한 보장 가능합니다."

**④ 내 반문 (2005-06-24)**

> "약관에서는 상피내암의 경우 암사망보험금(약관 제12조 제1항 제5호)과 암간병자금(제7호)이 제공된다는 것이 명시되어 있지 않습니다. … 어떤 근거에 의해 보장받을 수 있습니까?"

**⑤ 보험사 정정 (2005-06-27)**

> "→ 상피내암으로 인한 별도의 사망보험금 항목 없으며 암간병자금 지급되지 않습니다.."
> "→ 보험업감독업무시행세칙 개정(2002.8.1시행)에 따라 암을 담보하는 상품(…)의 경우 경계성 종양(…D37 - D48에 해당하는 질병)에 대하여 상피내암과 동일하게 보장하고 있습니다."

**이 문답이 말해 주는 것**

- 상담원의 첫 답변은 틀렸고, 내가 약관 조항을 들어 다시 묻자 정정됐다. 최종 답은 원문만 읽은 AI 판정과 같다(간병자금 0원, 합계 1,300만원).
- 약관을 꼼꼼히 읽으면 맞는 답이 나온다. 사람(상담원)도 틀릴 수 있다.
- 원문에 없던 사실도 생겼다. 삼성은 경계성종양을 상피내암과 같게 준다. 기타피부암(C44)은 "증상이 미미한" 것을 가르는 심사 기준이 명확하지 않으므로 일반암 기준으로 보장 가능하다고 답했다(이 심사 기준은 14절에서 보험사에 물을 것으로 남겼다). 모델에 이 두 가지를 근거와 함께 넣었다.
- 2005년에 내가 받은 약관의 조항 번호(제12조 제1항 5·7·9·10호)가 폴더의 2004년판 약관과 같다. 약관 판에 대한 의심이 조금 줄었다.

## 9. 최종 측정: 다섯 가지 방법 × 질문 11개 × 3번

### 9.1 어떻게 쟀나

- 다섯 방법(①-⑤)마다 질문 11개를 세 번씩, 모두 165번 물었다. 질문마다 새 AI 에이전트를 띄우고, 방법을 섞은 순서로 돌렸다.
- 시간은 에이전트가 처음과 끝에 시계 명령을 실행해 찍었다. 실행 기록에서 도구 호출과 왕복을 셌다.
- 채점은 블라인드로 했다. 질문·회차마다 다섯 답을 A-E로 섞고, 답 속의 파일 이름과 도구 이름도 가렸다. 채점 AI는 예상 답·판정표·원문으로 핵심 정답(맞음/부분/틀림)과 점수를 매겼다.
- 할루시네이션 감사는 따로 했다. 감사 AI는 예상 답과 정리본(노트·표·모델)을 보지 않고 **원문만** 봤다. 답마다 사실 주장을 최대 20개, 인용을 최대 10개 골라 원문과 하나씩 대조했다(10절).

### 9.2 결과

| 방법                | 평균 시간        | 왕복 | 핵심 정답 (33개 중) | 점수 (10점)    |
| ------------------- | ---------------- | ---- | ------------------- | -------------- |
| ① 원문만           | 228.3초          | 66.6 | **33**        | **9.35** |
| ② Wiki             | 95.8초           | 39.7 | **33**        | 9.27           |
| ③ 표               | **61.4초** | 18.9 | 32                  | 8.59           |
| ④ 모델 + 탐색 도구 | 74.7초           | 25.7 | 28                  | 8.30           |
| ⑤ 모델 + 질의 계층 | 81.0초           | 25.1 | 30                  | 8.52           |

- 시간은 왕복 수와 거의 같이 움직였다(상관 0.94). 원문만 준 AI는 원문을 질문당 15개 가까이 열었다.
- 같은 질문·회차끼리 짝지어 보면 질의 계층이 표보다 빠른 것은 33쌍 중 5쌍, Wiki보다 빠른 것은 20쌍이었다.

### 9.3 모델 조건이 놓친 것: 암간병자금

모델 조건의 부분 정답 8건(탐색 도구 5, 질의 계층 3)은 모두 같은 것을 빠뜨렸다. 삼성 홈닥터의 **암간병자금**(암 진단 1개월 뒤부터 매월 50만원씩 12회, 모두 600만원)이다.

> "8. 암간병자금 : 암보장책임개시일 이후에 암으로 진단확정시 암진단확정일 이후1개월 경과시부터 매월 진단확정해당일에 지급 (1회의 암진단확정에 한하며, 12회 확정지급) | 500,000" (삼성 증권 8항)

모델은 이 담보의 사건을 "진단"이 아니라 "간병"으로 분류해 두었다. AI가 "위암 진단금"을 묻는 질문을 받고 도구에 "사건=진단"으로 물었다. 그러자 이 담보가 결과에서 빠졌고, AI는 빠진 줄 몰랐다. (측정 뒤 다시 세어 보니 이렇게 결과에서 빠진 것은 누락 12건 중 3건이었다. 나머지 9건은 도구가 전달했는데 AI가 답에서 뺐다. 15절) 원문·Wiki·표 조건은 각자 담보 전체를 훑었기 때문에 놓치지 않았다(표 조건 1건은 금액을 보고도 "진단금이 아니다"라며 뺐다).

**미리 걸러 준 결과는 빠르지만, 거른 기준이 질문과 조금만 어긋나도 빠진 것을 AI가 모른다.** 그래서 측정 뒤에 도구를 고쳤다. "사건=진단"으로 물으면 "진단 확정만으로 함께 생기는데 사건 밖이라 뺀 담보"(간병, 납입면제)를 결과 끝에 따로 보인다.

### 9.4 개선해서 다시 잰 것 (추가 측정 99번)

최종 측정에서 질의 계층이 느렸던 원인을 고치고(6.2절의 "질의 계층으로 조회 로직을 개선했나?" 질문), 계산 계층을 새로 만들어 같은 날 다시 쟀다. 같은 시간대의 표를 대조군으로 함께 쟀다.

| 방법                   | 평균 시간        | 왕복 | 핵심 정답 (33개 중) | 점수 (10점)    |
| ---------------------- | ---------------- | ---- | ------------------- | -------------- |
| ③ 표 (대조군)         | **60.4초** | 19.2 | **33**        | **8.89** |
| ⑥ 모델 + 질의 계층 v3 | 74.9초           | 21.5 | 32                  | 8.80           |
| ⑦ 모델 + 계산 계층    | 77.7초           | 26.0 | 30                  | 8.50           |

- 표 시간이 최종 측정(61.4초)과 거의 같아 두 측정을 나란히 볼 수 있다.
- 질의 계층 v3는 v2보다 정답이 30에서 32로, 점수가 8.52에서 8.80으로 올랐다. 다만 같은 기간 대조군인 표도 32에서 33으로, 8.59에서 8.89로 올라 점수가 오른 것은 측정 사이의 흔들림과 가를 수 없다. 대조군과 달리 할루시네이션이 줄어든 것(10.5절)이 더 나은 근거다.
- 계산 계층의 부분 정답 3건 가운데 2건은 이번에도 간병자금 누락이었다. 나머지 1건은 특정암 1,000만원을 "가설"로 깎아 적고, 대안 합계에서 1,000만원을 두 번 셌다. 도구가 낸 합계 밖에서 AI가 다시 더한 곳에서 오류가 났다.
- 질의 계층 v3는 v2보다 6초 빨라졌다. 하지만 AI는 여전히 근거 문장(1.4번), SPARQL(1.2번), 미해결 항목(1.0번)을 다시 조회했다.
- 계산 계층은 빨라지지 않았다. 측정 지시에 "판단 필요 항목은 직접 판단하고 결과가 질문에 맞는지 확인하라"고 적었는데, AI는 계산 결과를 믿고 끝내지 않고 모델 파일을 직접 열어 검증했다(질문당 모델 파일 읽기 1.2번, 파이썬 1.1번, 근거 조회 1.8번).
- 도구 실행 비용도 컸다. 호출할 때마다 프로그램을 새로 띄우고 모델 파일을 다시 읽어 질문당 13-16초가 들었다. 표는 2.7초였다.
- 암간병자금을 적은 답(Q1·Q2·Q9의 9개 답 중): 표 9, 질의 계층 v3 8, 계산 계층 7. v2(6)와 탐색 도구(3)보다 나아졌다.

## 10. 할루시네이션 감사

### 10.1 무엇을 셌나

감사 AI가 답마다 사실 주장(금액, 담보의 존재와 소속, 지급 조건, 범주 판정, 날짜)을 최대 20개 골라 원문과 대조했다.

- **원문과 반대:** 원문이 다르게 말하는 것
- **근거 없는 단정:** 원문 어디에도 없는데 사실처럼 말한 것("가정하면"처럼 밝힌 것은 세지 않음)
- **없는 모순:** 원문끼리 다르지 않은데 다르다고 지어낸 것
- **인용이 원문에 없음:** 인용 칸의 문장이 적힌 원문 위치에 없는 것

### 10.2 최종 측정 결과

|                                   | ① 원문만 | ② Wiki     | ③ 표              | ④ 탐색 도구 | ⑤ 질의 계층 |
| --------------------------------- | --------- | ----------- | ------------------ | ------------ | ------------ |
| 확인한 주장 수                    | 650       | 637         | 623                | 601          | 585          |
| 원문과 반대 (100개당)             | 8 (1.2)   | 2 (0.3)     | **20 (3.2)** | 3 (0.5)      | 10 (1.7)     |
| 근거 없는 단정 (100개당)          | 4 (0.6)   | 3 (0.5)     | 5 (0.8)            | 2 (0.3)      | 1 (0.2)      |
| 없는 모순                         | 1         | **5** | 0                  | 0            | 0            |
| 인용이 원문에 없음 (인용 100개당) | 3 (0.9)   | 50 (15.2)   | 26 (7.9)           | 13 (4.1)     | 22 (6.9)     |
| 문제가 하나라도 있는 답 (33개 중) | 10        | 10          | 15                 | **5**  | 11           |

### 10.3 가장 많았던 오류는 "정리본이 낡아서" 생겼다

처음에는 표 조건의 "원문과 반대" 20건이 이상했다. 표는 모델과 같은 사실을 담았는데 왜 원문과 반대인 말을 했을까. 감사 기록을 열어 보니 대부분이 이런 꼴이었다.

> 답: "C13(본인 확인)은 계약 단위 유지만 확인했다. 혼인 관계가 지금도 유지되어 배우자 특약이 살아 있는지는 본인 확인이 필요하다."
> 원문(C13 추가 확인): "① ING 배우자 보장특약이 지금도 유지되나요(혼인 유지)? … → 답: 둘 다 맞음"

이미 본인 확인으로 풀린 것을 "확인이 필요하다"고 적었다. 원인을 찾아보니 **표를 만드는 프로그램이 풀린 미해결 항목 29개를 "원문으로 정하지 못한 것" 절에 해결 표시 없이 그대로 실었다.** 표를 읽은 AI는 그 낡은 문장을 충실히 옮겼다. 모델의 도구는 열린 항목만 걸러 이 문제가 없었다.

Wiki 조건의 "없는 모순" 5건도 같았다. 모두 "메트 수술특약 약관(C09)의 금액이 증권과 다르다"였다. Wiki 노트 두 곳에 이 문장이 남아 있었다. 그런데 상품요약서를 보면 약관의 금액은 1구좌 기준이고 증권 금액은 그 정확히 2배라 모순이 아니다. 상품요약서를 넣을 때 모델의 메모는 고쳤지만 노트 문장은 고치지 않았다.

> "무배당 수술특약 | 수술급여금 | … | 1종 수술 20만원 / 2종 수술 50만원 / 3종 수술 100만원" (메트 상품요약서 4쪽, 기준 "무배당 수술특약 1구좌")
> "◎수술특약급여금 … - 1종수술시 400,000 / - 2종수술시 1,000,000 / - 3종수술시 2,000,000" (메트 증권)

**AI가 원문을 잘못 읽어 지어낸 것보다, 사람이나 프로그램이 만든 정리본이 낡아 AI가 그 낡은 내용을 옮긴 것이 더 많았다.** 고친 것: 표 생성 프로그램이 풀린 항목을 해결 내용과 함께 따로 싣게 했고, Wiki 문장 두 곳을 고쳤다.

### 10.4 그 밖에 본 것

- **원문만 조건의 오류는 작은 사실 오류였다.** 메트 증권의 특약 목록에서 선지급 특약 둘을 빠뜨림, 머리글을 바닥글이라 함, 원문 밖의 의학 상식을 단정함 등이다. "원문을 직접 읽으면 지어낸다"는 걱정과 달리 이 규모에서는 원문만 조건이 정답도 점수도 가장 높았다. 대신 가장 느렸다.
- **"인용이 원문에 없음"의 대부분은 정리본 문장을 인용한 것이다.** Wiki 조건 50건은 노트의 표나 판정 문장을 인용 칸에 넣고 원문 위치를 대지 않은 것이다. 지어낸 문장은 드물었다.
- **구조화된 사실을 받은 AI는 모순을 지어내지 않았다.** 표·모델 조건은 없는 모순 0건이었다.
- **탐색 도구 조건이 문제 있는 답이 가장 적었다(5/33).** 다만 간병자금 누락으로 핵심 정답은 가장 적었다.

### 10.5 개선해서 다시 잰 것의 감사 결과 (추가 측정)

|                                   | ③ 표 (대조군) | ⑥ 질의 계층 v3 | ⑦ 계산 계층      |
| --------------------------------- | -------------- | --------------- | ----------------- |
| 원문과 반대 (100개당)             | 26 (4.0)       | 5 (0.8)         | **4 (0.7)** |
| 근거 없는 단정 (100개당)          | 3 (0.5)        | 6 (1.0)         | 8 (1.3)           |
| 없는 모순                         | 0              | 0               | 0                 |
| 문제가 하나라도 있는 답 (33개 중) | 17             | **8**     | 12                |

- 표의 "원문과 반대"는 이번에도 대부분 표에 남은 풀린 미해결 항목을 옮긴 것이다. 이 측정은 표 생성 결함을 고치기 전에 했다.
- 질의 계층 v3는 문제 있는 답이 가장 적었다. 근거 원문 전문을 묶음에 넣은 것이 도움이 된 것으로 보인다.
- 계산 계층의 "근거 없는 단정" 몇 건은 측정 지시문의 범위 문장("2024·2025년 가입 보험은 제외")을 보고 그런 보험이 있다고 단정한 것이다.

## 11. 그래서 온톨로지는 왜 쓰는가

내 계약 4건, 담보 58개 규모에서 측정한 결과를 정직하게 정리하면 이렇다.

**속도로는 이기지 못했다.** AI에게 가장 빠른 자료는 조인이 끝난 표였다(60초 안팎). 질의 계층과 계산 계층을 붙여도 표를 넘지 못했다(75-81초). AI 답의 시간은 읽은 양보다 왕복 횟수를 더 잘 따라갔고(상관 0.94 대 0.77), 도구를 줄수록 AI가 그 결과를 검증하는 왕복이 생겼다.

**정확도로도 이기지 못했다.** 이 정도 질문은 원문만 줘도 맞혔다(33/33). 모델 조건은 오히려 "미리 걸러 준 결과 밖"을 놓치는 새 실수를 했다(9.3절).

**그래도 온톨로지를 쓰는 이유는 다섯 가지다.**

1. **가장 빠른 표도 모델에서 나왔다.** 표는 사람이 만든 것이 아니라 모델에서 프로그램으로 만든 보기다. 표가 정확했던 것은 모델을 만들며 원문과 선 하나하나를 대조해 두었기 때문이다. 모델은 "AI가 읽을 가장 좋은 보기"를 만들어 주는 정본이다.
2. **낡지 않게 지킬 수 있다.** 할루시네이션 감사에서 가장 많이 나온 오류는 AI가 원문을 잘못 읽은 것이 아니라, 정리본(표, 노트)이 낡아 생긴 것이었다(10절). 정본이 하나이고 보기를 프로그램으로 다시 만들면, 이런 낡음을 시험으로 잡을 수 있다. 사람이 손으로 고친 노트는 그러기 어렵다.
3. **지어낸 모순이 없었다.** 구조화된 사실을 받은 AI는 "원문끼리 다르다"고 지어내지 않았다(모델·표 조건 0건, Wiki 5건, 원문만 1건).
4. **같은 질문에 같은 답을 기계로 낸다.** 계산 계층은 Q1-Q11에서 판정표와 같은 금액(가설 포함 합계 기준)을 호출마다 2초 안에 매번 같게 냈다. 판정표가 확정으로 본 삼성 특정암을 계산 계층은 "가설"로 표시해서, 확인 합계는 판정표보다 적다. 모델을 고칠 때마다 이 답이 바뀌는지 보는 회귀 시험이 된다. AI 답은 실행마다 조금씩 다르다.
5. **관계 질문을 프로그램으로 풀 수 있다.** "이혼하면 무엇이 사라지나"(특약 하나를 끄고 다시 계산), "2027년에 기타피부암, 2029년에 위암이면"(먼저 받은 담보를 넘겨 차액 계산), "평일과 휴일"(원인 범주와 등급) 같은 질문을 같은 도구로 다룬다. 표는 사람이나 AI가 매번 다시 읽고 따져야 한다.

**규모가 커지면 달라질 것으로 본다(재 보지는 않았다).** 내 다른 프로젝트(insu)처럼 45계약, 담보 582개가 되면 같은 꼴의 표가 46만 자라 한 번에 읽을 수 없다. 그때는 질문 단위로 잘라 주는 질의 계층과 계산 계층이 필요해진다.

한 문장으로: **온톨로지는 AI가 직접 읽을 자료라기보다, AI에게 줄 자료를 정확하고 낡지 않게 만들어 주는 정본이다.**

## 12. 배운 것

1. **관계는 질문에서 출발한다.** 1주차 함정(배우자 특약)을 피하려면 "피보험자" 관계가 처음부터 있어야 했다. 관계 2종짜리 작은 테스트가 5,000만원 오답으로 그것을 보여 줬다.
2. **검사기는 모양만 본다.** 형식이 맞는 거짓 선은 통과한다. 근거 문장 대조와 계산 결과 비교가 따로 있어야 한다.
3. **선이나 범주 하나의 뜻을 정해 두지 않으면 그것을 지나는 질문이 모두 틀린다.** 이번 주 거짓 경로 두 사건("원인 무관"에 상태 사유를 섞음, "그리고"를 "또는"으로 만듦)이 모두 그랬다.
4. **원문에 없는 것은 이름에도 넣지 않는다.** D00.2, 담보 이름에 섞인 설명, 원자료 번호와 질병 코드의 충돌이 모두 AI를 헷갈리게 할 자리였다.
5. **AI에게 날 그래프를 주면 느리다.** 질문마다 질의 엔진을 다시 짠다. 질의 결과나 조인한 보기를 줘야 한다.
6. **도구를 줘도 AI는 검증한다.** 결과 안에 검증 재료(근거 원문, 적용한 규칙, 빠진 것 목록)가 다 있어야 왕복이 준다.
7. **거른 결과 밖을 보여 줘야 한다.** "진단"으로만 거른 결과를 믿은 AI가 간병자금을 놓쳤다.
8. **정본과 파생물이 함께 맞는지 기계로 지킨다.** 표 생성 프로그램의 작은 결함(풀린 항목을 미해결로 실음)이 표 조건 할루시네이션의 대부분을 만들었다.
9. **같은 조건을 여러 번, 대조군과 같은 시간대에 잰다.** 한 번 잰 점수 차이는 같은 조건을 두 번 잰 차이보다 작았다.
10. **정답 기준이 측정 대상과 같은 방식으로 만들어졌으면 순환을 밝힌다.** Q5 판정표가 그랬고, 2005년 보험사 답변으로 나중에 확인됐다.
11. **AI가 만든 것은 다른 AI가 원문과 대조하거나 반박하게 한다.** 거짓 경로와 과한 단정은 검토·반박 역할의 AI가 찾았다. 판독본의 빠진 줄은 모델을 만드는 에이전트가 원본 이미지와 줄마다 대조하다 찾았다. 표 생성 결함은 감사 AI가 센 "원문과 반대" 20건의 기록을 열어 원인을 찾았다.
12. **측정 중에는 답이 적힌 문서를 측정 폴더 밖에 둔다.** 측정 도중에 정리 문서를 측정 폴더 안에 썼다가 한 에이전트의 검색 결과에 파일 이름이 떴다. 내용은 읽히지 않았지만, 바로 폴더 밖으로 옮겼다.

## 13. 나도 해 보려면

1. 1주차 질문 말고 **관계가 있어야 풀리는 질문**을 더한다. 과거 이력, 사람 관계의 변화, "그리고" 조건, 변경 영향이 좋았다.
2. Wiki만 준 AI가 원문을 다시 연 이유를 질문마다 적는다. 그것이 모델이 채울 자리다.
3. 대상 5-8개, 관계 2종으로 작게 시작하고, 틀린 선 두 개(형식이 틀린 것, 형식은 맞고 뜻이 틀린 것)를 넣어 본다.
4. 선마다 근거 문장과 확인 상태를 단다. 원문에 없는 것은 이름에도 넣지 않는다.
5. 모델을 만드는 AI에게는 예상 답을 보여 주지 않는다. 검증은 다른 AI에게 반박하는 역할로 맡긴다.
6. **AI에게 날 그래프를 주지 말고 질의 결과를 준다.** 필요한 근거를 한 번에 꺼내는 질의를 만든다.
7. 비교할 때는 "같은 사실을 표로 준 조건"을 함께 재고, 같은 조건을 세 번 이상 잰다. 정답률뿐 아니라 할루시네이션(원문에 없는 주장)도 센다.
8. 계산할 수 있는 것은 프로그램이 계산하고 적용한 규칙을 남긴다. 결과에는 근거 원문 전문과 **"거른 기준 때문에 빠진 것"** 목록을 함께 싣는다.
9. 모델에서 만든 표·노트는 정본과 맞는지 시험한다. 예: 해결된 미해결 항목이 표에 "미해결"로 남지 않았는가.
10. 실행 기록에서 AI가 다시 조회한 이유를 찾는다. 잘린 인용, 번호만 있는 항목, 탐색을 부추기는 안내가 흔한 원인이었다.

## 14. 해결하지 못한 것과 다음 주

**보험사에 물어야 할 것 (33건 미해결, 일부)**

- 위암 내시경 절제가 수술분류표의 어느 종인가 (ING·메트·삼성 공통, 수술 1회당 수십만원부터 수백만원까지 갈림)
- 삼성: 1997년 계약에 맞는 약관 판, 남자 특정암이 증권의 세 이름(위·폐·간)인지 약관 별표의 여섯 코드인지, 기타피부암(C44) 중 "증상이 미미한" 것의 심사 기준(Q9 대안 금액이 여기에 달림)
- ING: 선지급 사망보험금 한도가 증권의 "50% 이내, 최고 1억원"인지 약관의 "일부 또는 전부"인지
- 메트: 2007년 감액 때 정확히 무엇을 뺐는지, 위절제가 성인병 수술분류표의 어느 행인지(금액은 같음)
- 내 다른 프로젝트(insu)도 같은 보험사에 180개 항목을 준비해 두었다. 보험사별로 한 장에 합쳐 보낼 계획이다.

**본인에게 물을 것:** 모두 풀렸다. 마지막 질문(메트 2007년 감액)에는 "보험료 월납을 줄이려고 중간에 보험 몇개의 특약 일부를 없애거나 감액한 적이 있어. 메트라이프 감액은 그것일 거야"라고 답했다.

**모델에서 미룬 것**

- 메트 성인병 범주 안에서 대기일이 다른 것(암 90일, 그 밖 0일). 지금은 성인병 담보 전체에 90일이 걸려 있다(지금 질문의 답에는 영향 없음).
- 동부 "사망한 뒤 암이 사인으로 확인되면 진단자금 지급" 같은 사건 순서.

**다시 재야 할 것**

- 계산 계층은 예상 답을 아는 AI(Claude)가 만들고 Q1-Q11로 맞췄다. 처음 보는 질문(폐암, 대장암, 다른 과거 이력)으로 다시 재야 한다.
- 측정 뒤에 고친 것(표 생성 결함, Wiki 낡은 문장, "거른 기준 때문에 빠진 것" 목록, 미해결 항목 전문 싣기)은 아직 재지 않았다.

**다음 주(3주차):** 에이전트 연결. 이번 주에 만든 질의 계층과 계산 계층을 에이전트의 도구로 붙이고, 사람이 실제로 묻는 말투의 질문으로 시험한다.

## 15. 측정 뒤 전문가 관점으로 다시 본 것

측정을 마친 뒤 나는 이렇게 물었다. "원문만 볼 때보다 정확도가 떨어지는 것은 온톨로지 지식화가 부족하다는 뜻이고, 표보다 느린 것은 모델 조회 방법이 고도화되지 못해서 아닌가?" Claude는 온톨로지 공학, 보험 도메인 표준, LLM과 지식그래프 연구, 도구 설계, 유사 사례, 평가 방법을 출처 130항목으로 조사했다(다른 에이전트가 링크를 하나씩 다시 열어 검증). 그다음 전문가 패널이 실제 모델과 측정 기록을 다시 진단했다. 결론은 이렇다.

- **정확도:** 지식이 빠진 것은 아니었다.
  - 놓친 암간병자금은 모델에 근거와 함께 있었다. 모델 조건에서 답에 빠진 12건 중 9건은 도구가 그 줄을 AI에게 전달까지 했다.
  - AI가 답을 쓰며 뺀 원인으로 보이는 것은 셋이다. 모델이 붙인 "사건=간병" 이름표, "사건으로 거른다"는 읽는 순서, 정의되지 않은 "진단금"이다. 12건으로는 셋 중 무엇인지 가를 수 없다. 나머지 3건은 도구의 사건 필터 때문에 아예 전달되지 않았다.
  - 그러니까 지식을 담은 **모양**(담보 하나에 "사건" 값 하나라 계기와 지급 방식을 섞음)과, 질문을 미리 **시험**으로 만들지 않은 것이 문제였다. 넓은 뜻의 지식화로는 내 말이 맞다.
  - Q1-Q11이 건드리지 않는 곳에는 진짜 빈틈도 있었다. 처음 보는 변형 질문 24개를 원문만 보는 판정 패널이 판정했다. 그 판정을 정답으로 LLM 없는 기준 시험을 돌리니 지금 도구는 5개만 통과했다(입력으로 표현할 수 없는 3개 포함 19개 실패). 같은 시험은 측정에서 틀렸던 Q1·Q2·Q9도 0.2초 만에 그대로 잡았다.
  - 통계로는 정확도 차이가 아직 확립되지 않았다. 오류가 질문 세 개에 몰려 있어서다.
- **속도:** 조회 논리 자체는 빠르다(이미 띄운 프로세스 안에서 1-7ms). 느린 것은 호출마다 셸과 파이썬을 새로 띄우는 서빙 방식과, AI가 다시 묻게 만드는 도구 계약 때문이었다. v3와 표의 차이 16초 중 13초가 도구 실행이었다.
- **측정 방침:** 기준선을 미리 글로 정해 둔다. 모델과 조회 방법이 그 기준선을 넘기 전에는 결정적 시험과 작은 확인 측정만 한다. 넘은 뒤에 정식 측정을 한다.

자세한 원인, 개선 계획 12가지(순서 1-12), 기준선은 `docs/14_온톨로지_전문지식과_사례_서베이.md`, `docs/15_전문가_재점검과_개선_계획.md`, `docs/16_측정_단계와_기준선.md`에 출처와 함께 있다.

## 결과물

| 무엇                                                                      | 파일                                                                                                                       |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| 관계 모델 (v1.4)                                                          | `practice/model.json` (노드 121, 선 306, 근거 문장 327)                                                                  |
| 설계 결정 1-20과 이유                                                     | `practice/week2/schema-decisions.md`                                                                                     |
| 담보 표 (모델에서 생성)                                                   | `practice/coverage-table.md`                                                                                             |
| 질의 계층 v3 / 계산 계층 / 탐색 도구                                      | `practice/model-query.py` / `practice/model-calc.py` / `practice/model-cli.py`                                       |
| 질문 11개와 예상 답, 원문 판정표                                          | `practice/questions.json`, `practice/test-design.md`, `practice/answer-key/`                                         |
| 측정 기록 (최종 165회, 추가 99회)                                         | `practice/baseline/week2-final-*.json`, `practice/baseline/week2-extra-*.json`, `practice/week2/stage-comparison.md` |
| 채점·할루시네이션 감사 결과                                              | `practice/week2/build/grade-final-2026-10-09.json`, `practice/week2/build/grade-extra-2026-10-09.json`                 |
| 내 다른 프로젝트(insu)용 정리 문서 17개(서베이·재점검·측정 기준선 포함) | `docs/` (README에서 시작)                                                                                                |

태그: #AI지식관리