규칙은 다섯 개뿐이었는데, 왜 서른세 개 출력이 전부 달랐을까
배치 파이프라인에서 저가 모델 티어에 정형화된 출력을 맡기고 있는데 결과물 포맷이 자꾸 흔들려서 결국 상위 티어로 승급시키는 걸 기본 대응으로 삼고 있다면, 이 논문이 그 판단을 다시 보게 만듭니다. 핵심 주장은 단순합니다. 포맷이 흔들리는 원인을 모델 등급 부족으로 단정하기 전에, 애초에 그 실패가 규칙이 너무 많아서인지 아니면 포맷을 모델에게 맡겨서인지부터 구분해야 한다는 것이고, 후자라면 상위 티어로 올리는 것보다 코드가 포맷을 대신 소유하는 쪽이 구조적으로 더 쌉니다.
규칙 다섯 개짜리 사고
논문이 출발점으로 삼는 것은 저자들이 직접 운영하는 Slack 연동 뉴스 다이제스트 파이프라인에서 실제로 벌어진 사고입니다. 같은 중간 등급 모델을 쓰는 워커 33개가 동시에 실행되면서 전부 동일한, 그것도 세 개에서 다섯 개 사이의 짧고 고정된 지시를 받았습니다. quality_gate 필드를 채우고, status 필드를 채우고, 결과는 한 줄로만 반환하라는 지시였습니다. 사후에 33개 출력을 전부 열어보니 구조적 불일치가 네 갈래로 동시에 나타났습니다. 하나의 불리언 값이어야 할 quality_gate가 문자열 "passed", 파이썬·JSON의 True, 판정을 안에 품은 중첩 객체, 숫자 1, 빈 값 이렇게 다섯 가지 모양으로 흩어졌습니다. 완료를 뜻하는 status는 ok, done, processed, completed로 최소 네 가지 다른 문자열이 서로 같은 뜻인 척 섞여 나왔습니다. 워커 중 최소 한 곳은 직접 손으로 쓴 JSON 문자열이 이스케이프 오류로 파싱조차 되지 않았고, 또 다른 한 곳은 한 줄만 반환하라는 명시적 지시를 어기고 설명 산문을 앞에 붙였습니다.
이 사고가 흥미로운 이유는 규칙 개수 관점에서 설명이 안 된다는 데 있습니다. 지시 사항이 누적되면서 지시끼리 충돌해 준수율이 무너진다는 것이 최근 instruction-following 저하 연구의 주된 설명 틀이고, 실제로 24개 지시를 쌓은 벤치마크에서는 준수율이 96%에서 20%까지 떨어지기도 합니다. 하지만 이 사고의 규칙 수는 세 개에서 다섯 개로 작았고 늘어나지도 않았습니다. “불리언 값 하나를 내라”는 지시는 다른 지시와 딱히 충돌할 이유가 없는 단일 요구입니다. 그런데도 서른세 번의 독립 호출에서 같은 신호가 다섯 가지 서로 다른 방식으로 인코딩됐습니다. 저자들은 이것을 규칙 충돌이 아니라, 출력 공간 자체에 남아 있던 미규정 자유도의 문제로 읽습니다. “불리언 값을 내라”는 지시는 그 값이 어떤 표면 형태를 가져야 하는지는 아무것도 제약하지 않았고, 모델은 매번 다른 형태를 골라도 지시를 어긴 게 아니었던 셈입니다.
규칙 개수와 포맷 자유도, 서로 다른 두 개의 축
모델이 표면 인코딩을 얼마나 쥐고 있는지를 세 지점으로 나눈 개념도입니다. 실측이 아니라 이 논문이 제안하는 분류 체계를 시각화한 것입니다.
여기서 논문의 첫 번째 기여가 나옵니다. 지금까지 지시 준수 저하를 다룬 연구는 대체로 “규칙이 몇 개 쌓였는가”라는 하나의 축만 움직였습니다. 저자들은 여기에 “포맷을 누가 소유하는가”라는 별개의 축을 추가합니다. 이 축에는 세 지점이 있습니다. 첫째, 모델이 자연어 지시만 받고 표면 형태를 알아서 정하는 자유 산문 지점입니다. 위 사고가 정확히 여기서 벌어졌고, 수학 문제 벤치마크에서 과제 정답률 85%와 출력 형식 정답률 0%가 동시에 나온 사례도 이 지점의 위험을 보여줍니다. 둘째, 디코딩 시점에 문법이나 스키마 마스크를 씌우는 지점입니다. 준수율은 확실히 오르지만 공짜가 아닙니다. 프레임워크마다 준수율과 스키마 커버리지와 생성 품질이 서로 트레이드오프 관계에 있고, 문법적으로 완벽해도 실제 환경에 존재하지 않는 대상을 가리켜 의미적으로는 틀릴 수 있습니다. 스키마 키 이름 자체가 또 다른 자연어 지시 채널처럼 작동해 모델별로 다르게 반응한다는 한계도 있습니다. 셋째, 이 논문이 제안하는 지점으로 모델은 내용만 내고 직렬화는 전부 모델 바깥의 결정론적 코드가 맡습니다.
두 축을 분리하면 사고가 왜 규칙 개수 이론으로 설명이 안 됐는지가 정리됩니다. 사고는 자유 산문 지점에서, 그것도 규칙 개수가 작고 고정된 상태에서 벌어졌습니다. 지시 충돌 이론도 유한한 진행 추적 용량 이론도 이 조합을 온전히 포섭하지 못합니다. 다만 저자들은 이 해석의 지위를 정직하게 한정합니다. 이것은 하나의 사고에 대한 그럴듯한 해석이지 증명된 인과 메커니즘이 아니며, 규칙 충돌 이론과 상호 배타적이지도 않다고 못 박습니다.
코드가 포맷을 소유하게 만드는 패턴과, 그게 언제 더 싼가
두 번째 기여는 재사용 가능한 설계 패턴입니다. 모델은 원시 텍스트나 짧은 라벨 같은 의미 콘텐츠만 내고 최종 직렬화 형식은 절대 만들지 않는 워커 계약, 닫힌 집합 값으로 코드가 매핑하고 매핑 불가능하면 재배포를 트리거하는 열거형 정규화, 표준 시리얼라이저가 JSON이나 구분자 형식을 렌더링하는 코드 소유 직렬화, “한 줄만 반환하라” 같은 요구를 생성 후 코드가 정규식으로 검사하는 결정론적 품질 게이트, 그리고 실패한 항목만 같은 티어로 재배포하는 표적 재배포까지 다섯 요소로 이뤄집니다. 이 패턴의 핵심은 포맷 제약을 모델에게 더 강하게 반복해서 요청하는 게 아니라, 애초에 모델이 해야 할 일에서 완전히 들어낸다는 데 있습니다.
티어 승급(전략 E)과 코드 소유 검증 후 재배포(전략 V)의 항목당 기대 비용을 비교한 그래프입니다. 실측 데이터가 아니라 논문의 수식에서 직접 계산한 곡선입니다.
여기서 논문은 비용을 수식으로 정리합니다. 저가 티어로 자유 산문 호출을 했을 때 포맷 계약을 완벽히 만족할 확률을 $p_{cheap}$이라 하면, 실패 시 상위 티어로 올리는 전략(전략 E)의 항목당 기대 비용은 저가 호출 비용에 실패 확률만큼의 고가 호출 비용을 더한 값입니다. 저가 호출은 에스컬레이션 여부를 판단하려면 어차피 먼저 내야 하는 비용이라는, 기존 LLM 캐스케이드 이론에서 가져온 구조적 사실이 여기 그대로 이어집니다. 반대로 코드 소유 검증 후 같은 티어로 재배포하는 전략(전략 V)은 검증기 비용이 사실상 0에 가까운 문자열 연산이라서, 재배포된 콘텐츠 전용 호출의 성공 확률 $p’_{cheap}$만 있으면 됩니다. 두 전략을 나란히 놓고 정리하면, 전략 V가 더 싸지는 조건은 재배포로 드는 추가 저가 티어 지출이 에스컬레이션으로 드는 고가 티어 지출보다 작을 때입니다. 실전에서 티어 간 비용 배율이 3배에서 5배 이상으로 큰 경우가 흔하다는 점을 감안하면, 기준 포맷 준수율이 1에 이미 가깝지 않은 이상 이 부등식은 상당히 쉽게 전략 V 쪽으로 기웁니다. 반대로 포맷 실패가 애초에 드물다면 에스컬레이션의 기대 비용 자체가 줄어들어 두 전략의 차이는 무의미해집니다.
논문은 여기서 유혹적인 세 번째 선택지도 명시적으로 배제합니다. 상위 모델로 올려서 그 모델이 스스로 포맷을 점검하게 하는 방안입니다. 비용 면에서는 전략 E와 다를 게 없고, 더 근본적으로는 LLM 심판이 자기가 생성한 출력을 체계적으로 우대한다는 기존 연구 결과 때문입니다. 구조화된 다차원 평가 프로토콜을 써도 이 편향은 평균 31.5%만 줄어들 뿐 사라지지 않습니다. 그래서 검증기는 반드시 코드여야 하고, 이 성질은 모델이 좋아진다고 해서 저절로 해소되지 않는다고 저자들은 강조합니다.
검증되지 않은 주장을 검증 가능하게 만드는 실험 설계
저가·중간·프리미엄 세 티어와 자유 산문·스키마 힌트·코드 소유 검증 세 조건을 교차시킨 9칸짜리 실험 설계입니다. 논문은 이 설계를 제안할 뿐 직접 실행하지는 않았습니다.
세 번째 기여는 이 모든 주장을 검증할 실험 프로토콜입니다. 규칙 개수를 사고 당시와 비슷하게 세 개에서 다섯 개로 고정한 채, 세 모델 티어와 세 포맷 자유도 조건을 교차시켜 9개 셀을 만들고 각 셀을 최소 30회씩, 프롬프트와 모델 체크포인트를 바꿔가며 반복합니다. 측정 지표는 다섯 가지입니다. 같은 필드가 몇 가지 형태로 흩어지는지를 보는 형태 엔트로피, 한 줄 계약 위반율, 손으로 쓴 JSON의 파싱 실패율, 포맷과 독립적으로 측정한 콘텐츠 정답률, 그리고 실제로 청구된 단위 기준의 성공 항목당 실현 비용입니다. 특히 넷째 지표는 반드시 사전에 정답이 정해진 항목이나 사람 채점으로 확보해야 하며, LLM 심판으로 대체해서는 안 된다고 못 박습니다. 자기 우대 편향이 바로 이 비교를 오염시키기 때문입니다. 이 설계로 확인하려는 것은 규칙 개수가 고정된 상태에서도 포맷 자유도 축이 실제로 유의미한 차이를 만드는지, 그리고 비용 모델의 우세 조건이 실측 데이터와 맞아떨어지는지입니다. 사고의 두 가지 경쟁 해석, 즉 출력 공간의 자유도 문제인지 규칙 충돌 문제인지를 완전히 가르려면 규칙 개수까지 함께 바꾸는 별도 보조 실험이 필요하다고 저자들은 선택지 확장 가능성을 열어둡니다.
회사·사회·과학에 남기는 것
이 논문이 가장 실용적으로 쓰이는 지점은 회사 내부 스킬 설계 규칙에 정량적 근거를 붙였다는 것입니다. 어느 배치 스킬에 코드 검증 게이트가 필요하고 어느 스킬은 프롬프트만으로 충분한지를 가르는 기준을, 지금까지는 사고 경험칙으로만 세워뒀다면 이제는 티어 비용 배율과 기준 준수율이라는 두 변수로 판단할 수 있습니다. 더 넓게 보면, 저가 모델 티어에서도 코드 검증 계층 하나만 더하면 고가 모델 수준의 출력 신뢰성을 얻을 수 있다는 논리는, 정밀한 포맷을 요구하는 자동화 서비스의 운영 비용을 낮춰 그런 서비스에 대한 접근성 격차를 줄일 근거로도 읽힙니다. 과학적으로는 instruction-following 저하를 “규칙이 몇 개인가”라는 하나의 축으로만 재던 관행에, “포맷을 얼마나 자유롭게 두는가”라는 직교하는 축을 하나 더 세웠다는 점이 새롭습니다. 규칙 개수를 다룬 기존 연구들과 겹치지 않는 저하 축을 명명한 것 자체가, 향후 실험이 무엇을 통제하고 무엇을 변화시켜야 하는지를 분명하게 갈라줍니다.
이 논문이 하지 않은 것
저자들 스스로 이 논문을 분석적이고 입장을 세우는 논문이라 부릅니다. 통제된 다중 티어 준수율 측정은 실행되지 않았고, 비용 모델의 어떤 파라미터도 실제 데이터로 추정되지 않았습니다. 사고 사례는 하나의 파이프라인, 하나의 시점, 하나의 모델 등급에서 나온 33개 출력일 뿐이고 티어 간 비교는 애초에 담고 있지 않습니다. 규칙 충돌보다 출력 공간의 자유도가 더 나은 설명이라는 주장도 증명이 아니라 논증이며, 두 메커니즘이 함께 작용했을 가능성도 배제하지 않습니다. 비용 모델에 등장하는 확률 변수들 역시 정성적으로만 논의될 뿐 실제 값은 추정되지 않았습니다. 요컨대 이 논문이 준 것은 답이 아니라, 답을 구할 수 있는 형태로 다듬어진 질문과 그 질문에 답할 실험 설계입니다.
논문 상세 페이지는 Hugging Face에서 확인할 수 있습니다.