AI VIDEO BRIEFING

커서 Composer 2 훈련 방식: 오픈 베이스 모델과 추가 사전학습, 장기 강화학습과 자체 벤치마크

커서 연구팀이 자사 코딩 모델 Composer 2의 학습 과정을 공개했다. 오픈 베이스 모델 선택부터 추가 사전학습, 20만 토큰 규모의 장기 강화학습, 자체 벤치마크 설계까지의 판단 근거를 정리했다.

커서는 코딩 모델 Composer 2를 어떻게 만들었나, 오픈 모델 위에 쌓은 장기 강화학습 영상 대표 이미지

핵심 메시지

  • 커서는 사용자가 탭 자동완성에서 에이전트 중심 작업으로 옮겨간 흐름에 맞춰, 여러 에이전트를 동시에 돌려도 사람이 지켜보지 않아도 되는 모델을 목표로 Composer 2를 만들었다.
  • 밑바탕은 자체 개발이 아니라 오픈 모델이다. 1조 개 매개변수에 320억 개가 활성화되는 공개 모델을 골랐고, 선택 기준은 성능뿐 아니라 자사 인프라와의 궁합이었다.
  • 강화학습 전에 자동 설치 단계를 두어, 이전 세대 모델이 저장소를 읽고 설치 명령과 검증 테스트를 만든 뒤 스스로 환경을 구축하게 했다.
  • 길이 페널티를 비선형으로 설계해 쉬운 문제는 빠르게 끝내고 어려운 문제에는 오래 매달리도록 유도했고, 자기 요약 기법으로 길이 제한을 넘어서는 작업도 학습시켰다.
  • 공개 벤치마크가 모델을 잘 구분하지 못한다고 보고, 실제 사내 개발자의 모호한 요청을 그대로 담은 자체 벤치마크를 세 번째 버전까지 만들어 썼다.

쉽게 이해하기

커서의 연구자 사샤 러시가 자사 코딩 모델 Composer 2의 학습 과정을 워크숍에서 공개했다. Composer 2는 에이전트 방식 코딩을 위해 만든 모델로, 공개 시점 기준으로 오퍼스 4.6과 비슷한 점수를 내고 GPT-5.4에는 약간 못 미친다는 것이 발표자의 설명이다. 대신 속도가 빠르고 토큰당 비용이 낮다는 점을 강점으로 내세웠다.

설계 목표가 바뀐 배경이 흥미롭다. 1세대 Composer는 사람이 코드를 쓰는 과정을 돕는 대화형 모델이었다. 그런데 최근 몇 달 사이 사용자들이 개별 코드 수정에서 본격적인 소프트웨어 개발 전체로 옮겨갔고, 전형적인 커서 사용자의 경우 코드의 거의 전부를 에이전트가 작성하는 상황이 됐다. 사람은 문제를 쪼개고, 결과물을 검토하고, 테스트를 돌리고, 피드백을 준다. 그래서 2세대의 목표는 세 가지로 정리됐다. 코드 전반에 대한 깊은 지식, 어려운 작업을 끝까지 완수하는 능력, 그리고 현실적인 과제에서의 실제 성능이다.

첫 번째 목표는 추가 사전학습으로 해결했다. 출발점은 자체 모델이 아니라 공개 모델이다. 1조 개 매개변수 중 320억 개가 활성화되고 61개 층에 25만 6천 토큰 문맥을 갖춘 오픈 모델을 골랐는데, 여러 오픈 모델이 모두 상당히 강했고 최종 선택은 사내 인프라와의 궁합에서 갈렸다고 한다. 이후 짧은 문맥으로 대량의 토큰을 학습하고, 25만 6천 토큰 길이로 문맥을 확장한 뒤, 실제 에이전트 데이터에 가까운 형태로 지도 미세조정을 붙였다. 추가 사전학습이 정말 필요했는지 확인하려고 학습량을 셋으로 나눠 비교했고, 강화학습을 거친 뒤의 보상이 학습량에 따라 달라지는 것을 확인했다.

핵심은 두 번째 단계인 장기 강화학습이다. 기능 추가와 디버깅은 물론 문서화, 마이그레이션, 프로젝트 구조 관리처럼 개발 과정 전반을 닮은 과제를 모았는데, 발표자는 모델을 정말로 압박할 만큼 어려운 문제를 찾는 일 자체가 점점 어려워지고 있다고 말한다. 학습 환경을 준비하는 방식도 독특하다. 자동 설치라 불리는 단계에서 이전 세대 모델이 저장소를 탐색해 문서를 읽고 열 개의 설치 명령과 검증 테스트를 만든 뒤, 두 번째 단계에서 스스로 환경을 구축한다. 필요하면 의존성을 흉내 내거나 추가 패키지를 설치해 가며 테스트를 통과시키고, 검증에 성공하면 그 환경이 강화학습에 투입된다.

강화학습 자체는 한 문제에 여러 번의 실행을 돌려 잘된 쪽에 가깝게, 실패한 쪽에서 멀어지게 모델을 갱신하는 익숙한 구조다. 다만 규모가 만만치 않다. 한 번의 실행이 20만 토큰에 이르고 수백 번의 도구 호출을 포함하며, 문제마다 이런 실행이 여럿 필요하다. 여기에 사용자 경험을 좌우하는 행동 특성까지 보상에 반영했다. 대표적인 것이 길이 조절인데, 짧은 응답에 페널티를 주되 생각이 길어질수록 한계 페널티는 줄어들도록 비선형으로 설계했다. 쉬운 문제는 효율적으로 끝내고 어려운 문제에는 시간을 더 쓰게 만들려는 의도다.

주요 인사이트

  • 길이 제한을 넘기는 문제를 자기 요약으로 풀었다. 모델이 한계에 닿으면 지금까지 한 일을 스스로 요약하고 그 요약을 다음 단계의 입력으로 받는다. 강화학습에서는 이 여러 단계를 하나의 최종 보상으로 묶어 학습시키기 때문에, 각 구간의 길이는 제한하면서도 사실상 무한한 길이의 작업을 훈련할 수 있다.
  • 강화학습이 최고 성능만 끌어올리고 다양성을 해친다는 학계의 비판이 있지만, 커서는 16회 시도 중 최고 성능 지표도 함께 올라가는 것을 확인해 모델이 한 가지 해법으로 수렴하지는 않았다고 판단했다.
  • 자체 벤치마크의 문제 설명은 오히려 공개 벤치마크보다 짧다. 대문자도 안 쓰고 구두점도 엉망인, 여러 파일과 로그를 한꺼번에 가리키는 실제 요청을 그대로 담았기 때문이다. 발표자는 이 모호함을 결함이 아니라 에이전트가 실제로 풀어야 할 과제의 일부로 본다.
  • 커서에서 하네스는 모델팀이 아니라 별도 팀이 만든다. 하네스가 곧 제품이고 다른 회사 모델과도 잘 맞아야 하기 때문이다. 발표자는 외부 평가에서 코딩 성능 상위권이 커서의 하네스와 타사 모델의 조합으로 나타났다는 점을 근거로 들었다.
  • Composer 2에서 2.5로 넘어가는 과정에서는 기본 구조를 거의 바꾸지 않았다고 한다. 성능 향상은 보상을 더 깔끔하게 다듬고 데이터 구성을 조정하며 지능과 사용자 경험의 균형을 맞추는 작업에서 나왔다는 설명이다.

자주 묻는 질문

Composer 2는 처음부터 새로 학습한 모델인가요?

아닙니다. 공개된 오픈 모델을 베이스로 삼아 추가 사전학습과 강화학습을 얹은 구조입니다. 1조 개 매개변수 중 320억 개가 활성화되고 61개 층에 25만 6천 토큰 문맥을 지원하는 모델을 골랐으며, 여러 후보를 벤치마크로 비교한 뒤 최종적으로는 사내 인프라와 잘 맞는지를 기준으로 결정했다고 밝혔습니다.

강화학습 환경은 어떻게 준비하나요?

자동 설치라고 부르는 두 단계 절차를 씁니다. 먼저 이전 세대 모델이 저장소를 탐색하고 문서를 읽어 열 개의 설치 명령과 이를 확인할 테스트를 만듭니다. 다음 단계에서 모델이 실제로 환경을 구축하는데, 필요하면 의존성을 흉내 내거나 추가 패키지를 설치해 가며 테스트를 통과시킵니다. 검증을 통과한 환경만 강화학습에 투입됩니다.

특정 언어에서 더 잘 작동하나요?

그렇습니다. 발표자는 두 가지 이유를 들었습니다. 하나는 파이썬이나 타입스크립트처럼 학습 데이터에 훨씬 많이 등장하는 언어가 있다는 점이고, 다른 하나는 강화학습 환경에서 시뮬레이션하기 쉬운 언어가 유리하다는 점입니다. 웹 개발이나 간단한 백엔드는 보상을 얻기 쉬운 반면, 모바일 개발 환경 전체를 갖춰야 하는 스위프트 같은 언어는 상대적으로 까다롭지만 그래도 비교적 잘 작동한다고 설명했습니다.

이런 모델을 만드는 데 몇 명이 참여하나요?

Composer 2에는 약 40명이 참여했고 연구자와 엔지니어가 절반씩이라고 밝혔습니다. 발표자는 데이터와 보상 설계가 큰 비중을 차지하지만, 일관되게 돌아가는 평가 체계를 만드는 일, 저수준 커널을 구현하는 일, 수많은 실행을 동시에 돌리는 분산 시스템을 조율하는 일 모두가 만만치 않은 과제라고 덧붙였습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식