Chain-of-Note(CoN): RAG AI의 거짓말과 할루시네이션 잡는 법
혹시 여러분의 AI가 “2026년 월드컵 개최지가 어디야?”라는 질문에 뜬금없이 “카타르입니다”라고 답하거나, 검색 결과에도 없는 내용을 소설처럼 지어내서 당황하신 적 없으신가요?
검색 증강 생성(RAG)은 분명 혁신적이지만, 치명적인 약점이 있습니다. 바로 ‘쓰레기가 들어가면 쓰레기가 나오는’ GIGO(Garbage In, Garbage Out) 문제죠. 오늘은 텐센트 AI 랩에서 제안한 해결사, Chain-of-Note(CoN)를 소개합니다. 쉽게 말해, 시험 보기 전 교과서를 읽고 ‘나만의 요약 노트’를 만드는 우등생의 비법을 AI에게 이식한 기술입니다.
기존 RAG는 왜 자꾸 ‘거짓말’을 할까?
기존의 검색 기반 모델(RALM)은 착하지만 눈치가 없는 친구와 비슷합니다. 질문과 상관없는 문서를 가져와도 어떻게든 정답과 연결 지으려다 사고를 치죠.
- 노이즈에 취약함: 검색 엔진이 낚시성 블로그나 옛날 정보를 물어오면 모델이 그대로 낚여버립니다.
- “모른다”고 못 함: 자기 지식 밖의 일이거나 검색 결과에 답이 없으면 솔직하게 항복해야 하는데, 꾸역꾸역 답변을 조작(Hallucination)합니다.
- 지식 간섭: 모델이 원래 똑똑해서 정답을 알고 있음에도 불구하고, 잘못 검색된 ‘멍청한 문서’ 내용에 휘둘려 멀쩡한 답을 수정해버립니다.
CoN의 핵심: 세 가지 ‘마법의 노트’
CoN 프레임워크는 모델이 답변하기 전, 검색된 각 문서(d_i)를 분석해 순차적인 독서 노트(y_{d_i})를 먼저 쓰게 만듭니다. 이 노트는 내용에 따라 세 가지 유형으로 나뉩니다.
| 유형 | 모델의 속마음 | 대응 방식 |
|---|---|---|
| Type (a) | “여기 정답이 딱 있네!” | 문서에서 핵심 정보를 추출해 답변 구성 |
| Type (b) | “답은 없지만 힌트는 있군.” | 문서의 맥락과 모델의 내재적 지식을 결합해 추론 |
| Type (c) | “이건 완전 쓸모없는 정보야.” | 억지로 답하지 않고 “Unknown”으로 방어 |
케이스 스터디: 2026년 버전 비포 & 애프터
현시점의 예시로 CoN의 위력을 확인해 볼까요?
질문: “다음 달에 열리는 애플 이벤트의 주요 발표 내용은 무엇인가요?”
일반 RAG의 삽질
검색 결과 중 “2024년 아이폰 16 발표 예상”이라는 과거 루머 글을 읽고, “아이폰 16이 출시될 예정입니다”라고 당당하게 오답을 냅니다. (시점 파악 실패 및 노이즈 수용)
CoN 적용 시
- 첫 번째 문서 분석: “이건 2024년 자료네? 현재 2026년이니까 이 정보는 폐기한다.”
- 두 번째 문서 분석: “최신 보도자료에 따르면 2026년형 M5 칩 기반 아이패드 언급이 있군.”
- 최종 답변: “아이폰 16은 이미 구형 모델이며, 다음 달 이벤트에서는 M5 아이패드가 유력합니다.” (승리!)
성능은 올리고, 속도는 지키는 ‘하이브리드 학습’
노트를 쓰느라 답변이 한 세월 걸리면 아무도 안 쓰겠죠? 연구진은 머리를 썼습니다. 바로 하이브리드 학습(Hybrid Training)입니다.
- 훈련: 50%는 노트를 생성하게 하고, 나머지 50%는 바로 답하게 학습시킵니다.
- 추론: 실제 서비스에서는 노트를 밖으로 출력하지 않고 모델 내부의 숨겨진 상태(Hidden States)에서만 처리하게 하여, 답변 속도를 일반 RAG 수준으로 유지합니다.
결과는 놀랍습니다. 노이즈 섞인 문서가 들어와도 정확도가 7.9% 향상되었고, 모르는 걸 거절하는 능력은 10.5%나 좋아졌습니다.
결론: 더 믿을 수 있는 AI를 위하여
Chain-of-Note는 단순한 기술적 트릭이 아닙니다. AI에게 ‘신중함’과 ‘비판적 사고’를 가르치는 논리적인 접근법입니다.
여러분의 RAG 서비스가 자꾸 환각 증세를 보인다면, 오늘부터 AI에게 ‘독서 노트’ 쓰는 법을 가르쳐보는 건 어떨까요? 더 정교한 프롬프트 엔지니어링이나 파인튜닝을 고민 중인 엔지니어라면 CoN은 반드시 체크해야 할 이정표입니다.
