Grammar로 CoT 압축
Structured CoT: Shorter Reasoning with a Grammar File
·2026.04.26 10:23
Grammar 제약으로 Qwen3.6의 추론 토큰을 22배 줄여 성능을 유지했다.
Qwen3.6-27B/35B 계열에서 think 블록을 작은 GBNF grammar로 제한해, 긴 자유형 추론을 짧은 구조화 추론으로 압축했다.
- HumanEval+ 164문항에서
unsloth/Qwen3.6-35B-A3B-GGUFQ4_K_M를 RTX 6000 한 대와llama-cpp-python으로 돌린 결과, 자유형think대비 thinking token 22.4배 감소와 함께 **pass@1 92.1% → 92.7%**를 기록했다. GOAL/APPROACH/EDGE형태의 간단한 프롬프트만으로는 생각 토큰이 여전히 많았고, grammar 제약이 실제로 짧은 추론을 강제했다.- 더 까다로운 LiveCodeBench v6 공개 테스트 50문항(
contest_date >= 2025-01-01)에서는 자유형이 50.0%,FSM_PLAN형식은 **64.0%**로 올라갔다. - 같은 실험에서 thinking token은 11,553개 → 267개로 줄고, 총 토큰도 13,632개 → 2,743개로 감소했다.
- 자유형 실행은
empty_code,syntax_error,missing_entry_point,timeout같은 실패가 많았고, grammar는 답변 채널을 더 빨리 코드 단계로 밀어 넣어 이런 오류를 줄였다.
핵심 주장은 단순하다. 추론 채널은 자유롭게 두되, scratchpad의 형식만 강하게 제한하면 토큰 비용을 크게 줄이면서 성능을 유지하거나 일부 과제에서는 오히려 올릴 수 있다는 것이다.
다만 저자도 한계를 분명히 적었다. HumanEval은 오염 가능성이 있고, 이 결과가 보편적인 compressed-thinking grammar를 의미하지는 않으며, 장기 계획·SWE-Bench·멀티파일 에이전트 작업에서는 성립하지 않을 수 있다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.