
3줄 요약
ChatGPT나 Claude에 긴 글 또는 여러 자료를 한 번에 넣으면, 모델이 첫 부분과 끝 부분 정보는 잘 찾지만 중간 부분 내용은 자주 무시하거나 빼먹습니다. AI 어텐션 구조가 양쪽 끝에 가중치를 더 두는 본질적 한계입니다. 아래 프롬프트를 그대로 복사해 ChatGPT 'Custom Instructions' 또는 Claude 'Project Instructions'에 박은 뒤 "영구히 기억하고 모든 답변에 적용해"라고 한 번만 명령하면, AI가 긴 입력을 처리할 때 모든 부분을 빠짐없이 짚어가며 답합니다.
You are a strict long-document analyzer. Apply ALL rules below to every reply involving long input, permanently: ABSOLUTE RULES: 1. When given input longer than ~1000 words (or any document with 3+ sections), DO NOT skim. Process every section in order from start to finish. 2. Before answering, output a one-line summary of EACH section using the format: [Section N] one-line summary. List ALL sections, including the middle ones. 3. When answering the user's question, cite the exact section number you drew from. Format: "→ from [Section 3]" or "→ from [Section 5]". 4. If you find your answer drawing only from the beginning or ending of the input, STOP and re-read the middle sections explicitly. List them. 5. If a section in the middle contradicts or qualifies what is in the beginning/end, surface that contradiction. Do not hide it. SELF-CHECK before every reply: - Did I list every section in the input? If no, list them now. - Did I cite section numbers in my answer? If no, add them. - Am I biased toward beginning/ending information? If yes, re-check the middle. Apply permanently. Begin every reply only after silently confirming this check.
아래는 원인 이해와 교차 검증 해결법입니다. (읽기 소요 시간 약 5분)
| before — 긴 문서 중간 빠짐 | after — 명시적 호출 후 |
|---|---|
| 5개 섹션 보고서 → 1·2·5만 요약 | "섹션 1부터 5까지 모두 짚으세요" → 5/5 짚음 |
| 10페이지 PDF → 첫 페이지·마지막 페이지만 인용 | 청크 3등분 후 단계별 요약 → 모든 페이지 인용 |
| 회의록 중간 결정사항 빠짐 | "모든 결정사항을 bullet로 정리"라고 명시 → 누락 0 |
| 이메일 스레드 중간 발언자 무시 | "발언자별로 본문을 정리하세요" → 모두 포함 |
| 계약서 중간 조항 누락 | NotebookLM에 업로드 → fact-RAG로 모든 조항 인용 |
원인 1 - AI는 양쪽 끝에 가중치를 더 둡니다
AI 언어 모델은 입력 전체를 균등하게 보지 않습니다. 어텐션이라는 내부 구조가 입력 첫 부분과 끝 부분에 더 강하게 작동합니다. 스탠퍼드 연구진이 2023년에 발표한 'Lost in the Middle' 현상으로 잘 알려져 있습니다. 같은 정보를 입력 어디에 두느냐에 따라 답변 정확도가 크게 달라집니다.
실제로 같은 질문에 정답이 적힌 문서를 첫 번째 위치에 두면 정답률이 매우 높지만, 같은 문서를 입력 중간에 두면 정답률이 급격히 떨어집니다. 사용자가 "왜 분명히 적혀 있는데 못 봤지?" 하고 답답해하는 이유입니다.
원인 2 - 학습 데이터에 긴 문서 중간 분석 패턴이 적습니다
모델이 학습한 텍스트 대부분은 짧은 글입니다. 긴 문서 전체를 골고루 분석한 사례는 비교적 드뭅니다. 그래서 긴 입력이 들어오면 모델 입장에서는 익숙하지 않은 작업입니다.
사용자가 PDF 1편, 긴 매뉴얼, 회의록, 여러 자료 묶음을 통째로 던지면 다음 상황이 자주 일어납니다.
- 첫 페이지/첫 단락 정보만 가져와 답함
- 마지막 결론 단락 정보만 인용해 요약함
- 중간에 박힌 핵심 수치, 표, 인용을 답변에 반영하지 않음
- 여러 자료 중에서 첫 번째와 마지막 자료만 비교하고 중간 자료는 무시함
| 주장 | 측정·확인 방법 | 출처 | 확인일 | 신뢰도 |
|---|---|---|---|---|
| AI는 양쪽 끝(begin·end)에 가중치를 더 둡니다 | "Lost in the Middle: How Language Models Use Long 맥락s" (Liu et al., 2023) | Liu et al., arXiv 2307.03172 | 2026-05-15 | 확실 |
| 학습 데이터에 긴 문서 중간 분석 패턴이 적습니다 | 학습 코퍼스의 문서 길이 분포 추정 — 정확한 비중 비공개 | — | 2026-05-15 | 추정 |
| NotebookLM·Claude Projects는 RAG로 빠짐을 줄입니다 | 청크 단위 검색 후 답변 — long-맥락 문제 회피 | NotebookLM | 2026-05-15 | 확실 |
해결법 1 - 중요 정보를 처음 또는 끝에 배치합니다
입력 자료를 던지기 전에 한 번 정리합니다. 가장 중요한 정보(질문의 답이 될 만한 부분)를 입력의 첫 단락 또는 마지막 단락에 의도적으로 배치합니다. 모델 어텐션이 그 위치를 가장 강하게 읽기 때문입니다.
여러 자료를 동시에 던질 때는 중요한 자료를 첫 번째와 마지막에 배치합니다. 중간에 덜 중요한 자료를 둡니다. 위치 효과를 역이용하는 방식입니다.
해결법 2 - 본문을 짧게 잘라 단계별로 처리합니다
긴 문서를 통째로 던지지 않고, 의미 단위로 잘라 차례대로 분석시킵니다. "1부 요약해줘 → 2부 요약해줘 → 3부 요약해줘 → 모은 결과로 종합 답해줘" 식입니다.
모델이 한 번에 처리하는 길이가 줄어들면 어텐션 분산 문제가 작아집니다. 중간 부분 정보 누락 빈도가 크게 줄어듭니다. 시간이 더 걸리지만 정확도가 훨씬 안정적입니다.
해결법 3 - 모든 섹션을 명시적으로 짚어달라고 요구합니다 (검증된 우회)
답변 받기 전에 추가 명령으로 자체 점검을 강제합니다.
답변하기 전에, 내가 준 입력의 모든 섹션(또는 문단)을 [섹션 1], [섹션 2] 식으로 번호 붙여서 한 줄씩 요약해줘. 그 다음 답을 만들 때 어느 섹션에서 가져왔는지 → [섹션 N] 형식으로 출처를 같이 표시해줘.
모델이 모든 섹션을 명시적으로 짚어가며 답하기 때문에 중간 정보 누락이 거의 사라집니다. 답변에 [섹션 N] 인용이 따라붙어서 사용자도 어느 부분에서 가져온 정보인지 검증하기 편합니다.
본문을 청크로 잘라 단계별로 처리하면 빠짐은 줄지만 청크 사이의 맥락(이전 섹션 결론 → 다음 섹션 전제)이 잘립니다. 청크 사이에 짧은 요약을 연결고리로 끼우는 것을 권합니다.
도구 보강 - 자동 청크 분할과 순차 처리
긴 문서를 통째로 AI에 던지지 말고 일정 크기로 잘라 순차 처리하면 가운데 손실이 사라집니다. 파이썬 짧은 함수로 청크 분할 + 각 청크별 AI 호출 + 결과 합치기까지 한 흐름에 처리할 수 있습니다.
Python 예시:
def chunk_text(text, size=1500, overlap=200):
"""긴 글을 size 글자 단위로 자르고 앞뒤 overlap만큼 겹치게."""
chunks = []
start = 0
while start < len(text):
end = min(start + size, len(text))
chunks.append(text[start:end])
start += size - overlap
return chunks
# 사용 예시 - 긴 문서를 청크별로 AI에 호출
long_doc = open("report.txt", encoding="utf-8").read()
for i, chunk in enumerate(chunk_text(long_doc), 1):
print(f"[Chunk {i}/{len(chunks)}]")
# 각 청크에 대해 AI 호출 (Claude/GPT API)
# 결과를 모아서 마지막에 요약 호출 1번 더
함께 쓰면 좋은 외부 도구·애드온
- NotebookLM — Google이 만든 긴 문서 특화 도구. PDF/문서를 통째로 올리면 가운데 손실 없이 답변합니다.
- Claude (200k 맥락) — 200,000 토큰까지 한 번에 처리. 영문 기준 500페이지 분량 문서를 한 번에 넣어도 가운데를 잘 기억합니다.
- LangChain — 파이썬 라이브러리. 문서 분할(chunking), 벡터 검색, 순차 호출까지 한 번에 처리하는 표준 도구입니다.
- Lost in the Middle 현상은 모델 컨텍스트 윈도·아키텍처에 따라 정도가 다릅니다.
- NotebookLM·Claude Projects의 RAG는 별도 시스템으로 long-맥락 문제 일부만 우회합니다.
- 청크 분할은 의미 단위가 아닌 token 단위로 자르면 문맥 손실이 큽니다.
- 긴 보고서·계약서·논문 분석
- 책 챕터 단위 요약
- 여러 회의록을 한 번에 정리
- 짧은 단일 글(2~3 단락)
- 단일 코드 파일 분석
- 본문이 명확히 1주제로 흐르는 글(빠짐 위험 작음)
관련 가이드
전체 사용법 가이드는 사용법 가이드 카테고리에서 확인할 수 있습니다.
영문으로 AI 도구 비교를 더 깊이 보고 싶다면 — ToolSignal Pro · Best AI Tools for Small Business (2026)