추출 요약 vs 생성 요약: 완전히 다른 두 기계
모든 자동 요약기는 두 계열 중 하나에 속하고, 어느 쪽을 쓰고 있는지 아는 것만으로 출력을 얼마나 신뢰할지가 달라집니다.
추출(extractive) 요약기는 원문에 이미 존재하는 문장을 골라냅니다. TextRank 같은 고전 알고리즘은 문장 그래프를 만들어 문서 전체와의 유사도로 점수를 매기고 상위 문장을 그대로 반환합니다. 결과는 종종 삐걱거립니다. 대명사가 허공에 뜨고 문장 연결이 끊깁니다. 하지만 거대한 장점이 하나 있습니다. 요약 속 모든 문장이 원문에 있음이 보장됩니다. 추출 시스템은 사실을 지어낼 수 없습니다.
생성(abstractive) 요약기 — LLM 기반 도구 전부가 여기 속합니다 — 는 원문을 바꿔 쓰고 압축한 새 문장을 만들어냅니다. 출력은 매끄럽게 읽히고, 여러 문단의 논점을 합치며, 요청에 따라 톤과 길이를 조절합니다. 대가는 생성이라는 메커니즘 자체가 환각(hallucination)을 만든다는 것입니다. 모델은 통계적으로 가장 그럴듯한 요약을 쓰는데, 그럴듯함과 충실함은 같지 않습니다. 생성 요약 연구는 기계 요약에서 "원문에 없거나 원문과 모순되는데 맞는 것처럼 들리는" 내용을 일관되게 발견해 왔습니다.
실무적 결론: 속도와 가독성을 위해 생성 요약을 쓰되, 숫자·이름·날짜·인과 진술 같은 구체적 주장 하나하나는 원문과 대조하기 전까지 미검증 상태로 취급하세요. 요약이 유창하다는 사실은 정확성에 대해 아무것도 말해주지 않습니다.
압축률: 요약의 목적부터 정하기
"이거 요약해 줘"는 정보가 부족한 요청이고, 정보가 부족한 요청은 밋밋한 답을 받습니다. 설정할 수 있는 가장 유용한 매개변수 하나는 압축률 — 원문의 얼마가 살아남는가 — 입니다. 압축률을 정하려면 요약의 목적부터 정해야 하기 때문입니다.
한 문장 요약(일반 기사 기준 약 50:1 압축)은 "이걸 읽어야 하나?"에 답합니다. 주제와 가장 중요한 결론 하나만 담아야 하고 그 이상은 안 됩니다. 3~5개 불릿 요약(약 10:1)은 "읽었다면 무엇을 배웠을까?"에 답합니다. 핵심 주장들과 각 주장의 가장 강한 근거를 담아야 합니다. 1~2문단 요약(약 4:1)은 "읽지 않고도 이 글에 대해 대화할 수 있나?"에 답하며, 논증 구조 — 무엇을 주장했고, 무엇이 뒷받침하고, 어떤 단서 조항이 있었는지 — 가 필요합니다. 그 이상은 요약이 아니라 축약본을 쓰는 것입니다.
거의 그만큼 중요한 설정이 둘 있습니다. 독자: 의학 논문을 의사용으로 요약하면 효과 크기와 신뢰구간을 남기고, 같은 논문을 환자용으로 요약하면 무엇이 달라졌고 의사에게 무엇을 물어야 하는지를 남깁니다. 그리고 보존 대상: "모든 숫자, 날짜, 인명은 원문 그대로 보존하라"고 지시하면 가장 치명적인 유형의 요약 오류가 눈에 띄게 줄어듭니다. 모델이 가장 망가뜨리기 쉬운 디테일을 바꿔 쓰지 않도록 유도하기 때문입니다.
Vague request:
"Summarize this article."
Specified request:
"Summarize the article below.
- Length: exactly 4 bullets, max 20 words each
- Audience: a product manager deciding whether to read it
- Preserve ALL numbers, dates, and names exactly as written
- Final line: one sentence on what the author wants readers to do
- If the article contradicts itself, say so instead of smoothing it over"요약 속 환각: 어디에 숨고 어떻게 잡아내는가
요약 환각은 극적인 날조인 경우가 드뭅니다. 대충 읽으면 살아남는 작고 자신만만한 왜곡입니다. 반복되는 유형을 알면 잡아내기가 훨씬 쉬워집니다.
개체 뒤바꿈: 연구는 X를 발견했는데 요약은 그것을 엉뚱한 집단·약물·회사에 귀속시킵니다. 원문이 여러 대상을 다룰 때 특히 그렇습니다. 숫자 표류: 18%가 80%가 되고, "거의 절반"이 "대부분"이 되고, 수백만이 수십억이 됩니다. 양태 세탁: "위험을 줄일 수도 있다"가 "위험을 줄인다"가 되고, 원문의 가설이 요약에서는 확정된 결론이 됩니다. 인과 승격: "A는 B와 상관이 있었다"가 "A가 B를 일으킨다"가 됩니다. 연구 요약에서 가장 흔하고 가장 해로운 왜곡입니다. 부정 소실: "유의한 차이가 발견되지 않았다"가 조용히 "차이가 발견되었다"가 됩니다. 그리고 성급한 종합: 문서가 대립하는 두 견해를 제시하면, 모델이 어느 쪽도 주장한 적 없는 하나의 혼합 주장으로 합쳐버리기도 합니다.
5분짜리 검증 루틴이 이 대부분을 잡습니다. 요약에서 모든 숫자·날짜·이름·인과 동사를 뽑아 원문에서 하나씩 검색하세요. 요약을 원문에 대조하는 것이 원문을 다시 읽는 것보다 훨씬 빠릅니다. 각 불릿을 뒷받침하는 원문 문장을 그대로 인용하라고 요구하세요. 인용으로 근거를 대지 못하는 주장이 바로 의심해야 할 주장입니다. 다른 사람에게 전달할 내용이라면 두 번째 요약을 돌려 비교하세요. 두 실행 사이에 디테일이 어긋나면 그것이 신뢰할 만한 환각 신호입니다.
Source sentence:
"In the trial, drug A was associated with an 18% relative
reduction in events; the difference was not statistically
significant (p = 0.09)."
Hallucinated summary (3 distortions in one line):
"Drug A significantly reduces events by 18%."
1. association -> causation ("reduces")
2. "not significant" -> "significantly"
3. relative reduction presented as absolute effect
Faithful summary:
"Drug A was associated with 18% fewer events,
but the result was not statistically significant."긴 문서: 청킹, 맵리듀스, 그리고 사라지는 것들
문서가 한 번의 요청에 넉넉히 들어가는 크기를 넘으면, 요약기는 맵리듀스 전략으로 후퇴합니다. 텍스트를 청크로 쪼개고, 청크마다 요약하고, 그 요약들을 다시 요약하는 방식입니다. 작동은 하지만 각 단계가 손실을 내고, 그 손실은 무작위가 아닙니다. 청크를 가로지르는 연결이 먼저 죽습니다. 2절에서 제기되고 7절에서 반박된 이의는 서로 끊긴 두 조각이 되거나, 이의는 살아남고 답변은 사라집니다. 어디서나 약하게 반복되지만 어디서도 정점을 찍지 않는 주제(계속 붙는 단서 조항, 반복 등장하는 조연)는 모든 청크의 국지적 중요도 문턱에 걸려 통째로 증발합니다.
알아둘 만한 위치 편향도 있습니다. 모델은 긴 컨텍스트의 시작과 끝을 중간보다 무겁게 취급합니다. 검색 연구에서 문서화된 "lost in the middle" 효과입니다. 실제로 긴 보고서의 가운데 3분의 1이 요약 커버리지가 가장 얇은 곳입니다.
전부 대응할 수 있습니다. 고정 글자 수가 아니라 구조적 경계(장, 절)에서 분할해 어떤 청크도 논증 한가운데서 시작하지 않게 하세요. 청크 요약에 미해결 질문과 뒤쪽 참조를 명시적으로 적게 해서 reduce 단계가 다시 이어붙일 수 있게 하세요. 계약서와 논문은 표적 2차 패스를 돌리세요. "이 문서의 모든 의무/제한/날짜를 나열하라" — 열거형 프롬프트는 자유 형식 요약보다 재현율이 훨씬 높습니다. 정말 중요한 문서라면 다른 청킹으로 두 번 요약해 각 실행이 놓친 것을 병합하세요.
Targeted second pass (much higher recall than a summary):
"From the contract below, produce three exhaustive lists:
1. Every obligation of the Customer (quote the clause number)
2. Every fee, amount, and payment deadline
3. Every termination or renewal condition
If a clause is ambiguous, list it under 'UNCLEAR' with the
clause number. Do not omit items to save space."요약하지 말아야 할 때
요약이란 "무엇이 중요하지 않은가"에 대한 결정을 기계에 위임하는 일입니다. 품질과 무관하게 그 위임 자체가 잘못인 경우가 있습니다.
정확한 문구에 효력이 담긴 문서 — 계약서, 법령, 약물 투여 지침, 안전 절차, 시험 요건 — 는 요약에 의존하지 마세요. "해야 한다(must)"가 "하는 것이 좋다(should)"로 바뀌거나 예외 조항 하나가 조용히 빠지는 순간, 의미가 결과를 좌우하는 바로 그 지점에서 의미가 달라집니다. 열거형 프롬프트로 체크리스트를 만든 뒤, 표시된 조항은 원문에서 직접 읽으세요.
읽는 경험 자체가 핵심인 텍스트 — 문학적 글, 설득하는 에세이, 촘촘한 철학적 논증 — 도 조심하세요. 이런 글의 요약은 "무엇"을 붙잡고 "어떻게"를 부수는데, 그 "어떻게"가 곧 내용인 경우가 많습니다. 마찬가지로 감정이 격해진 이메일 스레드를 요약하면 누가 왜 화가 났는지 알려주는 톤이 벗겨집니다. 답장하기 전에는 원문을 훑는 편이 대체로 안전합니다.
마지막으로 누적 문제를 경계하세요. 요약의 요약은 빠르게 열화됩니다. 매 단계가 같은 편향 — 위치 편향, 양태 세탁, 단서 조항 소실 — 을 다시 적용해서, 3세대쯤 되면 유창하고 자신만만하지만 원문과 실질적으로 단절된 텍스트가 됩니다. 저장하거나 공유하는 모든 요약에 원문 링크를 붙여 두고, 결정이 디테일에 달려 있을 때는 요약이 "무엇이 사실인지"가 아니라 "어디를 봐야 하는지"만 알려주게 하세요.