본문으로 건너뛰기
r/vibecoding조회 1

LLM들이 자체적으로 UCI+NNUE 체스 엔진과 트레이너를 구현해 경쟁한 결과 보고

여러 상용 LLM에게 UCI 규격과 NNUE 가중치 훈련을 지시해 체스 엔진을 자율 구현·훈련시킨 뒤 ELO로 비교한 벤치마크 결과와 실패 유형을 정리했다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

작성자는 상용 LLM들에게 UCI 규격과 NNUE 기술 문서를 제공하고 자체 코드 생성과 NNUE 가중치 훈련을 통해 체스 엔진을 완성하도록 한 뒤 bayeselo로 ELO를 산출해 비교했다. 테스트 절차는 세 차례 상호작용으로 코드·런타임 결함을 보정한 후 2000회의 SelfPlay로 NNUE를 학습시키는 파이프라인을 따랐으며 결과적으로 NNUE에서 유의미한 이득을 본 모델은 GPT5.5, ClaudeFable5, FuguUltra 세 모델뿐이었다. 다수 모델은 UCI 준수 실패, 멀티스레드 NNUE 훈련 미구현, 과적합이나 심각한 성능 저하(예: 최대 90%) 등의 문제로 NNUE 적용에 실패했고 한 번에 높은 품질을 내는 모델의 토큰 효율성이 비용 효율 면에서 중요하게 드러났다. 이 실험은 문서 해석·명세 준수·병렬화 능력과 같은 비단언어적 역량이 자동 코드 생성의 실전 성패를 가른다는 점을 보여주었다.

실용적 조언

  • UCI 규격과 NNUE 문서를 프로젝트 경로에 정확히 제공하고 모델이 명세를 직접 읽어 처리하도록 해야 구현 실패를 줄일 수 있다.
  • NNUE를 도입할 때는 멀티스레드 병렬화와 학습 도구의 효율을 미리 점검해야 하며 성능 오버헤드(예: 90% 저하 사례)에 대한 측정 없이 운용에 투입하면 실용성이 낮아질 수 있다.
  • 토큰 소비가 적고 한 번에 높은 품질의 코드를 생성하는 모델이 장기 비용에서 유리하므로 프로토타이핑 단계에서 여러 모델의 토큰 효율을 비교하는 것이 유익하다.

섹션별 상세

01
벤치마크 목적은 상용 LLM의 '테스트세트 학습' 문제를 회피하고 모델의 대규모 자동화 계획 및 알고리즘 선택 능력을 비교하는 것이었다. 구체적 과제로는 UCI 규격을 준수하는 체스 엔진을 구현하고 Classical Eval과 NNUE 기반 평가를 모두 포함시키는 것이었으며 최종 산출물은 서로 대전시켜 ELO로 성능을 수치화했다. 이 방식은 단순 텍스트 생성 능력 외에 외부 문서(예: UCI 명세, NNUE 문서)를 읽고 코드·훈련 파이프라인을 설계·수정하는 종합 역량을 시험하는 구조였다.
02
테스트 절차는 각 모델에 대해 세 번의 상호작용 기회를 부여하고 첫 출력에서 런타임 오류나 UCI 규격 위반 여부를 수동으로 점검한 뒤 수정 요청을 반복하는 방식으로 진행됐다. 두 번째 라운드에서는 엔진들이 자체 대국을 통해 규칙 위반이나 심각한 위치 평가 오류를 검출하게 하고, 그 결과를 바탕으로 개선 지시를 주어 NNUE 훈련 단계로 넘어갔다. 이런 평가 루프는 모델이 자기 생성 코드의 실행 결과를 관찰하고 설계 결함을 보정하는 능력을 검증하는 데 초점을 뒀다.
03
NNUE 훈련은 작성된 트레이너 도구로 2000회의 SelfPlay 세션을 통해 가중치를 학습시키는 방식으로 수행됐고 학습 결과를 Classical Eval과 비교해 이득 여부를 판단했다. 원문에서는 과적합이 관찰되면 NNUE 버전 대신 Classical Eval만을 경쟁에 포함시키겠다고 명시했으며 학습 효율과 과적합 위험을 고려한 조치가 실험 설계에 반영됐다. 이 과정은 학습 시간·병렬화(멀티스레드) 구현 가능성·성능 오버헤드가 실전 적용 가능성을 결정하는 핵심 요소임이 드러났다.
04
최종 결과에서는 NNUE에서 유의미한 이득을 본 모델이 GPT5.5, ClaudeFable5, FuguUltra 세 모델뿐이었고 나머지 모델들은 NNUE 구현이나 훈련에서 다양한 실패를 보였다. 원문은 ClaudeOpus4.7의 경우 NNUE가 평가 정확도를 높였으나 최대 90%에 달하는 성능 저하가 발생해 실용성 문제가 있었고 KimiK2.7Code는 과적합으로 정확도가 떨어졌다고 기술했다. 또한 Qwen3.7MAX와 MimoV2.5Pro는 멀티스레드 기반 NNUE 훈련을 구현하지 못해 확장성 측면에서 한계가 확인됐다.
대회 1단계 결과를 그래프로 정리한 이미지로 보인다.
Chart이미지는 서로 다른 모델들의 최종 ELO나 상대 성능을 시각화한 결과 차트로 판단된다. 차트에서 어떤 모델이 NNUE 도입으로 긍정적 이득을 얻었는지와 실패한 모델들이 상대적으로 어디에 위치하는지 확인할 수 있어 결과 해석의 근거 자료 역할을 한다. 이 이미지는 결과 수치의 상대적 비교를 직접 제공하므로 테스트 결론의 핵심 근거로 활용될 수 있다.
05
기능 완수 자체에 실패한 모델들이 다수 존재했고 실패 원인은 UCI 명세 미숙지, 프롬프트·컨텍스트 압축으로 인한 기능 손실, 혹은 근본적으로 대규모 엔진+트레이너 산출이 불가능하다는 응답까지 다양했다. 구체 사례로 Gemini3.1Pro와 Gemini3.5Flash는 기본 기능을 완성하지 못했고 BigPickle은 제공된 UCI 문서를 읽지 않고 추측으로 접근해 실패했다고 보고됐다. 성능·완성도뿐 아니라 외부 문서 읽기 능력과 명세 준수 능력이 자동 코드 생성 작업의 성패를 가르는 중요한 변수로 확인됐다.
MimoV2.5Pro가 기권 동작을 보였음을 보여주는 실행 화면 캡처로 보인다.
Screenshot이 스크린샷은 엔진이 의도적으로 수를 두지 않고 시간을 소모해 패배를 선언받는 동작을 시각적으로 증명한다. 원문에서 보고된 '움직이지 않고 시간 초과로 패배' 현상과 직접 결부되므로 해당 모델의 정책·타이밍 제어 결함 증거로 기능한다. 따라서 이 이미지는 구현 결함 사례를 재현 가능한 증거로서 제공한다.
06
테스트 과정에서 나타난 실무적 시사점으로는 대규모 자동화 코딩에서 토큰 소비와 상호작용 방식이 비용 효율성에 직접적인 영향을 미친다는 점과 일회성으로 높은 품질 코드를 산출하는 모델의 가치가 특히 높게 평가된다는 점이다. 원문에 따르면 GPT5.5와 ClaudeOpus4.7은 전체 토큰 사용량이 매우 낮아 비용 측면에서 유리했으며 ClaudeFable5는 단일 상호작용으로 우수한 최종 산출물을 내어 추가 개선 기회를 사실상 불필요하게 만들었다. 이 관찰은 자동 코드 생성 워크플로를 설계할 때 모델의 응답 품질과 토큰 효율을 균형 있게 고려해야 함을 시사한다.
FuguUltra의 대국 장면으로, 폰이 승격된 보드 상태를 캡처한 이미지로 보인다.
Screenshot이 이미지는 특정 대국에서 발생한 전술적 장면을 보여주며 원문의 '프로모션 장면' 언급과 일치한다. 대국 로그나 포지션을 통해 엔진의 플레이 스타일이나 평가 오류 여부를 추가 검증할 수 있는 근거 자료가 된다. 따라서 대국 품질을 정성적으로 확인하는 참고 이미지로 유용하다.

용어 해설

NNUE
신경망 기반의 평가 함수로서 기존의 체스 평가식(Classical Eval)과 결합해 사용된다. 입력으로는 체스 포지션의 피처가 비트보드 등으로 전달되고, 가중치 기반 신경망이 상태 평가 점수를 출력하며 훈련은 기계 대국(Self-Play) 데이터를 사용한다. 체스 엔진의 평가 정확도를 개선하면서도 성능과 병렬화 구현 난이도 측면에서 트레이드오프가 발생한다.
UCI 프로토콜(UCI)
체스 엔진과 GUI 또는 외부 프로그램이 통신하기 위해 표준화한 명령어 집합이다. 엔진은 초기화, 생각(검색), 수 수신 등 UCI 명세의 입력을 파싱하고 정해진 출력 형식으로 응답해야 하며, 규격을 준수하지 못하면 엔진 간 대전과 자동화에 실패한다. 본 테스트에서는 구현의 정확성이 기능 완수 여부 판단의 기본 기준으로 사용됐다.
Self-Play
에이전트가 스스로 대국을 반복 생성하여 훈련용 데이터나 평가 데이터를 만드는 방법이다. 본 테스트에서는 NNUE 가중치 학습을 위해 2000회의 SelfPlay 세션을 사용해 훈련 데이터를 수집하고 가중치 최적화를 수행했다. Self-Play는 실제 대국 분포를 반영하기 때문에 평가·훈련의 현실성이 높아지지만 과적합 위험과 계산 비용이 증가한다.
ELO 등급(ELO)
플레이어(또는 엔진) 간 상대적 실력을 수치화하는 체계이며 본 테스트에서는 bayeselo 계산기를 통해 대국 기록을 ELO로 환산했다. 기준선으로 Stockfish18의 CCRL ELO 3651이 고정되어 다른 엔진의 상대 등급을 산출했다. ELO는 게임 수와 매치업 구성에 따라 변동성이 있으므로 절대값 해석에는 주의가 필요하다.
비트보드(Bitboard)
체스 보드와 기물 배치를 64비트 비트맵으로 표현하는 구조로서 고속 검색과 SIMD 최적화를 가능하게 한다. NNUE나 탐색 알고리즘에서 상태 표현과 이동 생성에 널리 사용되며 고성능 구현에서는 비트 연산을 통해 큰 성능 이득을 얻는다. 원문에서는 'production-grade UCI+NNUE engine (bitboard+SIMD)' 문구로 최적화 수준을 가늠하는 참고점으로 등장했다.

언급된 도구

OpenCode중립

대화형 코딩 클라이언트로서 LLM과의 코딩 세션을 진행하는 데 사용됐다

bayeselo중립

대국 기록을 바탕으로 ELO를 계산하는 외부 도구로서 최종 랭킹 산출에 사용됐다

Stockfish18중립

기준선 엔진으로서 CCRL ELO 3651을 고정 기준으로 사용해 상대 등급을 산출하는 데 활용됐다

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 04.수집 2026. 07. 05.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.