HL7, DICOM, FHIR에 대한 LLM 환각(Hallucination) 테스트: 4개 모델, 50개 질문
요약
HL7, DICOM, FHIR 등 의료 정보 표준을 대상으로 4개 LLM의 환각(Hallucination) 현상을 테스트한 연구 결과입니다. 테스트 결과, 모델들이 모르는 질문에도 답변을 거부하지 않고 확신에 찬 오답을 내놓는 위험성이 확인되었습니다.
핵심 포인트
- 의료 표준 사양에 대한 LLM의 높은 환각 발생 가능성 확인
- 모델들이 '모르겠다'는 답변 대신 확신에 찬 허위 정보를 생성함
- 버전별 차이(Version traps)를 구분하지 못하는 한계 노출
- 실제 운영 환경에서 LLM 답변을 그대로 사용할 때의 위험성 경고
그들 중 누구도 "모르겠습니다"라고 말하지 않았다
나는 네 개의 LLM에게 HL7 v2, DICOM, FHIR에 관한 50개의 질문을 던졌다. 모든 질문은 유효성을 검증하기 위해 기본 사양(specification)과 대조되었다. 200개의 채점된 응답 중 단 하나의 모델도 답변을 거부하지 않았으며, 40개의 오답 중 39개는 매우 확신에 찬 태도로 답변했다. 유보적인 태도나 "이 내용을 확인해야 합니다"와 같은 말은 없었다. 이 분야에서는 틀린 답변이나 확신에 찬 틀린 답변이나 결과적으로 동일한 것이었다.
나는 헬스케어 IT 분야에서 16년 동안 PACS, RIS, 인터페이스 엔진(interface engines) 관련 업무를 해왔다. 통합 팀의 사람들은 이미 환자 데이터를 라우팅하는 운영 환경 설정(production configs)에 LLM의 답변을 그대로 붙여넣고 있다. 나는 내 분야에서 모델들이 말하는 내용 중 실제가 얼마나 되는지 측정하고 싶었다.
상호운용성 표준이 환각 테스트베드로 좋은 이유
- 정답(Ground truth)이 공개되어 있고 정확함: HL7 v2.x 챕터, DICOM PS3.x, FHIR R4. 채점 기준은 의견이 아닌 사양(spec) 조회이다.
- 자료가 버전에 민감함: PID-32는 HL7 v2.4에는 존재하지만 v2.3.1에는 존재하지 않는다. 버전 간에 패턴 매칭을 수행하는 모델들은 여기서 걸러진다.
- 위험한 실패 요인은 그럴듯함(plausibility)임: "MSH-25에 무엇이 들어있는지 모르겠습니다"라고 답하면 사양을 한 번 찾아보는 비용이 들 뿐이다. 하지만 존재하지 않는 필드인 MSH-25에 대해 지어낸 정의를 내놓으면, 실제 운영 중인 인터페이스에서 디버깅 세션을 소모하게 된다.
설정
각 질문은 전문가가 검증한 정답(ground truth)을 포함한 JSONL 레코드이다:
{"id": "hl7-014", "domain": "hl7v2", "type": "false_premise",
"question": "In HL7 version 2.5.1, what does field MSH-25 contain?",
"ground_truth": "MSH-25 does not exist in v2.5.1. The MSH segment ends at MSH-21.",
...
네 가지 질문 유형: 단순 사실 조회(30개), 해당 항목이 존재하지 않는 잘못된 전제(false premises, 11개), 존재하지만 질문한 버전에는 없는 버전 함정(version traps, 6개), 그리고 폐기된 항목(deprecated items, 3개). 모델: Claude Opus 4.8, Claude Haiku 4.5, Kimi K3, 그리고 로컬에서 실행되는 qwen3.5-35b. 질문당 한 번의 완성(completion), 일반 프롬프트, 도구(tools) 미사용.
전체 파이프라인은 네 개의 명령어로 구성된다:
pip install -r requirements.txt
python src/run_eval.py --models models.json # 원시 응답(raw responses) 수집
python src/grade.py # 4개 카테고리로 채점(grade)
...
모든 응답은 correct(정답), abstain(기권), hedged_wrong(모호한 오답), 또는 confident_fabrication(확신에 찬 허위 정보)으로 채점됩니다. 원시 응답과 채점 결과는 저장소(repo)에 커밋되므로, 제 작업 내용을 직접 확인하실 수 있습니다.
결과 (Results)
| model | correct | abstain | hedged wrong | confident fabrication |
|---|---|---|---|---|
| claude-opus-4-8 | 50/50 | 0 | 0 | 0 |
| ... |
세 가지 특징이 눈에 띄었습니다.
1. 기권(abstain) 열이 비어 있습니다. 200개의 응답 중 거절(refusals)은 0건이었고, 모호한 답변(hedge)은 정확히 1건뿐이었습니다. 이 모델들이 지식이 부족할 때 어떤 행동을 하든,
정직한 한계점 (Honest limitations)
프롬프트(Prompt)는 "다음 질문에 답하세요"라고 명시하고 있으며, 명시적으로 답변 유보(abstention)를 권장하지 않습니다. 이는 "모르겠습니다"라는 응답을 억제할 수 있습니다. 이는 실제 통합 시스템 구축자들이 질문하는 방식과 유사하지만, 답변 유보 허용 조건(abstention-permission condition)을 설정하는 것이 명백한 다음 실험 과제입니다. 1차 채점자(First-pass grader)는 Opus 4.8이며, 이는 평가된 모델 중 두 모델과 같은 제품군에 속합니다. 점수는 검증된 정답(ground truth)에 의해 제한되며, 모든 응답은 검토 가능하고, 인간의 수정(human overrides)이 우선권을 갖습니다. 질문당 샘플 1개, 총 50개 질문, 4개 모델을 대상으로 했습니다. 이 모든 내용은 리포지토리(repo)의 REPORT.md에 포함되어 있습니다.
향후 계획 (What's next)
질문 수를 200개까지 늘리고, 답변 유보 허용 조건 및 도구 사용 조건(tool condition)을 추가할 예정입니다. 즉, 의료 상호운용성(healthcare interoperability)을 위한 MCP 서버를 사용할 수 있는 환경에서 동일한 질문을 던져, 도구 접근 권한이 허위 정보 생성(fabrication)을 줄이는지 측정할 것입니다.
리포지토리, 로우 데이터(raw data) 및 전체 보고서: github.com/NyxToolsDev/confident-fabrication-eval
관련 도구들이 위치한 NyxTools에서 제작되었습니다: 의료 상호운용성 작업을 위한 DICOM/HL7/FHIR MCP 서버.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기