Think Through a Bottleneck - Hourglass Reasoning for Rigorous Induction

🏷️ 논문 LLM 추론

H. Zhu, "Think Through a Bottleneck: Hourglass Reasoning for Rigorous Induction," arXiv:2607.11696, 2026.

저자

주환은 베이징대학교 단독 저자입니다. 논문의 목적은 귀납적 few-shot 추론에서 Self-Refine이 왜 실패하는지를 진단하고, 그 구조적 원인에 직접 대응하는 추론 파이프라인을 제안하는 것입니다.

배경

Self-Refine은 LLM에게 자신의 출력을 검토하고 스스로 수정하게 합니다. 하지만 이 피드백 루프가 실제로 귀납 추론 능력을 강화하지 못한다는 연구 결과가 쌓이고 있습니다.

문제는 컨텍스트 창의 구조에 있습니다. 이전 시도·오류·수정 지시·지지 예시 데이터가 하나의 긴 컨텍스트 안에 뒤섞이면, 모델은 추상 규칙을 새로 유도하는 대신 예시의 표면 패턴에 집착하는 "shortcut"을 배웁니다. 수정 단계에서도 명시적 규칙 대신 현재 산출물을 직접 패치하므로, 반복이 거듭될수록 근거 없는 국소 수정만 쌓입니다.

이 논문은 그 원인을 정보 흐름의 구조 문제로 진단합니다. 단계 간 경계가 없으면 압축되지 않은 모든 세부 사항이 흘러들고, 모델은 일반 규칙이 아닌 특정 사례에 고착됩니다. 해결책은 단계 간 정보 채널을 좁히는 것입니다.

어떻게 만들었나

hourglass-reasoning-pipeline.png

Hourglass Reasoning은 귀납 과정을 네 단계로 분리하고, 각 단계를 독립 API 호출로 실행합니다. 단계 간에는 두 가지만 전달됩니다: 스키마 \(\phi\)와 변환 규칙 \(T\)입니다.

1단계. Induction. 지지 예시 집합 \(S\)를 입력받아 파싱 스키마 \(\phi\)와 임시 발판(scaffold) \(z\)를 생성합니다. \(\phi\)는 입력을 어떻게 구조화할지 기술하고, \(z\)는 그 과정에서 나온 중간 관찰값입니다.

2단계. Deduction. \((S, \phi, z)\)를 받아 변환 규칙 \(T\)를 도출합니다. \(z\)는 이 단계가 끝나면 영구 폐기됩니다.

3단계. Implementation. \((S, \phi, T)\)만으로 실행 가능한 결과물 \(P\)(코드 또는 텍스트 계획)를 생성합니다.

4단계. Schema-Anchored Refinement. \(P\)에 오류가 있을 때, 현재 출력을 직접 수정하지 않습니다. 대신 \((\phi, T)\)를 루트 원인 진단으로 수정하고, 신선한 컨텍스트에서 \(P\)를 처음부터 재생성합니다.

이 구조에서 핵심은 \(z\)의 폐기와 격리입니다. 모든 중간 추론 흔적, 거부된 코드 버전, 이전 오류 기록은 각 단계의 API 컨텍스트 안에 갇히고 다음 단계로 넘어가지 않습니다. 모델은 항상 \((\phi, T)\)라는 압축 상태만 들고 다음 단계를 만납니다.

hourglass-reasoning-comparison.png

왼쪽(Self-Refine)은 예시-컨텍스트-출력이 하나의 고밀도 공간에 얽혀 있고, shortcut 경로(빨간 화살표)가 그 밀도에서 자연히 만들어집니다. 오른쪽(Hourglass)은 \(\phi\)\(T\)라는 병목을 통해서만 정보가 흐릅니다. 수정(Symbolic Refine)도 \((\phi, T)\)를 갱신하는 방향으로만 작동합니다.

각 단계의 입출력은 다음과 같습니다:

단계

입력

출력

역할

Induction

\(S\)

\(\phi, z\)

파싱 스키마와 임시 발판 생성

Deduction

\(S, \phi, z\)

\(T\)

변환 규칙 도출; \(z\) 폐기

Implementation

\(S, \phi, T\)

\(P\)

실행 가능한 결과물 컴파일

Refinement

\(S, \phi, T, P, \hat{y}\)

\(\phi_\text{new}, T_\text{new}, P_\text{new}\)

근원 진단 후 재생성

결과

GPT-5.5와 Gemini 3.1 Pro로 세 도메인을 평가했습니다. 기준선은 동일한 태스크 정의·실행 피드백 형식·최대 5회 정제 한도로 맞춘 context-reset Self-Refine입니다.

ARC-AGI-2 (시각 추상화, 120개 공개 퍼즐):

모델

Self-Refine

Hourglass

향상 (p@1 / p@5)

GPT-5.5

51.9 / 62.8

60.6 / 76.8

+8.7 / +14.0

Gemini 3.1 Pro

54.4 / 76.9

62.4 / 86.7

+8.0 / +9.8

pass@5에서 GPT-5.5 기준 14점 상승이 두드러집니다. 경쟁 모드(C-2 설정, 최대 32회 실행, Gemini 3.1 Pro)에서는 pass@2 87.8%를 태스크당 약 \(3.98에 달성했습니다. 동 시점 리더보드의 Symbolica Agentica(85.28%,\)6.94/태스크)와 비교해 비용 대비 경쟁력이 있는 지점입니다.

ChipBench (하드웨어 로직 합성, 45개 사양):

모델

Native

Codebook-SR

Hourglass

GPT-5.5 (레퍼런스 생성)

60.0 / 66.7

55.6 / 64.4

73.3 / 82.2

Gemini 3.1 Pro (레퍼런스 생성)

53.3 / 62.2

55.6 / 57.8

75.6 / 82.2

GPT-5.5 (Verilog 합성)

31.1 / 35.6

44.4 / 51.1

57.8 / 66.7

Gemini 3.1 Pro (Verilog 합성)

40.0 / 44.4

51.1 / 57.8

53.3 / 62.2

Verilog 합성에서 GPT-5.5 기준 pass@1이 31.1%에서 57.8%로 거의 두 배입니다. Codebook(사전 구성된 심볼릭 코드북)만으로는 개선 폭이 작고, 아키텍처 병목 자체가 핵심임을 보여줍니다.

BBEH-Linguini (국제언어올림피아드 유래 144개 텍스트 규칙 유도 과제):

모델

Raw Prompt

Self-Refine

Hourglass

GPT-5.5

58.3 / 67.4

25.0 / 27.8

46.5 / 63.1

Gemini 3.1 Pro

64.6 / 68.1

32.6 / 33.3

63.1 / 79.9

Self-Refine이 Raw Prompt보다 크게 나빠지는 역효과가 뚜렷합니다. 언어 규칙 유도 과제에서 LLM이 규칙을 자연어로 명시하려 할 때 미세한 세부 사항이 손실(lossy compression)되고, 이것이 반복 수정을 거치며 증폭됩니다. Hourglass는 GPT-5.5에서 Raw Prompt 수준을 회복하고, Gemini에서는 pass@5를 11.8점 초과합니다.

에이블레이션 (ARC-AGI-2):

변형

GPT-5.5 p@1 / p@5

Gemini p@1 / p@5

Full Hourglass

60.6 / 76.8

62.4 / 86.7

Plain (보조 프롬프트 없음)

59.9 / 79.3

70.1 / 87.5

Unstructured (\(\phi, T\) 형식 제약 없음)

58.6 / 76.4

73.6 / 89.0

Code-Only (Refiner에 \(\phi, T\) 미전달)

58.1 / 74.7

59.8 / 79.9

Weak-Init (초기 단계를 약한 모델로)

40.1 / 61.4

54.3 / 74.6

Struct-SR (동일 형식이지만 단일 컨텍스트)

41.5 / 59.9

31.6 / 62.8

SR baseline

51.9 / 62.8

54.4 / 76.9

가장 중요한 행은 Struct-SR입니다. \((\phi, T)\)를 동일한 형식으로 출력하지만, 단일 컨텍스트 안에서 모두 수행합니다. Self-Refine보다도 나쁜 결과가 나옵니다. 형식이 아니라 물리적 격리 자체가 성능을 만든다는 직접적 증거입니다.

반면 Plain(보조 프롬프트 완전 제거)과 Unstructured(출력 형식 제약 해제)는 Full과 거의 동등하게 유지됩니다. 프롬프트 엔지니어링과 출력 형식은 부차적이고, 역할 격리 위상(topology) 자체가 핵심 기여 요소입니다.

회고

저자는 다섯 가지 한계를 명시합니다.

첫째, 소프트 보틀넥입니다. \(\phi\)\(T\)의 격리는 아키텍처 제약이 아니라 프롬프트 수준에서 구현됩니다. 형식적 보장은 없고, 모델이 프롬프트를 따르지 않으면 격리가 깨질 수 있습니다.

둘째, 태스크 범위입니다. 현재 설계는 정밀하고 결정론적인 변환 규칙이 존재하는 태스크에 한정됩니다. 확률적이거나 맥락 의존적인 규칙으로의 확장은 열린 문제입니다.

셋째, 계산 비용입니다. GPT-5.5 기준으로 Hourglass는 태스크당 평균 61,911 토큰을 3.7회 호출에 소모하는 반면, Self-Refine은 19,594 토큰을 1.4회 호출합니다. 약 \(3\times\) 비용 증가입니다.

넷째, 모델 커버리지입니다. GPT-5.5와 Gemini 3.1 Pro 두 모델에만 실험을 수행했습니다.

다섯째, 공개 평가 세트입니다. ARC-AGI-2 공개 평가 세트를 사용하므로 사전 학습 노출 가능성을 배제할 수 없습니다.

Weak-Init 에이블레이션은 암묵적 한계도 드러냅니다. 초기 귀납 품질이 낮으면 Refiner도 만회하지 못합니다. 강한 Refiner가 약한 초기화를 보상할 것이라는 기대는 성립하지 않습니다.

정리