2

잘 만들었는데 왜 엉뚱한 답이 나오지?

Day 2: 청킹 & 임베딩

학습 목표
  • 청킹 전략이 RAG 품질에 미치는 영향을 체감한다
  • 잘못된 청킹의 실제 결과를 이해한다

잘 만들었는데 왜 엉뚱한 답이 나오지?

"RAG 시스템 시연 준비 끝났습니다."

김 대리가 자신 있게 말했다. 팀장 앞에서 제조 문서 Q&A 데모를 보여줄 차례다.

질문: "HP-500 유압 프레스의 최대 가압력은?"

기대한 답변: "500 ton (4,903 kN)"

실제 답변: "HP-500의 스트로크는 350mm이며,
           급속하강 속도는 300 mm/s입니다."

팀장이 인상을 찌푸렸다. "이거 답이 아닌데?"


임베딩과 벡터 공간
▲ 텍스트가 벡터 공간에서 의미적 거리로 표현되는 원리

왜 이런 일이 생겼을까?

원인은 청킹이었다.

김 대리는 매뉴얼 전체를 500자 단위로 잘랐다. 그런데 사양표가 이렇게 잘렸다:

[청크 A] (500자)
"...HP-500 유압 프레스 설치 환경
 바닥 하중, 전원 380V 3상,
 주변 온도 5~40도... 최대 가압력:"
 ← 여기서 잘림!

[청크 B] (500자)
"500 ton (4,903 kN)
 스트로크: 350 mm
 슬라이드 속도:
  - 급속하강: 300 mm/s..."

"최대 가압력: 500 ton"이 두 청크로 쪼개졌다. 질문에 있는 낱말("최대 가압력")은 청크 A의 끝에 남고, 답에 해당하는 값("500 ton")은 청크 B의 앞으로 넘어갔다.

검색은 낱말이 겹치는 A를 1위로 올렸다. 그런데 A는 "최대 가압력:"에서 끊겨 값이 없다. k=3으로 함께 넘어간 B에는 값들이 있지만, 그 값이 무엇의 값인지를 알려 주는 항목명은 A에 남아 있다. 모델은 B에서 항목명이 붙어 있는 수치를 골라 답했고, 그것이 스트로크였다.

질문의 낱말과 답의 값이 서로 다른 청크로 갈리는 것, 이것이 청킹 실패의 전형이다.

청킹을 잘못하면 RAG는 쓸모없다.

이 문제를 해결하는 방법을 오늘 배운다.

AI로 학습하기 — 꿀팁
청킹 실패가 현장 답변에 미치는 영향 분석AI 학습 팁

청킹 전략이 잘못되면 설비 고장 시 엉뚱한 매뉴얼 조항이 검색되는 실제 문제가 발생한다. 구체적 실패 사례로 원인을 파악한다.

PLC 제어 설비 트러블슈팅 매뉴얼을 500자 고정 크기 청킹으로 처리했더니 '에러 코드 E-047 해결방법'을 질문했을 때 엉뚱한 답변이 나왔다. 이 실패의 원인을 다음 관점에서 분석해줘: 1) 어떤 방식으로 컨텍스트가 잘려나갔는지 예시 청크 2개 직접 작성, 2) 검색 단계에서 왜 잘못된 청크가 상위에 올라왔는지, 3) 이 문서에 맞는 최적 청킹 전략과 그 이유, 4) 청킹 전략 변경 후 개선될 답변 예시. PLC 매뉴얼의 실제 구조(챕터, 에러코드 테이블, 절차 단계)를 반영해서 설명해줘.
이 팁이 도움이 됐나요?
용어