분류 입력 구성만 바꿨더니 유의하게 움직인 것은 검색 하나였습니다
BANKING77에서 GPT-5.6 Terra를 고정하고 입력 구성만 바꿔 봤습니다. 라벨 순서를 섞거나 주제로 묶거나 추론 강도를 바꾼 결과는 기준선과 짝지어 비교했을 때 개선과 악화가 한두 건씩 오가 유의하지 않았습니다. 가까운 학습 예시 다섯 개를 붙인 구성만 146건으로, 19건을 고치고 하나도 망치지 않았습니다(p≈3.8×10⁻⁶).

분류 입력 구성만 바꿨더니 유의하게 움직인 것은 검색 하나였습니다
SWE-bench 리더보드를 감사한 논문이 같은 모델 안에서 스캐폴드에 따른 폭이 29.8%p에 이르고, 상위 30개 항목 사이의 폭은 8.8%p라고 보고했습니다. 다만 그 논문의 스캐폴드는 프롬프트 문구가 아니라 에이전트 루프·도구·검색·제어 정책을 포함한 시스템 전체이고, 논문 자신이 관찰 설계라 인과 효과를 식별하지 못한다고 적어 두었습니다.
여기서는 그보다 훨씬 좁은 질문을 봤습니다. 모델과 데이터를 고정하고, 분류 입력을 구성하는 방식만 바꾸면 얼마나 움직일까요. 과제도 코딩 에이전트가 아니라 77개 라벨 의도 분류입니다.
먼저 잰 것은 같은 설정의 흔들림입니다
구성을 비교하기 전에 완전히 같은 설정을 세 번 돌렸습니다. 같은 프롬프트, 같은 154건, 추론 강도 low입니다. 결과는 125건, 127건, 128건이었습니다. 사흘 전 Jev 글에서 같은 프롬프트로 돌린 실행은 129건이었습니다. 아무것도 바꾸지 않아도 총점이 움직입니다.
다만 총점의 최솟값과 최댓값은 비교 근거로 약합니다. 관측이 서넛뿐이라 폭 자체가 불안정합니다. 그래서 인용한 논문이 쓴 방식을 따라, 같은 문항을 짝지어 비교하고 정확 McNemar 검정을 붙였습니다. 기준선은 127건 실행 하나로 고정했습니다.
구성별 성적
GPT-5.6 Terra, 추론 강도 low, 출력은 77개 라벨 중 하나로 제한, BANKING77 테스트셋에서 의도마다 2건씩 뽑은 154건입니다. 예시는 학습 세트에서만 가져왔습니다. 아래 표는 입력 구성 다섯 가지에, 구성은 그대로 두고 추론 강도만 바꾼 대조군 둘을 더한 것입니다.
| 구성 | 정답/154 | 요청당 입력 토큰 | 1,000건당 비용 |
|---|---|---|---|
| 가까운 예시 5개 검색 | 146 (94.8%) | 975 | 2.14달러 |
| 라벨마다 예시 1개(77개) | 131 (85.1%) | 2,406 | 0.73달러 |
| 라벨 목록만, 강도 medium | 129 (83.8%) | 873 | 2.05달러 |
| 라벨 목록만 (기준선) | 127 (82.5%) | 873 | 1.97달러 |
| 같은 설정 재실행 2회 | 125·128 | 873 | 1.97달러 |
| 라벨 목록만, 강도 none | 126 (81.8%) | 873 | 1.93달러 |
| 라벨 순서를 섞음 | 126 (81.8%) | 873 | 1.96달러 |
| 라벨을 접두어로 묶음 | 123 (79.9%) | 1,020 | 2.23달러 |
총점만 보면 79.9%에서 94.8%까지 벌어집니다. 그런데 같은 문항끼리 짝지어 보면 그림이 달라집니다.
| 기준선(127건)과 비교 | 고친 문항 | 망친 문항 | 정확 McNemar p |
|---|---|---|---|
| 검색 예시 5개 | 19 | 0 | 0.0000038 |
| 라벨마다 예시 1개 | 6 | 2 | 0.29 |
| 접두어로 묶음 | 1 | 5 | 0.22 |
| 순서를 섞음 | 2 | 3 | 1.0 |
| 강도 medium | 2 | 0 | 0.5 |
| 강도 none | 0 | 1 | 1.0 |
| 같은 설정 재실행 | 0~1 | 0~2 | 0.5~1.0 |
라벨 순서를 섞은 것, 주제로 묶은 것, 추론 강도를 바꾼 것은 모두 기준선과의 정확 McNemar 검정에서 유의하지 않았습니다. 주제로 묶은 구성은 망친 문항이 5건으로 고친 1건보다 많았지만, 그 차이도 유의 수준에 닿지 않습니다.
예외는 검색이고, 차이가 작지 않습니다.
검색 구성을 한 건씩 맞대 보면
검색 구성은 들어온 메시지를 사전학습 MiniLM으로 임베딩해 학습 예시 10,003건 중 가까운 다섯 건을 찾고, 그 문장과 라벨을 질문 위에 붙입니다. 모델은 여전히 라벨 하나만 답합니다.
같은 154건에서 기준선과 맞대 보면 둘 다 맞힌 것이 127건, 검색만 맞힌 것이 19건, 기준선만 맞힌 것이 0건, 둘 다 틀린 것이 8건입니다. 19건을 고치면서 망친 것은 없습니다. 정확 McNemar 양측검정으로 p는 약 3.8×10⁻⁶입니다. 서로 주고받은 것이 아니라 한쪽이 다른 쪽을 완전히 덮습니다.
여기서 두 가지를 갈라야 합니다. 검색은 프롬프트 문장을 더 잘 쓴 것이 아닙니다. 추론 시점에 라벨 달린 데이터가 모델에 닿게 한 것입니다. 12%p는 프롬프트 표현이 아니라 학습 세트의 값입니다. 같은 라벨로 직접 학습한 분류기가 이 표본에서 90.3%였던 것과 결론이 같습니다. 검색은 같은 예시를 쓰면서 과제별 학습이나 파인튜닝 없이 94.8%에 닿았습니다. 임베딩 모델 자체는 사전학습된 것을 그대로 썼습니다.
가장 싼 실행이 가장 짧은 프롬프트는 아닙니다
예시 77개를 붙인 구성은 요청마다 2,406토큰을 보냅니다. 기준선의 2.8배인데 비용은 3분의 1도 안 됩니다. 1,000건에 0.73달러이고 기준선은 1.97달러입니다. 앞부분이 요청마다 똑같고 길이도 충분해서 입력 토큰의 99%가 캐시로 처리됐고, 캐시 입력은 단가가 10분의 1입니다. 873토큰짜리 기준선 프롬프트는 캐시가 전혀 잡히지 않았습니다.
긴 프롬프트가 더 쌀 수 있다는 뜻입니다. 매 요청에 같기만 하다면요. 검색 구성은 메시지마다 예시가 달라서 이 혜택을 못 받습니다. 예시 77개짜리보다 토큰을 적게 보내면서도 가장 비싼 줄인 이유가 그것입니다.
29.8점에 대해 말할 수 있는 것
제 다섯 구성의 폭은 79.9%에서 94.8%까지 15%p입니다. 논문이 보고한 29.8%p의 절반 규모이고, 앞서 이 과제에서 잰 두 프런티어 모델 사이의 한 건 차이보다는 훨씬 큽니다.
다만 모양이 중요합니다. 다섯 중 넷은 기준선과 짝지어 보면 유의하지 않았습니다. 폭 전체가 한 가지 변경에서 나왔고, 그 변경은 표현을 다듬는 일이 아니라 라벨 달린 예시를 건네준 일이었습니다. 이 과제에서 프롬프트 문구를 손보는 작업은 잴 수 있는 만큼 움직이지 않았고, 데이터가 프롬프트에 닿는지가 전부를 움직였습니다.
논문의 결론을 이 글로 확인했다고 말할 수는 없습니다. 과제도 다르고, 논문의 스캐폴드는 여기서 바꾼 것보다 훨씬 넓습니다. 겹치는 것은 방법입니다. 총점 차이를 순위로 읽지 말고 같은 문항을 짝지어 보라는 쪽입니다.
이 결과로 말할 수 없는 것
데이터셋 하나, 모델 하나, 기준선을 뺀 나머지는 구성당 1회, 154건입니다. 이 p값은 해당 두 실행의 문항별 차이만 검정하며, 모델의 실행 간 변동까지 포함하지는 않습니다. 구성마다 따로 계산했고 다중 비교 보정도 하지 않았습니다. 검색의 p는 보정을 해도 남지만 나머지는 애초에 유의하지 않습니다. 검색 구성의 지연에는 임베딩과 조회 시간이 빠져 있습니다. API 호출 밖 CPU에서 돌았습니다. 캐시 입력 단가는 트래픽 형태에 따라 달라지므로 비용 칸은 운영 청구서가 아니라 이번 실행을 설명하는 숫자입니다. 그리고 BANKING77의 라벨은 세밀하고 뜻이 겹치는 것이 많은데, 가까운 예시가 가장 크게 돕는 조건이 바로 그런 경우입니다.
측정 환경: BANKING77 테스트셋(PolyAI, CC-BY-4.0)에서 의도마다 2건씩 뽑은 154건, 시드 20260918. 모델은 Responses API의 gpt-5.6-terra이고 77개 라벨을 열거형으로 제한했으며, 따로 적지 않은 경우 추론 강도는 low입니다. 검색은 사전학습 all-MiniLM-L6-v2 임베딩으로 학습 메시지 10,003건에서 코사인 유사도 상위 5건을 뽑았습니다. 가격은 OpenAI 모델 문서 기준으로 100만 토큰당 입력 2달러, 캐시 입력 0.2달러, 출력 12달러입니다. 이 글에 쓴 API 비용은 모두 합쳐 2.62달러입니다. 측정일 2026-09-21.
같은 측정을 당신 모델로 받아 보시겠습니까
모델과 조건을 알려 주시면 저희가 조건을 설계해 돌리고, 어떤 선택을 해야 하는지까지 적어 드립니다. 기본 장비는 A100 80GB이고 다른 GPU도 가능합니다.
이메일로 받아보기
관련 포스트

Jev의 속도 주장, 라벨만 필요한 분류에도 적용될까? BANKING77 기준선 실측
BANKING77 테스트셋에서 라벨만 출력하는 네 가지 분류 방식을 같은 메시지 154건으로 비교했습니다. MiniLM 임베딩과 로지스틱 회귀는 CPU에서 정확도 90.3%, 지연 중앙값 6.8ms를 기록했습니다. Jev 자체는 아직 측정하지 않았습니다.

llama.cpp의 -ctk·-ctv, 기본 CUDA 빌드에서 쓸 수 있는 값은 넷입니다
llama-bench는 KV 캐시 타입 여덟 개를, llama-server는 아홉 개를 받습니다. 그런데 기본 CUDA 빌드는 FlashAttention 커널을 f16·bf16·q8_0·q4_0 네 타입에만, 그것도 K와 V가 같을 때만 컴파일합니다. 나머지 설정은 커널이 없어 프리필이 초당 4,600토큰에서 83~284토큰으로 떨어집니다. llama.cpp 69320fe, A100 실측입니다.

llama.cpp KV 캐시 양자화: q8_0 처리량 손실이 9%에서 22%로 커지는 이유
본류 llama.cpp, A100 한 장, Qwen3-8B Q4_K_M, llama-server 동시 슬롯 1~32. 32K 프롬프트에서 q8_0은 요청당 128토큰을 생성할 때 서버 처리량의 9%를 잃었고, 1,024토큰을 생성할 때는 22%를 잃었습니다. 짧은 쪽은 프리필이 벽시계를 지배하는데 프리필은 KV 타입을 타지 않기 때문입니다. 토큰당 디코드는 34% 느렸고 이는 llama-bench 결과와 일치합니다. 시작 직후 VRAM 사용량은 64K 슬롯 4개에서 41.0 GiB에서 25.1 GiB로 내려갔습니다.