DecoEvo - Score-Decoupled Co-Evolution of Solver and Rubric-Generator Skills in Text Space

🏷️ 논문 LLM AI평가

J. Chen, Z. Song, J. Liu, S. Zhou, H. Wu, H. Shi, C. Zhou, H. Li, X. Yang, D. Zhu, G. Jiang, H. Wan, and X. Zhao, "DecoEvo: Score-Decoupled Co-Evolution of Solver and Rubric-Generator Skills in Text Space," arXiv:2607.25675, 2026.

모델 가중치를 건드리지 않고 성능을 올리는 방법이 있습니다. 프롬프트나 스킬 문서 같은 외부 자연어 산출물만 고치는 것입니다. 텍스트 공간 최적화(text-space optimization)라고 부릅니다. 모델을 블랙박스로 둘 수 있고, 최적화된 결과물이 사람이 읽을 수 있는 문서로 남는다는 장점이 있습니다.

문제는 무엇을 기준으로 고칠지입니다. 기존 방법들은 평가 기준을 고정해 둡니다. 의료 상담이나 창작처럼 답이 여럿인 과제에서 이게 병목이 됩니다. 루브릭이 측정하는 항목에서 풀이자가 좋아지고 나면, 루브릭이 빠뜨린 차원은 최적화 신호에 영영 안 잡힙니다.

그러면 루브릭도 같이 진화시키면 되지 않을까요. 여기서 함정이 하나 기다립니다.

decoevo-paradigms.png

저자

칭화대학, 중국과학원대학, 베이징대학, 그리고 알리바바 Qwen 사업부의 공동 작업입니다.

공동 1저자가 다섯 명입니다. 천장왕, Zixin Song, Junlin Liu, Shuaiyu Zhou, Haiyan Wu이고 전원이 Qwen 사업부 소속입니다. 대학원생들이 Qwen 팀에 붙어 함께 굴린 구조라 개별 저자보다 팀 단위 작업으로 읽는 편이 맞습니다.

교신저자는 칭화대 BNRist의 자오시빈이고, 시니어 저자로 완하이가 함께 이름을 올렸습니다.

저자 구성이 논문의 성격을 설명합니다. Qwen 사업부는 실제로 모델을 서비스하는 조직입니다. 가중치를 재학습하지 않고 블랙박스 상태로 성능을 끌어올리는 방법이 필요한 자리입니다. 동시에 그 최적화가 진짜 품질을 올린 것인지 아니면 자기 채점 기준만 느슨해진 것인지 구분해야 하는 자리이기도 합니다. 이 논문의 절반은 후자에 대한 방어책입니다.

배경

루브릭 기반 LLM 심사자는 기준 단위 피드백을 줍니다. 문제는 그 피드백이 루브릭에 적힌 차원에만 반응한다는 점입니다.

논문이 드는 예가 명료합니다. 의료 루브릭이 사실 정확성과 명료성은 강조하는데 금기 사항 경고를 빠뜨렸다고 해 봅시다. 그러면 안전성 면에서 확연히 다른 두 답변이 같은 점수를 받습니다. 풀이자는 측정되는 기준에만 과적합하고, 루브릭은 변별력을 잃습니다.

그래서 루브릭도 진화시키려 하면 새 문제가 생깁니다. 논문이 점수 결합 공진화(score-coupled co-adaptation)라고 부르는 것입니다.

풀이 스킬 \(s\)와 루브릭 생성 스킬 \(g\)가 있고, 학습 시점의 대리 지표가

\[J_D(s, g) = \frac{1}{|D|}\sum_{q \in D} S\!\left(q,\, r_q(s),\, R_q(g)\right)\]

라고 합시다. \(J_D\)가 올랐다는 사실은 두 가지 중 무엇도 뜻할 수 있습니다. 풀이자가 좋아졌거나, 생성기가 더 만족시키기 쉬운 루브릭을 뽑기 시작했거나. 총점만 봐서는 구분이 안 됩니다.

이건 식별 문제입니다. 그리고 방치하면 채점자와 풀이자가 서로 짜고 지표만 올리는 방향으로 함께 흘러갑니다. 고전적 공진화 시스템의 불안정성, 보상 과최적화와 같은 계열의 문제입니다.

어떻게 만들었나

DecoEvo의 답은 단순합니다. 생성기 업데이트에서 풀이자 총점을 아예 못 쓰게 막습니다.

논문은 이걸 정의로 못 박습니다. 생성기 업데이트가 점수 분리(score-decoupled)라는 것은, 제안과 수용 과정에서 질문·생성된 루브릭·응답 단위 점수·구조화된 감사 기록은 써도 되지만 \(J_D(s_t, g_t)\)\(J_D(s_t, g')\), 또는 그 차이를 생성기의 목적함수로는 쓰지 않는다는 뜻입니다.

그러면 생성기는 무엇을 보고 고쳐지느냐가 남습니다. 여기서 두 가지 감사(audit)가 들어옵니다.

decoevo-overview.png

안쪽 루프: 풀이 스킬

각 단계에서 풀이자가 배치를 풀고, 생성기가 질문별 루브릭을 만들고, 심사자가 기준별로 채점해 점수 분해와 실패 사유를 돌려줍니다. 선택된 실패들이 스킬 재작성기로 넘어가 재사용 가능한 진단으로 정리됩니다. 질문별 임시 처방을 덧붙이는 것이 아니라 원칙으로 압축하는 것이 핵심입니다.

후보 스킬 \(s'\)는 여백 \(\varepsilon > 0\)에 대해

\[J_{\mathcal{V}_s}(s', g_t) > J_{\mathcal{V}_s}(s_t, g_t) + \varepsilon\]

일 때만 수용됩니다. 같은 검증 질문과 캐시된 질문별 루브릭 위에서 짝지어 비교하므로, 루브릭 생성 노이즈와 스킬 편집 효과가 섞이지 않습니다. 통과 못 하면 정체 카운터가 올라가고, 이게 바깥 루프를 부르는 방아쇠가 됩니다.

바깥 루프: 구조 감사

첫 번째 감사는 루브릭이 무엇을 빠뜨렸는지 봅니다.

과제 계열별로 구조 감사 명세를 만드는데, 재료는 공개된 과제 설명과 평가 지침뿐입니다. 최적화 전에 고정되고 질문별 정답 루브릭은 절대 쓰지 않습니다. 예제별 전문가 감독이 아니라 과제 수준 사전지식이라는 위치입니다.

감사자는 명세와 질문, 생성된 루브릭만 받습니다. 풀이자의 응답도, 점수도 안 봅니다. 그리고 적정성 점수 \(u_q(g) \in [0,1]\), 근거 있는 논거, 수리 제안을 돌려줍니다. 논거는 구체적인 질문이나 루브릭 내용을 인용해 무엇이 빠졌거나 모호한지 설명해야 합니다.

바깥 루프: 준동점 대조 감사

두 번째 감사는 루브릭이 무엇을 구분하지 못하는지 봅니다.

각 탐침 질문에 대해 현재 풀이자가 \(L\)개의 확률적 롤아웃을 뽑고, 현재 루브릭으로 점수를 매깁니다. 그리고 점수가 거의 같은 쌍만 골라냅니다.

\[\mathcal{N}_q^t = \left\{(i,j) : 1 \le i < j \le L,\ \left|z_{q,i}^t - z_{q,j}^t\right| \le \tau_{\text{tie}}\right\}\]

여기서 점수는 오직 후보 쌍을 찾는 데만 쓰입니다.

감사 절차가 이 논문에서 가장 공들인 부분입니다. 두 단계로 나뉩니다. 먼저 감사자는 질문과 두 응답만 봅니다. 루브릭도 점수도 안 보여 줍니다. 그 상태에서 어느 쪽이 나은지 또는 동등한지 라벨을 붙이고 이유를 씁니다. 이 선호를 고정한 다음에야 생성된 루브릭과 기준별 점수 분해를 받습니다. 그리고 왜 이 루브릭이 그 차이를 못 잡았는지 설명하고 빠진 원칙을 제안합니다.

순서가 중요합니다. 루브릭을 먼저 보면 감사자가 거기에 닻을 내려 버립니다. 판단을 먼저 굳히고 나서 루브릭을 검사하게 만드는 설계입니다.

수용 판정에는 루브릭 유도 여백을 씁니다.

\[m_g(p) = S\!\left(q, r^{+}, R_q(g)\right) - S\!\left(q, r^{-}, R_q(g)\right)\]

\(r^{+}\)는 감사자가 선호한 응답입니다. 후보 생성기가 이 여백을 임계 \(\gamma\) 이상으로 벌리는 비율이 대조 감사 점수가 됩니다.

수용 규칙

후보 생성기는 보류된 감사 사례에서 평가되고, 적어도 하나의 감사 목적을 개선하면서 다른 어떤 것도 실질적으로 악화시키지 않을 때만 수용됩니다. 파레토 방식이라 이질적인 감사 점수를 하나의 스칼라로 합치지 않습니다.

결과

HealthBench, WritingBench, ResearchQA에서 최적화하고, LLMEval-Med와 EQ-Bench Creative Writing v3으로 같은 도메인 안에서의 직접 전이를 봅니다. 전이 질문은 최적화나 튜닝에 한 번도 쓰이지 않습니다. 최종 평가는 각 과제의 공식 채점기와 정답 루브릭으로 하고, 이 채점기는 학습 시점 심사자와 별개이며 후보 선택에 관여하지 않습니다.

백본

방법

HealthBench

LLMEval-Med†

WritingBench

Creative Writing†

ResearchQA

평균

GPT-4o

Zero-shot

40.9

56.5

62.8

80.0

65.6

61.2

SkillOpt

41.7

57.6

63.9

80.5

64.8

61.7

SC-CoEvo

40.3

53.0

63.5

79.2

65.1

60.2

DecoEvo

45.3

60.2

66.1

82.7

69.7

64.8

Qwen3-4B

Zero-shot

37.6

63.6

60.1

70.2

63.8

59.1

SkillOpt

39.9

64.2

61.1

71.0

65.8

60.4

SC-CoEvo

38.9

63.4

61.0

69.2

65.3

59.6

DecoEvo

41.5

65.1

62.9

73.8

67.4

62.1

Qwen3-8B

Zero-shot

40.8

65.0

60.2

74.9

69.0

62.0

SkillOpt

43.0

65.6

61.8

75.2

70.4

63.2

SC-CoEvo

41.5

64.4

60.4

75.4

69.4

62.2

DecoEvo

45.2

66.9

63.5

77.7

71.6

65.0

†는 같은 도메인 안의 교차 벤치마크 전이입니다. SkillOpt는 같은 풀이 스킬을 최적화하되 루브릭 생성기는 고정합니다. SC-CoEvo는 DecoEvo와 초기화·풀이자 업데이트·제안 측 감사·후보 제안·트리거 규칙·검증 분할을 전부 공유하되, 생성기 편집만 현재 풀이자의 총점으로 수용하는 대조군입니다.

DecoEvo가 15개 백본-벤치마크 조합 전부에서 1위입니다. SkillOpt 대비 평균 상대 개선은 5.0%, 2.9%, 2.8%이고 절대 점수로는 3.10점, 1.74점, 1.78점입니다. 다섯 번의 짝지어진 실행에서 95% 신뢰구간은 각각 [2.88, 3.32], [1.42, 2.06], [1.69, 1.87]이고 Holm 보정 후에도 유의합니다.

가장 볼 만한 것은 SC-CoEvo입니다. 루브릭을 같이 진화시키되 총점으로 수용하는 이 대조군은 15개 중 13개에서 SkillOpt보다 나쁘고, 7개에서는 아무것도 안 한 Zero-shot보다도 나쁩니다. 순진하게 공진화시키면 도움이 안 되는 정도가 아니라 해를 끼칩니다. 이 논문 전체가 방어하려는 대상이 실재한다는 증거입니다.

무엇이 기여했나

HealthBench에서 하나씩 빼 본 결과입니다.

변형

GPT-4o

Qwen3-4B

Qwen3-8B

DecoEvo

45.3

41.5

45.2

구조 감사 제거

43.6

40.2

43.7

대조 감사 제거

43.2

39.8

43.3

루브릭 블라인드 제거

44.0

40.5

44.0

준동점 샘플링 제거

43.8

40.3

43.8

검증 제거

42.4

39.1

42.5

증류 제거

43.5

40.1

43.6

가장 크게 무너지는 것은 검증을 뺐을 때(2.4~2.9점)입니다. 확인 안 된 생성기 편집이 이후의 피드백을 통째로 오염시킨다는 뜻입니다. 대조 감사(1.7~2.1점)가 구조 감사(1.3~1.7점)보다 조금 더 큽니다. 넓은 과제 차원이 다 덮이고 나면 남는 병목은 그럴듯한 출력들 사이의 구분이라는 이야기입니다.

루브릭 블라인드와 준동점 샘플링도 1.0~1.5점씩 기여합니다. 앞에서 본 "판단 먼저, 루브릭 나중" 순서가 장식이 아니었다는 뜻입니다.

다른 설명들 걷어내기

이 논문이 특히 잘한 부분입니다. 이득이 사실은 더 풍부한 사전지식이나 추가 컴퓨트, 또는 감사 정보가 풀이자에게 직접 간 덕분일 수 있습니다. 세 가지를 다 대조했습니다.

방법

GPT-4o

Qwen3-4B

Qwen3-8B

토큰 사용

SkillOpt

41.7

39.9

43.0

1.00×

Task-Prior

42.4

40.3

43.4

~1.00×

Budget-Matched

42.1

40.4

43.6

1.89×

Direct Audit

43.7

40.7

44.1

1.86×

SC-CoEvo

40.3

38.9

41.5

1.89×

DecoEvo

45.3

41.5

45.2

1.89×

전부 HealthBench 점수이고 다섯 번의 짝지어진 실행 평균입니다. 토큰 사용량은 GPT-4o 백본에서만 측정한 값이며 SkillOpt를 1.00×로 정규화했습니다. SC-CoEvo 점수는 주 결과표에서 가져왔습니다.

구조 감사 명세를 고정 생성기에 그냥 얹은 Task-Prior는 0.4~0.7점만 올립니다. 컴퓨트만 맞춰 준 Budget-Matched도 0.4~0.6점입니다. 같은 1.89배 토큰을 쓰고도 SC-CoEvo는 1.4점을 잃고 DecoEvo는 3.6점을 법니다. 컴퓨트로는 설명이 안 됩니다.

Direct Audit이 흥미롭습니다. 같은 감사 기록을 생성기 대신 풀이자 재작성기로 바로 보내면 3.6점 중 2.0점을 회수합니다. 토큰은 DecoEvo의 98.8%를 씁니다. 감사 기록 자체가 유용한 정보를 담고 있다는 뜻이고, 동시에 그 신호를 어디에 저장하느냐가 나머지 1.6점을 만든다는 뜻입니다. 진화하는 생성기 스킬은 일회성 진단을 지속적 기준으로 바꿔 이후의 풀이자 피드백을 계속 바꾸는데, 직접 라우팅은 지금의 재작성 한 번에만 영향을 줍니다.

루브릭이 진짜 좋아졌는가

최종 점수가 올랐다고 해서 루브릭이 더 충실해졌다는 보장은 없습니다. 그래서 최종 생성 루브릭과 보류된 정답 루브릭 사이의 기준 단위 겹침을 쟀습니다. GPT-4o 백본 기준입니다.

방법

HealthBench F1

WritingBench F1

ResearchQA F1

SkillOpt

44.6

48.1

46.4

SC-CoEvo

38.3

42.8

40.8

DecoEvo

56.9

60.3

58.7

DecoEvo가 세 벤치마크 모두에서 F1을 약 12점 올리고, 정밀도와 재현율이 함께 오릅니다. 그냥 기준을 많이 뽑아 낸 것이라면 정밀도가 떨어져야 하는데 그렇지 않습니다. 반대로 SC-CoEvo는 F1이 5.3~6.3점 떨어집니다. 총점으로 생성기를 고르면 어려운 구분을 버리게 된다는 가설과 일치합니다.

매칭에는 별도의 고정 GPT-5.5 매처를 썼고, 층화된 150개 기준 쌍에서 사람 판정 대비 균형 정확도 91.3%, Cohen's \(\kappa = 0.83\)입니다. 사람끼리의 일치도가 \(\kappa = 0.87\)이니 매처가 사람 수준에 근접합니다.

학습 곡선도 같은 이야기를 합니다. SC-CoEvo는 최종 체크포인트에서 내부 대리 지표가 89.1로 높은데도 공식 정답 루브릭 점수는 정점을 찍고 내려갑니다. 내부 선택 신호가 계속 좋아 보이는 동안 외부 기준에서는 나빠지고 있었다는 것입니다. 이 논문이 경고하는 실패 모드가 그림 하나로 보입니다.

회고

저자들이 결론에 적은 한계부터 봅니다. 증거가 최적화 역할들이 같은 백본을 공유하는 설정에 국한되고, 전이가 의료와 창작 안에 머물며, 폭넓은 사람 평가가 없다고 밝혔습니다. 역할별로 다른 백본을 쓰는 실험, 도메인을 넘는 과제, 사람 평가가 후속 과제라고 적었습니다.

이 중 첫 번째가 가장 큽니다. 풀이자도, 루브릭 생성기도, 심사자도, 구조 감사자도, 대조 감사자도 전부 같은 모델입니다. GPT-4o 설정이면 다섯 역할 전부 GPT-4o입니다. 감사자가 풀이자의 약점을 지적한다는 구도가, 실제로는 같은 모델이 자기 사각지대를 스스로 찾아내는 일이 됩니다. 논문이 쌓아 올린 여러 방어 장치가 점수 결합은 확실히 끊었지만 모델 결합은 그대로 남아 있습니다. 정답 루브릭과의 F1이 12점 오른 것이 이 우려를 상당히 덜어 주긴 합니다. 외부 기준과의 겹침이 늘었다는 뜻이니까요.

절대 크기도 짚어야 합니다. 헤드라인은 상대 개선 2.8~5.0%인데 절대값으로는 100점 만점에서 1.74~3.10점입니다. 상대 백분율로 표기하면 커 보이지만 체감은 다릅니다. 다만 표준편차가 0.09~0.24 수준으로 작고 다섯 번의 짝지어진 실행에 Holm 보정까지 했으니, 작아도 실재하는 차이라고 볼 근거는 충분합니다.

Direct Audit 대조를 다시 볼 필요가 있습니다. 3.6점 중 2.0점, 즉 절반 이상이 "감사 기록을 만들어 풀이자에게 준다"만으로 회수됩니다. 논문 제목이 내세우는 생성기 공진화가 설명하는 몫은 1.6점입니다. 논문은 이 사실을 숨기지 않고 오히려 표로 보여 주는데, 그렇다면 이 방법의 진짜 기여를 "루브릭을 진화시켰다"보다 "루브릭이 놓친 것을 찾는 감사 절차를 설계했다" 쪽에 두는 편이 정확할 수 있습니다.

비용도 정직하게 봐야 합니다. 1.89배 토큰입니다. 논문은 생성기가 최적화 후 폐기되고 최종 풀이 스킬만 배포되므로 개발 비용에만 영향을 준다고 적었습니다. 맞는 말이지만, 절대 개선이 2~3점인 작업에 최적화 비용을 두 배 가까이 쓰는 것이 합당한지는 쓰는 쪽이 판단할 문제입니다.

마지막으로 하이퍼파라미터입니다. \(\tau_{\text{tie}}\)(준동점 임계), \(\gamma\)(여백 임계), \(\varepsilon\)(수용 여백), \(L\)(롤아웃 수), \(H\)(쌍 상한), \(K\)\(M\)(바깥 루프 트리거)까지 조정할 손잡이가 많습니다. 파일럿 탐색으로 골랐고 보조 자료에 있다고 했지만, 본문에는 이들에 대한 민감도 분석이 없습니다. 여러 장치가 서로 맞물려 돌아가는 방법일수록 이 부분이 재현성에 직결됩니다.

정리

세 가지입니다.

첫째, 채점자를 풀이자의 점수로 평가하면 무너집니다. SC-CoEvo가 15개 중 7개에서 아무 최적화도 안 한 Zero-shot보다 나빴다는 결과가 이 경고를 구체적인 숫자로 만듭니다. 자기 평가 기준을 함께 학습시키는 모든 설계가 마주칠 함정입니다.

둘째, 끊어내는 방법은 생각보다 단순합니다. 생성기 업데이트에서 총점을 못 쓰게 막고, 대신 "무엇이 빠졌나"(구조 감사)와 "무엇을 구분 못 하나"(대조 감사)라는 두 개의 독립된 축으로만 평가합니다. 판단을 먼저 굳히고 루브릭을 나중에 보여 주는 순서까지가 설계의 일부입니다.

셋째, 이득의 절반 이상은 진화하는 생성기가 아니라 감사 절차 자체에서 나옵니다. 논문이 스스로 보여 준 Direct Audit 대조가 그렇습니다. 그래서 이 작업에서 가져갈 것은 "루브릭도 학습시키자"라는 결론보다, 지금 쓰는 평가 기준이 무엇을 빠뜨리고 무엇을 구분 못 하는지 따로 물어보는 절차 쪽에 가깝습니다.

논문 원문은 arXiv:2607.25675에서 볼 수 있습니다.