크기는 그대로인데, 쌍둥이만 늘었습니다: 스킬 등록부의 중복 효과
크기는 그대로인데, 맨 앞 점수만 조용히 떨어집니다. 스킬 라우터의 품질을 지켜보는 국내 클라우드·AI 엔지니어라면 이 글이 여러분을 위한 것입니다. 오늘 저희 연구팀이 쓴 논문을 소개합니다. 이 논문은 등록부 크기의 효과와 중복 덩어리의 효과를 따로 떼어 봅니다. 저희 에이전트의 스킬 등록부는 2주 만에 1,600여 개에서 2,234개로 커졌습니다. 늘어난 것의 대부분은 새 기능이 아니었습니다. 밤마다 큐레이터가 다시 써서 기존 스킬 위에 겹친 비슷한 문서였습니다.
글의 핵심 개념을 형상화했습니다.
쉽게 말하면
학생 2,000명의 학교를 생각해 보겠습니다. 선생님은 그중 한 명을 찾아야 합니다. 명부의 등번호가 정답입니다.
문제는 이 학교 행정실이 밤마다 명부를 다시 쓴다는 것입니다. 다시 쓸 때마다 기존 학생과 똑같은 얼굴, 똑같은 등번호의 학생이 하나씩 조용히 늘어난다고 보시면 됩니다. 논문의 용어로는 근접 중복 덩어리라고 부릅니다. 학교 크기는 그대로인데, 쌍둥이 수는 늘어났습니다.
채점 규칙이 엄격하면, 맨 앞에 부른 학생의 등번호가 정답과 정확히 일치해야 맞습니다. 정답 학생의 쌍둥이가 셋이면, 맨 앞에서 진짜를 부를 확률은 4분의 1입니다.
쌍둥이가 하나면 2분의 1, 둘이면 3분의 1으로 줄어듭니다. 복사가 늘수록 확률은 내려갑니다.
채점 규칙이 느슨하면, 쌍둥이 누구 하나만 다섯째 안에 들어와도 맞입니다. 쌍둥이 넷이 다섯째 안에 함께 들어 있으면, 맨 앞에 누가 서든 무관합니다. 그래서 맨 앞 점수는 떨어지고 다섯째 안 점수는 그대로인 것입니다.
그런데 다른 아이를 먼저 부른 일은 둘로 갈립니다. 진짜의 쌍둥이를 먼저 불러도 일은 끝납니다. 얼굴은 비슷하지만 등번호가 다른, 완전히 다른 학생을 먼저 부르면 일은 끝내지지 않습니다. 논문의 용어로는, 채널 A는 정답 학생이 아예 다섯째 안에 못 든 일, 채널 B는 들었는데 다른 학생을 먼저 부른 일입니다. B는 다시 둘로 갈립니다. 쌍둥이를 먼저 부른 무해한 B1, 그리고 다른 학생을 먼저 부른 악성 B2입니다. 중복 효과는 이 B1의 몫입니다.
크기가 고정된 상태에서 맨 앞 정확도(top-1) 오류를 검색 실패(A)와 랭킹 충돌(B)으로 나누고 충돌을 무해한 쌍둥이 반환(B1)과 악성 오답(B2)으로 다시 나눈 개념도입니다. 논문의 개념적 예시이며 실측 값이 아닙니다.
NotebookLM이 소스를 종합해 생성한 인포그래픽입니다.
무엇을 해봤나
이 비유는 가정이 아닙니다. 저희 스킬 등록부는 2주 만에 1,600여 개에서 2,234개로 실제로 커졌습니다. 원인은 밤마다 돌아가는 LLM 큐레이터가 스킬 문서를 다시 쓰는 일입니다. 다시 쓴 문서는 임베딩 거리로 재면 기존 스킬 위에 겹칩니다. 새 기능은 느리게 늘고 쌍둥이 덩어리는 빠르게 불었습니다.
쌍둥이의 기준은 코사인 유사도가 τ 이상인 쌍입니다. 프로토콜의 설계값은 0.95입니다. 유사성은 임베딩 공간에서 잴 뿐, 낱말 일치로 맞추지 않습니다. 자연어 문서에서는 낱말 해싱만으로는 근접 복사를 잡기 어렵다는 것을 이전 연구들이 이미 보여 줬기 때문입니다.
이틀 전에 나온 논문은 크기를 움직였습니다. 조성을 그대로 둔 채, 등록부가 커지면 맨 앞 점수가 어떻게 떨어지는지 보이고 기록된 시점 하나에서 숫자 둘의 생존 모델을 보정했습니다. 기록된 시점은 2,029개, 맨 앞 정확도 48.9퍼센트, 다섯째 안 회수율(Recall@5) 86.7퍼센트입니다.
그 시점의 서명은 특이합니다. 512개에서 출발해 맨 앞 정확도는 26.2포인트 떨어졌고 다섯째 안 회수율은 0.0포인트였습니다.
오류 분해도 같습니다. 랭킹 충돌이 약 38포인트, 검색 실패가 약 13포인트였습니다. 충돌이 검색 실패의 약 2.9배입니다.
오늘 논문은 실험을 뒤집습니다. 크기를 고정하고 조성을 움직입니다. 조성을 고유 기능 커버리지와 근접 중복 덩어리로 나누고 맨 앞 점수 하락의 몇 퍼센트가 쌍둥이 덩어리의 몫인지 묻습니다.
논문의 기여는 다섯 가지로 나눕니다. 첫째, 크기에 조성을 더한 모델입니다. 둘째, 정답의 쌍둥이가 m개면 맨 앞 승률이 1/(m+1)로 빠진다는 닫힌형 결과입니다. 셋째, 클러스터 인지로 채점하는 한 줄 수정입니다. 넷째, 손익분기 조건이 있는 중복 제거 정책입니다. 다섯째, 반증 기준까지 적어 둔 주입 프로토콜입니다. 마지막 항목의 측정은 재현을 위한 설계이며 논문에 보고되지 않습니다.

나온 결과
가장 단단한 결과부터 봅니다. 정답 스킬과 쌍둥이의 품질이 같고 정답의 클러스터가 가장 잘 검색됐다고 가정합니다. 이 전제 아래 진짜가 맨 앞에 설 확률은 정확히 1/(m+1)입니다. 노이즈의 크기와 무관합니다. 쌍둥이 셋이면 4분의 1, 25퍼센트입니다.
쌍둥이 덩어리가 다섯째 안에 다 들어 맞으면, 다섯째 안 회수율은 쌍둥이 때문에 영향받지 않습니다. 쌍둥이가 넷까지, 즉 m+1이 다섯 이하이면, 그렇다는 것입니다.
논문의 대칭 결과입니다. 정답 클러스터가 최상위 검색 클러스터라는 전제 아래, 정답은 m+1명의 동질 멤버 가운데 맨 앞에 불려야 이기므로, 복사가 늘수록 1/(m+1)로 떨어집니다. 쌍둥이가 넷(m=4)까지 클러스터가 다섯째 안에 다 들어가므로 다섯째 안 회수율(Recall@5)은 영향을 받지 않습니다. 해석적 모델이며 실측 데이터가 아닙니다.
즉, 사람 말로는 쌍둥이만 늘면 맨 앞만 빠지고 다섯째 안은 그대로라는 뜻입니다.
무해한 쌍둥이 부름이 맨 앞 오답의 얼마나 되는지도 모았습니다. 쌍둥이는 완벽히 같은 것은 아닙니다. 품질 차이가 조금 있으면, 모델은 정답이 각 쌍둥이를 이길 확률을 따로 계산해 곱합니다. 쌍둥이가 셋인 전형적인 중복 클러스터에서는, 맨 앞 오답의 81.5퍼센트가 쌍둥이가 먼저 불린 일이라고 계산됩니다.
쌍둥이가 완전히 같다면 확률은 더 내려갑니다. 넷 중 셋이 쌍둥이라서 75퍼센트입니다. 기록된 시점의 오류 분해에서 랭킹 충돌은 약 38포인트였습니다. 복사의 존재 자체가 충돌의 큰 부분을 차지한다는 것이 모델의 결론입니다.
즉, 사람 말로는 선생님의 눈이 아니라, 쌍둥이의 수에 점수를 깎인 셈입니다.
모델은 세금표도 냅니다. 기록된 운용 시점에서 중복 밀도가 오를수록 맨 앞 정확도가 빼앗깁니다. 중복 밀도 60퍼센트에서는, 쌍둥이끼리 어떻게 부딪히느냐에 따라 7에서 14포인트 떨어집니다.
중복 세금표입니다. 기록된 운용 시점(N=2,029, r=0.867)에서 중복 밀도 60퍼센트는 엄격한 맨 앞 정확도(top-1)를 41.1퍼센트(γ=0.5) 또는 34.6퍼센트(γ=1.0)로 끌어내립니다. 쌍둥이당 충돌 배율 γ=1.0이 0.5보다 세금 기울기를 두 배로 가파르게 만듭니다. 해석적 모델이며 실측 데이터가 아닙니다.
즉, 사람 말로는 같은 크기의 등록부라도, 쌍둥이가 쌓인 등록부는 맨 앞 점수에 세금을 냅니다.
반대로, 중복은 부담만이 아닙니다. 클러스터 인지로 채점하면 쌍둥이 덩어리는 경쟁자 하나로 셈됩니다. 논문의 용어로는 유효 크기라고 할 수 있다.
모델에서는, 중복 밀도 30퍼센트, 쌍둥이 셋이면 유효 크기가 약 1,572가 됩니다.
예측된 클러스터 인지 맨 앞 정확도는 약 55.6퍼센트입니다. 기록된 엄격한 값은 48.9퍼센트였습니다. 약 6.7포인트의 차이는 쌍둥이 덩어리가 만든 점수 손실인 셈이다.
이 조건에서 물리적으로는 2,510개까지 커져도, 유효 크기는 50퍼센트 브레이크포인트 아래를 유지합니다. 중복 밀도가 크기에 대한 여유를 사는 것입니다.
즉, 사람 말로는 같은 학교에서, 쌍둥이를 어떻게 채점하는지에 따라 맨 앞 점수가 약 7포인트 달라집니다.
시험지 쪽에도 손이 갑니다. 고정된 63문제 중 21문제가 밤마다의 재작성으로 정답 스킬을 잃어, 유효 문항은 42문제입니다. 정답 스킬에 쌍둥이가 생기면, 엄격한 채점은 기능이 맞는 라우팅을 틀린 것처럼 깎습니다. 논문의 용어로는 soft-invalid라고 부른다. 이런 문항을 위한 감사 규칙을 논문에 미리 적어 둡니다. 정답 스킬의 임베딩이 최근 다른 항목과 τ 경계를 넘었다면, 그 문항은 클러스터 인지로 다시 채점한다는 규칙입니다.

그래서 무엇을 바꾸면 되나
먼저 채점자를 고칩니다. 한 줄이면 됩니다. 등번호가 정답과 정확히 일치해야 맞던 규칙을, 정답이거나 쌍둥이 클러스터의 멤버이면 맞으로 바꿉니다. 이 한 줄이 B1 채널을 엄격한 오류에서 빼 줍니다. 무해한 쌍둥이는 더는 틀린 점수를 받지 않습니다. 악성 B2와 못 찾은 A는 그대로 틀립니다.
다음으로 등록부 자체를 고칩니다. 쌍둥이 m개의 클러스터를 대표 하나로 합치면, 그 클러스터에 닿는 요청의 맨 앞 승률이 1/(m+1)에서 약 1로 올라갑니다. 한 결정당 이익은 (m/(m+1)) × q × λ입니다. q는 클러스터에 닿는 요청의 비율이고 λ는 맞는 결정 하나당 가치입니다. H번의 결정에 걸친 누적 이익이 일회성 합병 비용 Cc를 넘으면 합칩니다. Cc는 큐레이션, 재검증, 비동질 스킬 합병의 회귀 위험을 더한 일회성 비용입니다.
정책은 단순합니다. 쌍둥이가 둘 이상이고 요청 비중이 충분한 클러스터를 합칩니다. 이틀 전 논문의 완화 사다리와 경쟁하는 것이 아니라 돕습니다. 먼저 네임스페이스 게이트, 그다음 사전 필터, 그리고 설명 문구 정리의 사다리입니다. 게이트는 경쟁의 범위를 줄이고 합병은 쌍둥이 덩어리를 원천에서 없앱니다.
합치가 값어치 있는지, 비용 채널 셋이 답합니다. 첫째, 인덱스 조회 비용은 크기가 커져도 거의 평탄합니다. 등록부 크기는 비용의 병목이 아닙니다. 둘째, 임베딩 계산은 모든 결정의 뜨거운 경로 위에 있습니다. 셋째, 프롬프트 캐시 무효화입니다. 큐레이터가 보이는 스킬 문서를 다시 쓸 때마다, 캐시된 요청 접두사가 깨집니다. 쌍둥이 덩어리는 크기뿐 아니라 다시 쓰는 빈도로도 비용을 냅니다.
주입 프로토콜도 반증 기준을 적어 둡니다. 엄격한 점수가 중복 밀도와 함께 떨어지고 클러스터 인지 점수는 2포인트 이내로 평평하면, 오류의 대부분은 B1입니다. 클러스터 인지 점수가 밀도 0.10당 2포인트 이상 기울면, 악성 B2 채널이 있다는 반증입니다. 요청당 비용이 크기에 평탄한데 다시 쓰기 빈도에만 오르면, 캐시 무효화 채널이 확인됩니다.
회사에는, 등록부를 커버리지로 키울 길이 생깁니다. 2,234개는 밤마다의 자동 재작성이 만든 숫자입니다. 쌍둥이 덩어리를 정리하면, 물리적으로는 더 큰 등록부도 유효 크기는 작게 둘 수 있습니다. 모든 무인 실행마다 납히는 라우팅 세가 가벼워집니다.
사회에는, 값싸게 확인하는 방법이 남습니다. 수천 개 스킬 라이브러리는 이제 에이전트 운용의 표준입니다. 주입 방법과 손익분기 조건이 있으면, 작은 팀도 등록부 위생을 구전이 아니라 잴 수 있는 공학으로 다룹니다.
과학에는, 크기와 조성의 분리가 남습니다. 라우팅 스캐일링 곡선은 그동안 크기만의 함수로 읽혔습니다. 쌍둥이 덩어리를 독립 변수로 떼어 낸 모델과, 1/(m+1) 대칭 결과는 그 첫 분해입니다. 충돌 배율 γ의 실제 값은 프로토콜 측정으로 정해집니다.

못 믿을 부분

이 글의 숫자 가운데, 기록된 값을 빼면 모두 모델의 예측입니다. 기록된 시점 하나, 2,029개에서 보정한 생존 모델 위에 조성을 더한 확장부는 가정에 기대어 붙였습니다. 데이터에 맞춰 잡은 것이 아닙니다. 논문도 이 점을 분명히 적어 둡니다.
대칭 결과도 가정에 기대는 부분입니다. 닫힌형 1/(m+1)은 쌍둥이끼리 교환 가능하면 성립하지만, 품질 차이 버전은 가우시안 노이즈와 쌍둥이 간 쌍별 독립을 전제합니다. 쌍둥이끼리 비슷한 문서를 공유하면, 실제 헷갈림은 모델보다 날카롭고 하락은 빠릅니다.
τ 값 0.95는 설계 상수입니다. 재어 낸 임계값이 아닙니다. strict 채점과 클러스터 인지 채점 중 어느 쪽이 맞은 채점인지는 하네스마다 다릅니다. 쌍둥이가 파라미터나 부작용 같은 미묘한 점에서 서로 다르면, 악성 B2 채널은 작지 않을 수 있습니다. 프로토콜의 두 번째 반증 기준은 바로 그 경우를 시험하기 위한 것입니다.
시험지도 작습니다. 63문제짜리 시험지에서는, 이항 표준 오차가 약 6.3포인트입니다. 그래서 프로토콜은 5단계 밀도 스윕과 사례 단위 부트스트랩에 기대는 설계입니다.
측정도 하나의 등록부에 한정됩니다. BM25와 임베딩을 섞은 하나의 하이브리드 라우터, 하나의 하네스입니다. 공개 저장소에는 백만 개 단위의 스킬 파일이 있고 중복을 잡아 줄 컴파일러나 타입 시스템은 없습니다. 그러나 이 글의 숫자는 하나의 학교에만 적용됩니다.
이식되는 것은 형태입니다. 크기가 고정돼도, 맨 앞 점수 하락의 일부는 품질의 부족이 아니라 복사의 존재에서 온다는 것입니다. 쌍둥이를 틀린 것으로 치는 채점은, 실제로 없는 점수 하락을 만듭니다. 이 형태는 매개 변수가 바뀌어도 사라지지 않습니다.
논문 상세 페이지는 여기에서 볼 수 있습니다: The Redundancy Effect: Decomposing Skill-Registry Size from Duplicate Mass in Router Accuracy of a 2,200-Skill Agent Harness
본문에서는 모델 계산 값을 한 자리수까지 반올림했습니다. 기록된 값은 2,029개 시점의 맨 앞 48.9퍼센트, 다섯째 안 86.7퍼센트와, 512개 비교점뿐입니다. 나머지는 기록된 매개 변수로 계산된 모델 예측이며 주입 프로토콜의 측정은 논문에는 보고되지 않습니다.
NotebookLM이 소스를 종합해 생성한 인포그래픽입니다.