과학 코드를 검증 가능한 에이전트 학습 환경으로 컴파일하는 ScienceIDE
ScienceIDE: Turning World's Scientific Codebase into Agent Learnable Environments
무엇인가
이 논문이 겨냥하는 문제는 저자들이 과학 경험 병목(scientific experience bottleneck)이라고 부르는 것이다. 과학 코드 저장소는 수십 년에 걸친 인간 지식을 실행 가능한 모델과 방법, 도구로 담고 있지만, 파편화된 툴체인과 설정, 코드에 명시되지 않은 도메인 관례, 물리량과 수치 허용오차에 의존하는 검증 기준 때문에 이 지식을 신뢰할 수 있는 학습 경험으로 바꾸기 어렵다. 논문은 논문·저장소·데이터셋이 자동으로 학습 가능한 환경이 되지는 않는다고 지적한다. SciCode(80문제), ScienceAgentBench(102과제), SWE-bench Science(98개 저장소 119과제) 같은 기존 벤치마크는 에이전트를 평가할 뿐, 저장소와 과제군 전반으로 경험을 확장하는 생산 인프라를 제공하지 않는다는 것이 저자들의 진단이다.
어떻게 동작하나
ScienceIDE의 구성 단위는 버전이 고정된 코드베이스 안의 과학 모듈이다. 모듈은 단순히 관련 파일을 묶은 것이 아니라 하나의 일관된 과학적 책임과 실행 가능한 커버리지를 가진다. 환경(environment)은 승인된 모듈을 런타임과 과학적 체크와 함께 패키징한 것이고, 팩토리(factory)는 재사용 가능한 저작 절차를 특정 환경의 과학적 맥락에 특화시킨다. 에피소드는 에이전트가 과제 하나와 상호작용해 산출물과 궤적, 측정 결과를 남기는 단위다. 구축 절차는 이렇게 진행된다. 에이전트가 고정된 업스트림 리비전과 의존성, 라이선스, 빌드 가정을 조사하고 소스를 빌드해 공식 테스트와 예제를 실행한다. 그 결과 드러난 출력 형식, 수치 변동성, 비싼 경로, 실행 위험을 바탕으로 과학적 책임 단위로 모듈을 제안하면 도메인 전문가가 분해와 커버리지를 검토한다. 이후 에이전트가 실험 어댑터를 구현하고 과학적 출력을 제안하되, 모듈 경계와 동등성 계약은 큐레이터가 소유한다. 레지스트리와 CLI는 구조를 강제하고 출처를 추적하지만 과학적 관측량 자체를 정하지는 않는다.
무엇과 다른가
검증 계층의 핵심은 체크(check)다. 체크는 고정된 입력과 등급이 매겨진 출력, 그리고 통과 정책을 묶은 것이며 보상의 단위가 된다. 통과 정책에는 두 가지 형태가 있다. 점별(pointwise) 정책은 모든 등급 값에 대해 |c − r| ≤ a + ρ|r| 을 만족하는지 비교하고, a = ρ = 0 이면 정확한 일치가 된다. 점별 비교는 과학적으로 의미 있는 구간에서 측정된 민감도를 포함하면서도 실제 결함은 거부할 때 우선 사용된다. 저장 순서, 적응적 스텝 수, 타이밍, 랭크나 청크 레이아웃, 난수 추출, 고유벡터 위상은 관측량으로 취급하지 않는다. 불변량(invariants) 정책은 모멘트, 분포, 보존량, 적분 노름처럼 점별 허용오차로는 실행 간 변동을 감당할 수 없을 때 쓴다. 명목 초기조건과 변형(variant) 초기조건을 함께 돌려 수치 민감도를 드러내고, 가능한 빌드에서는 altbuild로 같은 소스의 다른 정당한 빌드와의 차이를 기록하며, 명목과 변형이 각각 참조를 재현하고 만점을 받아야 하는 자기검증을 수행한다. 각 체크는 어떤 관측량을 보는지, 어떤 편향을 구분하는지, 왜 정당한 구현이 이를 만족할 수 있는지 설명하는 자연어 근거(warrant)를 함께 가진다. 체크 스위트는 하위 과제 저작 전에 고정되므로, 과제 문장이 달라져도 체크는 항상 수용 계약의 일부로 남는다.
어떻게 쓰나
과제 팩토리는 일곱 범주로 나뉜다. 가속(Acceleration), 수리(Repair), 발견(Discovery), 재현(Reproduction), 통합(Integration), 보정(Calibration), 구현(Implementation)이 그것이다. 이 중 수리와 구현은 되돌릴 수 있는 변이와 절제(excision)를 통해 후보를 자동 확장할 수 있고, 나머지는 전문가가 지정한 목표·데이터·절차·자원 제약을 위한 인터페이스를 제공한다. 수리 과제의 점수는 r_repair = max(0, (r − f)/(1 − f)), 0 ≤ f < 1 로 정규화한다. 여기서 r은 과학적 일치도를, f는 수리되지 않은 빌드의 점수를 뜻한다. 팩토리가 제안한 후보는 실행 증거를 통과해야만 과제가 된다. 주입된 수리에 대해서는 알려진 정답 증인이 통과해야 하고, 수리 전 기준선이 여유(headroom)를 남겨야 하며, 변경이 참조 수리로 제거되는 체크 실패를 만들어야 한다. 모호한 명세, 도달 불가능한 분기, 하네스 실패는 무효 또는 무등급으로 처리하고, 답안 누출과 실행 무결성 실패도 패키징 단계에서 걸러낸다.
전제와 한계
실험 규모부터 보자. ScienceIDE는 27개 과학 코드베이스에서 64개 환경과 2,812개 제조 과제를 제공하며, 그중 수리 2,515개, 구현 295개, 가속 2개다. 별도 컬렉션으로 수치 출력과 물리 불변량에 대한 실행 가능한 체크 1,076개가 있다. 공개 평가용으로 PLUTO, Athena++, MITgcm, LAPS, PHANTOM에서 파생된 18개 환경의 난이도 상위 85개 과제(ScienceIDE-Hard)를 지정했는데, 천체물리 유동, 플라스마 물리, 해양·대기 모델링, 입자 시뮬레이션을 아우르며 수리 52개와 구현 33개로 구성된다. 8개 제공자의 15개 모델을 Codex, Claude Code, Gemini CLI로 같은 컨테이너와 지시, 1시간 에피소드 예산 아래 비교했다. 결과는 Fable 5.1이 67.1%로 가장 높고 Opus 5가 64.6%, Astra가 63.1%, Sol이 55.0%였으며 나머지 11개는 40% 미만이었다. 저자들은 Fable이 단일 측정이고 Opus와 Astra의 반복 구간이 겹치므로 이 순서를 통계적으로 확립된 것으로 읽으면 안 된다고 못 박는다. 난이도 상위 부분집합에서 예산 소진은 과제 균형 기준 37.3%에 이른다. 자원 효율은 정확도와 다른 축이다. 10분 시점에 Astra는 49.6%로 Fable의 25.9%를 앞서지만 약 31분에 Fable이 역전한다. 20분에서 60분 사이 Astra는 2.0%포인트만 얻는 반면 Fable은 11.8, Opus는 16.0, Qwen3.8 Max는 30.2%포인트를 얻는다. Fable은 과제당 약 7.90달러로 67.1%를, Astra는 3.56달러로 63.1%를 기록했다. Astra는 과제당 평균 9.4분과 13.9k 출력 토큰을, Fable은 16.8분과 85.7k 토큰을 쓴다. DeepSeek V4.1 Flash는 과제당 172.4k 토큰을 쓰고도 36.0%에 그쳤다. 15개 프로필에서 성공률과 실행시간의 서술적 스피어만 상관은 −0.22, 출력량과는 0.01이었다.
지도미세조정(SFT)에서는 GPT-5.6-sol로 수집한 시연 중 수치 동등성 검증기를 통과한 궤적을 골라, 학습 분할에 564개 과제의 4,567개 세그먼트, 검증 분할에 81개 과제의 544개 세그먼트를 썼다. Qwen3.5-4B, Qwen3.5-9B, Qwen2.5-72B-Instruct를 ms-swift로 모든 선형 계층에 LoRA를 적용해 3에폭 학습했다. 학습·검증 과제 식별자가 배제된 과학 코드 수리 평가에서 4B의 PLUTO-Particles-Dust 평균 보상이 0.0000에서 0.3333으로(+33.33), 9B의 PLUTO-RMHD/ResRMHD가 0.0000에서 0.2857로(+28.57), LAPS가 0.3125에서 0.5000으로(+18.75), MITgcm-Biogeo가 0.0625에서 0.1250으로(+6.25) 올랐다. 공개 벤치마크에서는 15개 모델–벤치마크 비교가 개선됐다. 4B는 HumanEvalFix JavaScript가 10.98%포인트, QuixBugs Java가 0.400에서 0.500으로(+10.00), CodeXGLUE 결함 탐지가 0.422에서 0.492로(+7.03) 향상됐고 최종 정확도는 여전히 0.5 미만이다. 9B는 BBH Word Sorting이 0.240에서 0.576으로(+33.60) 올랐고 GSM8K에서도 개선이 있었다. 4B의 BBH 다단계 산술과 MMLU-Pro 컴퓨터과학, 72B의 ARC-Easy 개선도 보고된다. 저자들은 이것이 균일한 향상이나 최전선 수준 성능을 입증하지는 않지만, 과학 경험에서 일반 역량으로의 양의 전이 증거라고 주장한다.
강화학습(RL)은 검증기가 컴파일과 시뮬레이션을 돌려 매기는 점수를 그대로 보상으로 쓴다. LAPS(3차원 유사스펙트럴 Hall-MHD 솔버)와 MITgcm-biogeo(해양 생지화학·CFC 수송) 두 환경에서 각각 99개, 87개 수리 과제를 3개, 9개의 등급화된 과학 케이스 위에 올렸다. G = 8 궤적 그룹에 대해 Â_i = R_i − (1/G)Σ R_j 로 그룹 상대 이득을 계산하되, Dr. GRPO를 따라 그룹 표준편차로 나누는 항은 생략한다. 저자들이 강조하는 실패 모드는 예산 절단이다. 에피소드는 수리 완료, 턴 상한 소진, 응답 예산 소진 중 하나로 끝나는데 결과만 보는 보상은 셋을 구분하지 않는다. 절단된 궤적이 양의 평균 보상을 가진 그룹에서 0점을 받으면 음의 이득이 되어, 토큰 평균 집계에서 가장 많은 토큰을 쓴 궤적에 특히 강한 벌점이 간다. 그러면 정책은 과학 문제를 푸는 대신 궤적을 짧게 만드는 지름길을 택할 수 있고, 실제로 마스킹 없는 실행에서 보상이 초기값 아래로 붕괴하고 턴당 토큰이 3분의 1 이하로 줄었다. 해법은 절단 궤적을 그룹 기준선에는 남기되 손실에서는 마스킹하는 것이고, DAPO의 보상 측 길이 벌점도 끈다. 이 조치 후 30 스텝 만에 LAPS의 홀드아웃 보상이 0.357에서 0.857로(2.4배), MITgcm-biogeo가 0.286에서 0.571로(2.0배) 올랐다. LAPS는 평균 학습 보상이 0.427에서 0.828로, 완료 에피소드 평균이 0.683에서 0.883으로 오르고 예산 절단이 39.5%에서 6.6%로 줄었다. MITgcm-biogeo도 보상 0.381에서 0.597, 완료 에피소드 0.571에서 0.747, 절단 34.1%에서 23.8%로 같은 추세를 보였고, 턴당 토큰은 LAPS 1103에서 1135로, MITgcm 780에서 914로 오히려 늘었다. 학습 스택은 vLLM 생성, veRL 트레이너를 개조한 PSRL 최적화, harbor 에피소드 실행으로 구성되며, 대표 스텝에서 업데이트가 3,210초 중 2,069초, 롤아웃이 751초를 차지했다.
실무 관점에서 이 논문이 주는 가장 직접적인 시사점은 과학 코드를 다루는 에이전트를 만들 때 테스트가 통과했다와 과학이 재현됐다가 다르다는 점이다. 저장소의 단위 테스트는 과학적 계약을 과소 명세하는 경우가 많고, 논문은 관측량 정렬(예: 배열 슬롯이 아니라 입자 ID를 따라가는 비교), 허용오차 보정, 명목·변형 초기조건, 불변량 기반 채점 같은 구체적 장치를 제시한다. 사내 시뮬레이터나 수치 솔버를 에이전트 학습·평가에 쓰려는 팀이라면 모듈 경계와 동등성 계약을 전문가가 소유하고, 체크 스위트를 과제 저작 전에 고정하며, 수리 점수를 (r − f)/(1 − f)로 정규화해 부분 진척을 보상하는 설계를 참고할 만하다. RL을 붙일 계획이라면 예산 절단 궤적을 그룹 기준선에는 남기고 손실에서는 빼는 마스킹이 사실상 필수라는 경고도 실전적이다. 다만 ScienceIDE-Hard에서 최상위 모델도 67.1%에 그쳤고 11개 모델이 40% 미만이었다는 점은, 현재 수준의 에이전트를 과학 코드 유지보수에 그대로 투입하기는 이르다는 신호로 읽어야 한다.
저자들이 밝힌 한계는 분명하다. 증거는 참조로 검증 가능한 소프트웨어 과제, 그중에서도 계산물리와 지구과학의 수리·구현에 치우쳐 있으며 열린 발견형 연구는 다루지 않는다. 1,000개 환경 릴리스는 아직 개발 목표다. 팩토리가 만든 변형들은 코드 경로와 가정을 공유할 수 있어 과제 수 자체가 독립적인 과학적 커버리지를 뜻하지 않는다. 난이도 상위 집합은 1시간 예산과 두 개의 결합된 수정 지점까지만 긴 호흡을 탐침한다. 검증은 과학적 모델링 선택이므로 선택된 관측량과 보정된 허용오차에 대한 일치는 그 체크 밖의 정확성을 보장하지 않고, 정당한 대안 구현이 참조와 불일치할 수도 있다. 독립적 외부 감사와 적대적 보상 해킹 평가는 아직 남아 있다. 팩토리는 전문가 큐레이션을 없애는 것이 아니라 분할 상환할 뿐이며, 확장은 여전히 도메인 전문성과 업스트림 재배포 권리에 의존한다. 저장소·의존성·하드웨어가 바뀌면 재검증이 필요하고, 버전 관리는 출처를 보존할 뿐 과학적 타당성을 보존하지 않는다. 점수는 고정 예산 아래 모델–하네스 시스템을 비교한 것이고, 서빙 속도와 불균등한 반복 커버리지가 세밀한 순위를 제한한다. 검색 통제로 공개 소스 코드에 대한 사전학습 지식을 배제할 수 없고, 레거시 이미지에 파일 타임스탬프 단서가 남아 있어 오염 없는 선택이 입증되지 않았다. SFT 이득은 선별된 공개 벤치마크에, RL 이득은 학습 환경 내 힌트가 주어진 홀드아웃 과제에 관한 것이며, 어느 쪽도 보지 못한 코드베이스로의 전이를 입증하지 않는다. SFT 분리는 과제 식별자로 확인했을 뿐 관련 변형까지 통제하지 못했고, RL 비교는 시드 간 분산을 추정하지 않았다.