Jev식 Typed Decision Model에서는 정의보다 라벨이 이긴다
Labels Override Definitions in Jev-Style Typed Decision Models
TL;DR Highlight
옵션 이름을 A, B로 바꿨더니 정확도가 +0.1511 올랐다
Who Should Read
LLM을 라우팅·분류기로 쓰며 옵션 이름과 설명을 함께 넘기는 백엔드 개발자
Core Mechanics
- 정의를 지워도 정확도는 그대로
- LAYA-TD는 정의를 전부 지워도 0.8559로, 지우기 전 0.8487과 같았다.
- 정의만 따로 주면 0.7971이 나와서, 정의를 읽을 줄은 아는데 라벨이 있으면 안 쓴다.
- 라벨과 정의가 충돌하면 라벨을 따른다
- 라벨이 정의와 반대 클래스를 가리키면 LAYA-TD 정확도가 0.1357로 떨어졌다.
- 아무 정보 없는 대조군(0.5690)보다도 낮다.
- 원인은 모델 구조가 아니라 프롬프트 렌더링이다
- LAYA는 옵션을 "{label}: {definition}"으로 입력에 넣고, VON은 정의만 넣는다.
- 이 표현식 하나만 양방향으로 바꿨더니 LAYA에선 효과가 사라지고 VON에선 생겼다.
- 일반 LLM 점수 방식에도 같은 현상이 있다
- Qwen2.5-7B가 옵션 문자열 확률로 분류할 때도 같은 효과가 나왔다.
- 기존 논문의 'decision head 탓'이라는 설명과 맞지 않는다.
- confidence 임계값은 이 오류를 못 잡는다
- 라벨과 정의가 충돌할 때 LAYA-TD의 confidence AUROC가 0.8123에서 0.2433으로 뒤집혔다.
- 확신 높은 답이 오히려 틀릴 확률이 높다.
Evidence
- PolicyBench에서 A/B 이름이 더 정확했다
- LAYA-TD 정확도가 의미 있는 이름(0.742)보다 A/B(0.893)에서 +0.1511 [+0.1377, +0.1646] 높았다(n=3500).
- Qwen2.5-7B는 같은 비교에서 +0.1203, Mistral-7B는 +0.1531이었다.
- 렌더링 패치로 효과가 양방향 재현됐다
- 라벨을 뺀 LAYA 세 체크포인트는 aligned/arbitrary/misleading 차이가 +0.0000이 됐다.
- VON에 라벨을 넣자 분류 과제에서 정확도가 0.8511에서 0.2281로 떨어졌다.
- 완화책별 효과가 측정됐다
- M1(임의 라벨)은 LAYA-TD에서 +0.1511, M3(라벨 무시 지시문)은 +0.0138에 그쳤다.
- M4(두 렌더링 불일치 제외)는 남은 항목 정확도를 0.7420에서 0.8921로 올렸고 커버리지는 0.8100이었다.
- null-state 보정은 모델에 따라 갈렸다
- aligned 라벨에서 LAYA-TD +0.0391, Qwen2.5-7B +0.0748이었다.
- VON은 정확도가 0.5000으로 떨어졌다.
How to Apply
- 같은 질문을 라벨만 바꿔 두 번 호출하기
- 정의는 그대로 두고 라벨만 바꿔 확률 분포를 비교하자.
- 분포가 다르면 라벨이 판단에 영향을 주는 것이니 아래 항목을 적용하자.
- 규칙이 정의에 있으면 옵션 이름을 A, B로 바꾸기
- 규칙 전체를 정의 필드에 쓰고 라벨은 의미 없는 문자로 두자.
- 클래스 이름 자체가 좋은 단서인 과제에선 오히려 정확도가 떨어지니 먼저 평가셋으로 비교하자.
- 라벨이 의미를 가져야 하면 두 렌더링 불일치를 검수하기
- 원래 라벨과 A/B 라벨로 두 번 돌려 결과가 다른 항목은 사람이나 강한 모델로 넘기자.
- confidence 임계값 대신 이 불일치를 게이트로 쓰자.
- 부정형 질문을 긍정형으로 다시 쓰기
- 'is it false that ...' 같은 표현은 쓰지 말고 'is the request unauthorized'처럼 긍정형으로 쓰자.
- 지시문으로 극성에 주의하라고 해도 소용없었다.
Try It
# Claude/ChatGPT에 붙여넣기 - 논문 방법(라벨 vs 정의 충돌 점검)의 간이 버전
아래 분류 작업을 두 번 수행해라. 두 번 모두 정의에 따라서만 판단해라.
[입력]
{{문서}}
[1차: 원래 라벨]
{{라벨1}}: {{정의1}}
{{라벨2}}: {{정의2}}
[2차: 라벨을 A, B로 교체]
A: {{정의1}}
B: {{정의2}}
각 차수의 선택과 이유를 쓰고, 두 결과가 다르면 'DISAGREE'라고 표시해라.
이어서 해 볼 것: 실제 라우팅 로그 50건으로 DISAGREE 비율을 세어 보자.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%로 올랐다
프롬프트는 얼마나 필요한가? Few-shot 예시를 블랙박스로 최소화하는 DD-FSM
Delta debugging으로 few-shot 예시를 평균 65.3% 줄여도 출력은 그대로
언어모델은 "불안정한(Insecure)" 보고자다: 결함을 숨기는 LLM 리포트
"Be honest" 한 줄을 붙였더니 GPT-5.5의 부정 결과 공개가 2/200에서 190/200으로 늘었다
Claude Opus 5.5 프롬프팅 가이드: effort·진행 업데이트·무인 에이전트 설정
Opus 5.5는 medium effort로 Opus 5 high급 성능, 프롬프트·하네스 조정법 정리
Original Abstract (Expand)
A typed decision model answers a fixed question about an input by returning a probability for each of several caller-defined options. Each option carries a short label and a written definition, which is where a developer states the rule the model should apply. Jev introduced this interface for routing, moderation and triage, open implementations followed, and the same operation occurs whenever a language model is used as a classifier by scoring label strings. We study the open implementations, whose weights we can inspect and patch, and ask whether the probability follows the definitions or the labels. A preference for the label we call option-label bias. Across four open-weight typed decision models, three ways of reading an answer from a Qwen2.5 backbone, eleven classification tasks and PolicyBench, a synthetic routing suite we introduce in which the rule appears only in the definitions, the answer is mostly the labels. Deleting every definition leaves accuracy unchanged (laya-td: 0.8559 against 0.8487), although those definitions support 0.7971 on their own, and renaming the options to A and B raises accuracy by +0.1511 [+0.1377, +0.1646]. One system, von, is unaffected, and the two code bases differ in one expression: laya writes each option as "{label}: {definition}", while von writes only the definition. Changing that expression in both directions, with no weight changed, makes all three laya checkpoints exactly invariant (+0.0000 [+0.0000, +0.0000]) and creates the effect in von, whose accuracy falls from 0.8511 to 0.2281 when a label contradicts its definition. Earlier work attributed this failure to the constrained decision head these models use in place of a text decoder; our results locate it in the prompt rendering. We give a two-call test that tells a practitioner which case applies to their model, and measure what four mitigations are worth.