Agnostics: Learning to Code in Any Programming Language via Reinforcement with a Universal Learning Environment

이 논문은 외부 관찰 가능한 실행 결과만을 기반으로 코드를 평가하는 단일 검증기를 활용하여, 각 프로그래밍 언어별 엔지니어링 없이도 강화 학습을 통해 저자원 언어에서도 고성능을 발휘하는 범용 코딩 학습 파이프라인 'Agnostics'를 제안합니다.

Aleksander Boruch-Gruszecki, Yangtian Zi, Zixuan Wu, Tejas Oberoi, Carolyn Jane Anderson, Joydeep Biswas, Arjun Guha

게시일 2026-03-03
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

"Agnostics": 모든 프로그래밍 언어를 마스터하는 AI 의 '만능 키'

이 논문은 **"Agnostics(무신론자/중립자)"**라는 새로운 기술을 소개합니다. 이름처럼 이 기술은 특정 프로그래밍 언어를 '신봉'하지 않고, 어떤 언어든 똑같이 잘 다룰 수 있게 해줍니다.

기존의 AI(대형 언어 모델) 는 파이썬이나 자바스크립트 같은 인기 언어는 잘 쓰지만, 과학이나 공학에서 쓰이는 **희귀한 언어 (루아, 줄리아, R, OCaml, 포트란 등)**는 매우 서툴렀습니다. 마치 유명한 요리사가 이탈리아 파스타는 잘 만들지만, 전통적인 한국 김치찌개나 프랑스의 특정 지역 요리는 전혀 못 만드는 것과 비슷합니다.

이 문제를 해결하기 위해 연구팀은 **"언어를 구분하지 않는 만능 훈련 시스템"**을 만들었습니다.


🍳 비유로 이해하는 Agnostics 의 원리

이 기술의 핵심은 **"코드 자체를 보는 게 아니라, 코드가 만들어내는 '결과물'을 본다"**는 것입니다.

1. 기존 방식의 문제점: "요리사별 레시피"

기존에는 새로운 언어를 가르치려면 그 언어에 맞는 **새로운 레시피 (데이터셋)**와 **새로운 주방 도구 (테스트 환경)**를 하나하나 직접 만들어야 했습니다.

  • 비유: 김치찌개를 가르치려면 김치찌개 전용 레시피를, 파스타를 가르치려면 파스타 전용 레시피를 따로 만들어야 하므로, 요리사 (AI) 가 새로운 요리를 배울 때마다 엄청난 시간과 노력이 들었습니다.

2. Agnostics 의 해결책: "맛보기 심사"

Agnostics 는 언어의 종류를 신경 쓰지 않습니다. 대신 **"이 요리가 주문한 대로 나왔는지"**만 확인합니다.

  • 비유: 요리사가 어떤 언어 (재료) 를 쓰든 상관없이, **손님이 시킨 메뉴 (입력)**를 받아 완성된 요리를 내놨을 때 (출력), 손님이 만족하는지 (테스트 통과) 만 보면 됩니다.
  • 만약 요리사가 "이건 김치찌개니까 김치를 넣어야 해"라고 변명하지 않아도 됩니다. 그냥 "맛있으면 점수 100 점, 맛없으면 0 점"입니다.

🛠️ 어떻게 작동할까요? (3 단계 과정)

이 시스템은 세 가지 간단한 단계로 작동합니다.

1 단계: 문제 번역 (LLM 이 해줍니다)
기존에 있는 프로그래밍 문제들을 AI 가 읽어보고, **"이 문제는 어떤 입력을 받아서 어떤 출력을 내야 해?"**라는 형식으로 통일합니다.

  • 비유: 다양한 언어로 된 요리 레시피를 모두 "재료 A 를 넣고, 결과물 B 를 만들어라"라는 공통된 형식으로 정리해줍니다.

2 단계: 환경 설정 (간단한 설정 파일)
새로운 언어를 가르치고 싶다면, 아주 짧은 설정 파일 (YAML) 하나만 만들어주면 됩니다.

  • 비유: "이 요리는 '루아'라는 재료를 쓰는데, '루아 전용 오븐'에서 구워야 해"라고 적어주기만 하면 됩니다. 복잡한 레시피는 필요 없습니다.

3 단계: 강화 학습 (시행착오와 보상)
AI 가 코드를 작성하면, 시스템이 실행해 봅니다.

  • 성공: 입력에 맞는 출력이 나오면 "잘했어! 점수 +1!" (보상)
  • 실패: 오류가 나거나 결과가 틀리면 "아쉽네. 다시 해봐." (보상 0)
  • AI 는 이 점수를 받으며 스스로를 고쳐 나갑니다. 마치 게임에서 레벨을 올리는 것과 같습니다.

🚀 놀라운 성과

이 방법을 적용했을 때 어떤 일이 일어났을까요?

  • 작은 AI 가 거인이 됨: 40 억 개 (4B) 의 파라미터만 가진 작은 AI 모델이, 이 방법으로 훈련하자 160 억~700 억 개 파라미터를 가진 거대 모델들과 어깨를 나란히 했습니다.
  • 희귀 언어 마스터: 루아, 줄리아, R, OCaml, 포트란 등 평소 AI 가 서툴렀던 언어들에서도 최상위권의 실력을 보여주었습니다.
  • 간편함: 새로운 언어를 추가하는 데 걸린 시간은 약 1 시간뿐이었습니다. (기존 방식은 몇 주가 걸렸을 것입니다.)

💡 결론

이 논문은 **"AI 가 새로운 프로그래밍 언어를 배울 때, 언어마다 따로 공부할 필요가 없다"**는 것을 증명했습니다.

마치 **"모든 언어를 이해하는 통역사"**가 아니라, **"모든 언어로 쓴 답이 맞는지 확인하는 정답 확인기"**를 통해 AI 를 훈련시킨 것입니다. 덕분에 앞으로는 어떤 새로운 프로그래밍 언어가 등장하더라도, AI 가 그 언어를 마스터하는 데 걸리는 시간과 비용이 획기적으로 줄어들 것입니다.

한 줄 요약:

"Agnostics 는 AI 에게 '언어'를 가르치는 게 아니라, '결과'를 확인하게 함으로써 어떤 언어든 자유롭게 코딩할 수 있게 만든 만능 훈련 시스템입니다."

이런 논문을 받은편지함으로 받아보세요

관심사에 맞는 일간 또는 주간 다이제스트. Gist 또는 기술 요약을 당신의 언어로.

Digest 사용해 보기 →