블로그로 돌아가기

할루시네이션 원인, 대화가 길어질수록 AI가 헛소리하는 3가지 이유

AI 할루시네이션의 원인은 질문이 아니라 그 앞에 쌓인 대화입니다. 컨텍스트가 길어질 때 생기는 3가지 문제(지시 묻힘·지연과 비용·환각과 고착화)와, 계획서를 만들어 새 세션에서 실행하는 컨텍스트 엔지니어링 방식을 정리했습니다.

에그코드
2026년 7월 29일
9 min read
#할루시네이션#AI할루시네이션#환각현상#컨텍스트윈도우#챗지피티#클로드#LLM#생성형AI#AI에이전트#AI활용법#컨텍스트엔지니어링#메타프롬프트#프롬프트엔지니어링#개발이야기#에그코드

에그코드 개발 이야기 · AI 컨텍스트

컨텍스트 윈도우가 100만 토큰까지 넓어졌습니다.

이제 자료를 다 넣고 계속 이어서 물어보면 될 것 같습니다.

그런데 실제로는 대화가 길어질수록 답이 나빠집니다.

할루시네이션 원인을 찾을 때 대부분 질문을 의심합니다. 정작 원인은 그 질문 앞에 쌓인 대화에 있는 경우가 많습니다.

저희 에그코드도 자체 서비스를 만들고 운영하면서 이 문제를 매일 마주합니다.

왜 그런지, 그래서 무엇을 바꿔야 하는지 정리해봤습니다.

먼저, AI는 기억하지 않습니다

"아까 말했잖아"가 통하는 건 AI가 기억해서가 아닙니다.

매 요청마다 이전 대화 전체를 처음부터 다시 읽기 때문입니다.

10번째 질문에는 앞선 9번의 내용이 통째로 함께 들어갑니다.

대화가 길어진다 = 매번 읽어야 할 분량이 늘어난다

컨텍스트 윈도우는 그 분량을 담는 그릇이고, 토큰은 글자를 세는 단위입니다.

여기서 문제 3가지가 시작됩니다.

AI가 매 요청마다 이전 대화를 다시 읽는 구조
턴이 쌓일수록 매번 다시 읽는 분량이 함께 늘어납니다

1. 중요한 지시가 중간에서 묻힙니다

AI는 맨 앞과 맨 뒤는 잘 봅니다.

가운데 있는 내용은 상대적으로 놓칩니다.

연구에서 Lost in the Middle, 즉 중간이 흐려지는 현상이라 부릅니다.

그래서 초반에 정한 규칙이 뒤로 갈수록 덜 지켜집니다.

나중에 준 지시와 충돌하면, 대개 최근 지시 쪽으로 기웁니다.

당신이 챙길 것은 하나입니다.

꼭 지켜야 할 조건은 대화 초반이 아니라 지금 이 요청 안에 다시 넣는 것입니다.

Lost in the Middle 현상으로 중간 지시가 묻히는 구조
앞과 뒤는 살아남고, 가운데 조건이 먼저 사라집니다

2. 느려지고, 비용이 붙습니다

입력을 읽는 단계는 길이에 거의 제곱으로 반응합니다.

대화가 2배 길어지면 첫 글자가 나오는 시간은 그보다 더 밀립니다.

비용도 같은 구조입니다.

턴마다 전체 이력을 다시 보내니, 같은 질문이라도 뒤로 갈수록 비쌉니다.

구간누적으로 다시 보내는 분량
3턴까지6개분
5턴까지15개분
10턴까지55개분
15턴까지120개분

프롬프트 캐싱, 즉 앞부분을 재사용하는 기능을 쓰면 상당 부분 줄어듭니다.

다만 앞 내용이 계속 바뀌는 구간에서는 캐시가 잘 걸리지 않습니다.

대화가 길어질수록 응답 속도와 토큰 비용이 늘어나는 그래프
매 턴 같은 길이로 주고받았을 때의 누적 합입니다

3. 할루시네이션이 늘고, 말투가 굳습니다

여기가 핵심입니다.

중간에 폐기한 오답도 맥락 안에는 그대로 남아 있습니다.

AI는 그걸 이미 확정된 사실처럼 다시 끌어다 씁니다.

할루시네이션이 유독 대화 후반에 몰리는 이유입니다.

말투도 마찬가지입니다.

AI가 앞서 내놓은 답도 다음 요청 때 입력에 함께 실립니다.

즉 자기가 방금 쓴 답을 보면서 다음 답을 만듭니다.

"다른 안으로 다시 줘"라고 해도, 앞 답을 살짝 바꾼 것만 돌아옵니다.

폐기한 오답이 맥락에 남아 할루시네이션으로 재등장하는 과정
버린 답도 맥락에는 남아 뒤에서 다시 인용됩니다

그래서 저희는 대화를 끊습니다

에그코드가 쓰는 방법은 단순합니다.

한 세션에서 끝까지 밀지 않습니다.

먼저 메타프롬프트로 계획서를 만듭니다.

계획서를 뽑는 순서는 앞서 정리한 메타프롬프트 3단 글에서 다뤘습니다.

그다음 새 세션을 열어 그 계획서만 넣고 실행합니다.

탐색하며 나온 시행착오와 폐기안은 넘기지 않습니다.

결론만 넘어가니 깨끗한 컨텍스트 윈도우에서 시작합니다.

요즘은 이걸 컨텍스트 엔지니어링이라고 부릅니다.

좋은 문장을 찾는 일이 아니라, 무엇을 넣지 않을지 정하는 일에 가깝습니다.

계획서를 만들어 새 세션에서 실행하는 컨텍스트 엔지니어링 흐름
탐색은 세션 1에 두고, 결론만 세션 2로 넘깁니다

이건 알고 쓰세요

짧은 대화까지 매번 끊을 필요는 없습니다.

계획서가 틀리면 틀린 계획이 그대로 실행됩니다.

넘기기 전에 사람이 한 번 읽어야 합니다.

모델마다 긴 맥락을 버티는 정도도 다릅니다.

마치며

컨텍스트 윈도우가 커진 건 담을 수 있는 양이 늘었다는 뜻입니다.

넣을수록 좋아진다는 뜻은 아닙니다.

답이 자꾸 어긋난다면 질문을 고치기 전에, 대화가 얼마나 길어졌는지 먼저 보세요.


함께 읽어보세요 — 결과가 흔들리지 않는 바이브코딩 실무 순서 8단계 · 읽은 것을 파일로 남기는 AI 지식 구조 LLM Wiki · AI 헛소리를 스스로 걸러내는 Corrective RAG · 에그코드 MVP 개발 서비스

AI 기능을 붙인 웹사이트나 SaaS, MVP 개발을 고민 중이시라면 편하게 문의 주세요.

AI 도입 문의하기

문의하기

MVP 개발, 어디서부터 시작해야 할지 모르겠다면?

무료 MVP 견적 받기
카카오톡 문의