LLM은 어떤 규칙을 코드로 검사할 수 있는지 스스로 판정하지 못한다
Not Self-Decidable: LLMs Cannot Draw the Boundary of What an Agent Verifier Can Check
무엇인가
에이전트 검증기는 검사하기 전에 먼저 자기 능력의 한계를 알아야 한다. 어떤 규칙은 고정된 해석 없는 절차로 끝나고, 어떤 규칙은 판정자가 필요하다. 팀이 자기 검사를 직접 만드는 상황이라면 이 분할은 설계 시점에 고정되지만, 금융·의료·법률처럼 요구사항이 외부에서 오는 경우 에이전트는 자기가 쓰지 않은 규칙을 집행하게 되고, 분할은 런타임으로 밀려난다. 모든 행동에 대해, 모든 규칙의 모든 술어(predicate)마다 반복되며, 그 속도는 사람 검토자가 감사할 수 있는 수준이 아니다. 논문은 이 결정을 자기판정가능성(self-decidability)이라 부르고, 모든 에스컬레이션 기법이 이것이 이미 해결됐다고 암묵적으로 가정하지만 실제로는 그렇지 않다고 주장한다. 비용은 비대칭이다. 코드로 처리 가능한 것을 판정자에게 넘기는 과소주장(under-claiming)은 호출 한 번의 낭비지만, 판단이 필요한 것을 코드로 처리한다고 과잉주장(over-claiming)하면 아무도 평가하지 않은 준수가 조용히 인증된다. 게다가 규칙은 모든 술어가 함께 맞아야 통과하므로, 규칙이 길어질수록 라우팅이 전부 맞을 확률은 기하급수적으로 떨어진다.
어떻게 동작하나
실험은 단일 술어를 보여주고 모델이 결정가능/판단 중 어느 쪽인지 답할 수 있는지를 반복해서 묻는다. 6개 코퍼스에서 뽑은 832개 술어를, 3개 연구소의 4개 파운데이션 모델(Claude Sonnet, Claude Opus, GPT-4o, Llama-3.1-70B)이 4가지 루브릭 변형과 2가지 교란 도구 아래 독립적으로 레이블링했고, 총 약 2만 2천 회의 모델 호출이 들어갔다. 코퍼스는 경계를 양쪽에서 감싼다. 결정가능 극단은 IFEval, 판단 극단은 MT-Bench이며, 경계 지대는 EU AI Act와 FINRA, 그리고 실제 배포된 크레딧 에이전트의 운영 규칙 집합(20개 규칙 계열, 73개 술어)이고, 금 레이블을 붙인 합성 코퍼스가 대조군이다. 분류는 온도 0에서 헤지 없이 단일 블라인드로 수행됐다.
무엇과 다른가
결과는 명확하다. 명백한 사례에서는 네 모델이 거의 완벽하게 일치한다(κ 0.92~0.99). 그러나 규제 텍스트 231개 술어에서는 일치도가 κ 0.20~0.50으로 무너지고, 오류는 양방향이다. Llama(37%)와 Sonnet(22%)은 과잉주장 쪽으로, GPT-4o(74%)와 Opus(54%)는 과소주장 쪽으로 기울며, 가장 대립하는 쌍의 일치도는 κ 0.20에 불과하다. 이 기울기는 연구소 경계를 가로지르고 같은 연구소 안에서도 갈린다. 더 나쁜 것은 도메인 특이성이다. 운영 에이전트 규칙 집합에서는 모든 모델이 과잉주장으로 뒤집힌다(GPT-4o 71%, Sonnet 62%, Llama 46%, Opus 29%; κ 0.38~0.64). 법령에서 가장 심한 과소주장자였던 GPT-4o가 에이전트 규칙에서는 가장 심한 과잉주장자가 된다. 측정 이후 추가한 추론형 모델은 이 분열을 좁히기는커녕 넓혔다(규제 텍스트 41%, 에이전트 규칙 92% 과잉주장). 논쟁 지대는 규제 텍스트의 꼬리가 아니라 중심 덩어리다. 교차 모델 불일치율로 측정하면 EU AI Act 술어의 65%, FINRA의 52%, 에이전트 규칙의 33%가 경계 지대이며, 합성 코퍼스는 23%다. 이 불일치는 겸손이 아니라 버그라는 증거로, 의미를 보존하는 결정적 템플릿 교란에서 Opus는 자기 경계 레이블을 33% 뒤집고(대조군 5%), GPT-4o는 44% 뒤집는다(대조군 7%). 사람 주석자가 53개 FINRA 규칙을 블라인드로 분류한 결과도 κ 0.34~0.48로 같았다.
어떻게 쓰나
저자들은 이 경계가 자기들 루브릭 탓인지 반박 실험을 붙인다. 절차적으로 다시 쓴 R-proc에서는 논쟁 비율이 모든 코퍼스에서 평평했고, 모델들은 일관된 방향 없이 자기 레이블의 6.6~16.3%를 뒤집었다. 결정 절차와 경계 규칙, 예시를 추가한 R-spec은 논쟁 비율을 EU AI Act에서 30.9pp, FINRA에서 19.6pp 떨어뜨렸다. 그러나 그 합의는 진실을 따라가지 않는다. R-spec이 논쟁에서 만장일치로 바꾼 규제 텍스트 술어 71개 중 만들어진 합의가 맞을 확률은 57.7%(Wilson 95%: 46.2~68.5)로, 프롬프트 없이 형성된 합의의 88.8%(80.5~93.8)보다 낮다. 같은 71개에서 프롬프트 없는 패널의 다수결은 49.3%였으니 R-spec은 어디서든 정확도를 올리긴 하지만, 변환된 집합이 74.6% 결정가능이므로 항상 결정가능이라고 답하는 상수 라우터(74.6%)를 이기지 못한다. R-spec의 오류 30개 중 29개가 과소주장이다. 즉 경계를 해결한 게 아니라 경계에서 후퇴한 것이다. 에이전트 규칙에서는 아무것도 얻지 못했고(33%→33%, 구성원 절반이 뒤바뀜), 똑같이 옳은 예시 8개만 바꾼 R-spec′은 다른 3분의 1을 해결했다(Jaccard 63.3%).
전제와 한계
제안 방법 CoVer는 두 단계다. 1단계 상호확증(corroboration)은 네 모델이 모두 결정가능이라고 부른 술어만 남긴다. 이 만장일치 집합의 정밀도는 금 레이블 합성 데이터에서 99.2%, 규제 텍스트에서 97.0%지만, 네 모델이 함께 과잉주장하는 에이전트 코퍼스에서는 83%(커버리지 69%)로 떨어진다. 그래서 2단계가 필요하다. 저자들이 먼저 만들어 본 더 뻔한 2단계, 즉 기준 판정자(reference judge)와의 일치는 실패한다. τ=1에서 173개 중 43개를 79.1% 정밀도로 통과시키지만, 그중 16개는 기준 판정이 한 번도 흔들리지 않는 술어였고(해당 구간 100%), 실제로 흔들리는 27개에서는 66.7%(Wilson 47.8~81.4)로 기저율 62.2% 대비 4.4pp 상승에 그친다. 더 결정적으로, 보정 구간별 일치도는 29.6%에서 76.7%까지 단조 상승하는데 같은 구간의 실제 결정가능 비율은 55.6, 75.0, 62.8, 62.3, 79.1%로 전혀 움직이지 않는다. 이 게이트는 재현가능성을 측정하면서 검사가능성으로 읽은 것이다. 판정자가 패널과 같은 추정기 집단에서 뽑히므로 패널의 사각지대를 그대로 물려받기 때문이다. 그래서 CoVer의 2단계는 모델에게 아무것도 더 묻지 않는다. Synthesize가 술어를 액션 레코드에서 읽는 명명된 사실 슬롯과 그 위의 결정 규칙 두 가지 산출물로 바꾸고, 모델은 슬롯을 채우며 코드가 규칙을 평가한다. 허용되는 필드는 인프라가 생성하고 에이전트가 쓸 수 없는 증명된 필드뿐이다. 에이전트가 직접 쓰는 customer_consent_logged 같은 필드를 읽는 검사는 에이전트가 자기 자신에게 동의한 것만 확인하므로, 상호확증이 가장 자신 있게 통과시키는 그 술어를 CoVer는 거부한다. 필드가 없거나 검사가 예외를 던지면 승인하지 않고 에스컬레이션한다(fail closed). 게이트는 구조(Structure), 근거성(Groundedness), 불변성(Invariance), 민감성(Sensitivity) 네 가지다.
에이전트 규칙 집합 73개 술어와 자체 제작한 합성 액션 레코드 36개에서 평가한 결과, 게이트는 실제 신호를 담지만 충분하지는 않다. 불변성 요구를 절반 일치에서 완전 일치로 조이면 정밀도가 66.7%에서 85.0%로 오르고(기저율 67.1%), 만장일치를 통과한 7개 오결정가능 중 5개를 걸러낸다. 오결정가능 1개당 승인 술어는 6.7개로 만장일치의 5.9개보다 낫다. 시드한 절반에서 고른 동작점을 나머지 절반에서 확인하면 10개를 90.0% 정밀도로 승인하고 오결정가능은 1개인데, 만장일치는 19개를 89.5%로 승인하며 오결정가능이 2개다. 다만 판정자 호출을 27.4%만 줄인다(만장일치는 56.2%). 이유도 밝힌다. 불변성 검사는 레코드 하나를 중립적으로 다시 쓸 때 추출기가 같은 값을 내는지만 보고, 증거가 명시적인 레코드와 간접적인 레코드 사이에서 슬롯이 같은 것을 뜻하는지는 보지 않는다. 추출을 5번 샘플링해 가장 불안정한 읽기로 채점하는 대안도 결정가능과 판단을 우연 수준으로만 분리했다(AUC 0.42~0.48, 게이트에 도달한 20개 술어). 두 클래스의 중앙값 술어는 완벽하게 자기일관적이다. 즉 추정기는 자기가 내리는 판단에 대해 확신이 없어서가 아니라 매번 같은 판단을 내린다. 개입(intervention)이 할 수 없는 일도 명시된다. 검사가 근거 있고 민감하고 불변해도 술어가 요구하는 일부만 검증할 수 있다. 한 에이전트 의무가 세 개의 당위 절을 담고 있는데 그 규칙은 하나만 커버하는 식이다. 충실성(faithfulness)을 확립하려면 판정자를 다시 불러들여야 한다.
개발자에게 이 논문이 주는 실무 지침은 분명하다. LLM-as-judge를 가드레일이나 정책 준수 검사에 쓰면서 '어려운 건 에스컬레이션한다'는 완화책을 두고 있다면, 그 에스컬레이션 결정 자체를 모델의 자기 보고에 맡기지 마라. 과잉주장된 술어는 에스컬레이션되지 않으므로, 완화 장치가 가장 필요한 지점에서 조용히 꺼진다. 라우팅 판단은 모델에게 묻는 능력이 아니라 검증기가 구성해야 하는 경계다. 실무적으로 확인할 것은 세 가지다. 검사가 읽는 필드를 에이전트가 쓸 수 있는지, 그 필드에 개입했을 때 검사 결과가 움직이는지, 레코드를 결정적으로 다시 써도 결과가 유지되는지. 그리고 루브릭을 더 상세하게 써서 모델 간 합의를 끌어올리는 것으로 문제를 해결하려 하지 마라. 이 논문의 측정에 따르면 그렇게 얻은 합의는 정답률과 무관하며, 어떤 예시를 넣느냐에 따라 결과가 달라지는 추첨에 가깝다.
저자들이 밝힌 한계는 다음과 같다. 에이전트 코퍼스가 좁다. 배포된 크레딧 에이전트 하나에서 나온 20개 규칙 계열, 73개 술어이고, 과잉주장 비율은 그중 24개 진짜 판단 술어에 의존하므로 Wilson 95% 구간이 약 35pp에 이른다. 방향성은 견고하지만 크기는 그렇지 않다. 규제 코퍼스의 정답 레이블도 LLM이 부여한 프록시이며, 정답이 필요 없는 불일치 지표를 앞세우고 53개 블라인드 사람 레이블로 복제해 이를 완화했다. 개입 평가는 저자들이 직접 만든 합성 액션 레코드 36개에 기대고, 자기일관성 널 결과는 게이트에 도달한 20개 술어에 한정된다. 위협 모델은 에이전트가 정렬되지 않았을 수는 있어도 자기 검증기를 공격하지는 않는다고 가정하며, 술어 자체를 적대적으로 작성하는 경우는 범위 밖이다. 부록 E에 여섯 가지 한계가 더 있다.