컨텍스트를 키우면 과교정이 줄어든다: 최소 편집 문법 교정을 위한 프롬프트·배칭 최적화
Larger Context Window, Fewer Overcorrections: Optimizing Prompts and Batching for Minimal-Edit Grammatical Error Correction
TL;DR Highlight
문장을 여러 개 묶어 보내고 프롬프트를 다듬었더니 파인튜닝 모델과 0.38점 차
Who Should Read
LLM API로 문법·문장 교정 기능을 만드는데 모델이 멀쩡한 문장까지 고쳐 써서 고민인 백엔드 개발자
Core Mechanics
- 기본 프롬프트는 멀쩡한 문장도 고친다
- "문법 오류를 고쳐라" 수준의 vanilla 프롬프트는 재현율(recall)은 높지만 정밀도(precision)가 대체로 45 미만이다.
- 동의어 교체나 문체 다듬기 같은 과교정(overcorrection)이 원인이다.
- "최소한만 고쳐"를 넣으면 가장 크게 오른다
- minimal-edit 제약만 추가해도 Claude Opus 4.6을 뺀 모든 모델의 F0.5가 +1.1~+10.9점 오른다.
- 대신 재현율은 6~22점 떨어진다.
- 문장 여러 개를 한 번에 보내면 덜 고친다
- 번호 붙인 문장 목록을 한 요청에 넣으면 수정 없는 문장 비율이 늘고 정밀도가 오른다.
- 저자들은 어텐션 희석(attention dilution) 때문이라고 가설을 세웠지만 검증은 하지 않았다.
- 오류 유형 목록은 강한 모델에만 도움이 된다
- ERRANT 25개 오류 유형(taxonomy)을 프롬프트에 넣으면 Claude Opus 4.6과 Gemini 3.1-Pro는 좋아진다.
- 나머지 네 모델은 오히려 나빠졌다.
- 프롬프트는 모델마다 따로 최적화해야 한다
- Claude Code 스킬로 개발셋 오류를 분석하고 한 번에 규칙 하나씩 추가하며, 점수가 오를 때만 채택했다.
- 자기 모델에서 점수가 가장 높았고, 다른 모델로도 일부 옮겨졌다.
Evidence
- Gemini 3.1-Pro가 BEA-2019 test에서 F0.5 78.32
- 파인튜닝 단일 모델 SOTA(Staruch et al., 2025, Gemma 2 27B)는 78.70으로, 격차는 0.38점이다.
- 정밀도는 82.29 대 82.28로 비슷하다.
- Gemini 3.1-Pro는 vanilla 대비 F0.5 +16.4
- 같은 BEA-2019 test에서 vanilla zero-shot은 56.45이고, 최적화 프롬프트에 배치 15를 쓰면 78.32다.
- 이 구성의 정밀도는 20.81점 올랐다.
- 배치 키우면 Qwen3-8B 무수정 비율 43.8%→80.7%
- BEA-2019 dev에서 배치 크기를 B=1에서 B=120으로 키운 결과다.
- Gemini 3.1-Pro는 같은 조건에서 33.8%에서 50.5%로 올랐다.
- Claude Sonnet 4.6은 기존 prompted 결과보다 +9.68점
- BEA-2019 test F0.5가 74.59로, Claude Sonnet 4.5의 zero-shot minimal-edit 결과(64.91)와 비교한 수치다.
- Qwen3-8B도 단일 실행으로 68.84를 얻어, 8회 다수결을 쓴 기존 Qwen3-8B 기준선(68.7)과 비슷하다.
How to Apply
- 교정 프롬프트에 최소 수정 규칙 넣기
- 오늘 쓰는 교정 프롬프트 첫머리에 "Make MINIMAL, PRECISE edits. DO NOT rewrite or paraphrase."와 금지 규칙 목록을 붙여라.
- 고정 샘플 문장 50개에서 수정 문장 비율을 전후로 비교하라.
- 독립 문장은 15개씩 묶어 한 요청으로 보내기
- 교정 요청을 번호 붙은 문장 목록으로 묶고, 응답도 SENTENCE_ID별 JSON 스키마로 받아라.
- 고성능 모델은 B=15에서 F0.5가 가장 높았다.
- 중간급 모델은 B=30~60을 시험하라.
- 강한 모델에만 오류 유형 목록 A/B 테스트하기
- 유형 목록 포함 프롬프트와 미포함 프롬프트를 같은 개발셋으로 돌려 비교하라.
- 논문에서는 중간급 모델 대부분에서 유형 목록이 오히려 점수를 낮췄다.
- 모델별로 규칙을 한 번에 하나씩 추가하기
- 개발셋에서 오류 카테고리별 FP·FN을 뽑아라.
- 실제 오류 예시 10~20개를 보고 규칙 하나를 추가하라.
- 전체 F0.5가 오르고 해당 카테고리도 개선될 때만 채택하라.
Try It
# Claude나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 배칭 + 최소 편집 프롬프트)
You are a grammatical error correction system.
Make MINIMAL, PRECISE edits to fix errors. DO NOT rewrite or paraphrase. Only fix clear grammatical and spelling errors.
RULES:
- Make the SMALLEST possible edit to fix each error
- Change only what is grammatically or orthographically wrong
- Preserve the original meaning and style
- Do NOT improve fluency beyond fixing errors
- Do NOT make stylistic changes
- If no errors exist, return the original sentence unchanged
Correct each sentence separately. Return a result for each SENTENCE_ID.
Sentence 1: {{문장1}}
Sentence 2: {{문장2}}
Sentence 3: {{문장3}}
# 이어서 해 볼 것: 같은 문장을 하나씩 따로 보낸 결과와 비교해 수정 문장 수가 줄었는지 확인하고, 문장을 15개까지 늘려 보세요.Terminology
관련 논문
AI는 도구다, 잘 쓰려면 기술이 필요하다
Hickey의 'AI는 도구가 아니다'에 맞서, LLM도 쓰는 사람의 기술이 결과를 가른다고 반박
딥리서치 에이전트의 Reflective Prompt Optimization: 토픽 분리·멀티 시드로 본 진짜 성능 향상과 프롬프트 과적합
GEPA로 프롬프트를 최적화했더니 held-out 인용 보상 0.702→0.781
GPT-6와 Intelligent UI: 채팅 안에서 시각·인터랙티브 응답 만들기
OpenAI가 GPT-6로 채팅 응답에 UI를 넣는다는데 원문이 없어 댓글 반응만 확인된다
Base 모델도 첫 토큰 단서(cue) 하나로 추론한다: 학습 데이터가 만든 연상
응답 첫 두 토큰만 고정했더니 Olmo-3-7B의 MATH-500 정답률이 42%에서 78%로 올랐다
Jev식 Typed Decision Model에서는 정의보다 라벨이 이긴다
옵션 이름을 A, B로 바꿨더니 정확도가 +0.1511 올랐다
프롬프트는 얼마나 필요한가? Few-shot 예시를 블랙박스로 최소화하는 DD-FSM
Delta debugging으로 few-shot 예시를 평균 65.3% 줄여도 출력은 그대로
언어모델은 "불안정한(Insecure)" 보고자다: 결함을 숨기는 LLM 리포트
"Be honest" 한 줄을 붙였더니 GPT-5.5의 부정 결과 공개가 2/200에서 190/200으로 늘었다
Related Resources
Original Abstract (Expand)
Minimal-edit Grammatical Error Correction (GEC) is a challenging task for zero- and few-shot prompted Large Language Models (LLMs), which systematically overcorrect and degrade $F_{0.5}$ by rewriting well-formed spans. While fine-tuning provides an effective solution, it imposes substantial infrastructure demands. We introduce a prompt-based approach that closes the gap to fine-tuned models through three advances in GEC prompting methodology. First, we introduce taxonomy-based instructions to enforce minimal-edit constraints with a comprehensive list of grammatical error rules, equipping the LLM with a bounded, metric-aligned scope of correctable edits, which benefits the strongest models while remaining model-dependent overall. Second, we show that batching multiple uncorrected sentences into a single input context acts as a targeted regularizer against overcorrection, systematically reducing the edit rate across diverse LLM families; we hypothesize this arises from attention dilution effect induced by the bounded capacity of self-attention scores. Finally, LLM-assisted Prompt Optimization refines these instructions. Powered by Gemini 3.1-Pro, our prompt achieves $F_{0.5}=78.32$ on the BEA-2019 test set - establishing a new prompt-based SOTA while shrinking the gap to the fine-tuned single-model SOTA (Staruch et al., 2025) to a mere $0.38$ points. Code, prompts, and outputs are publicly available.