모델
COBOL, Fortran: OpenAI가 내세우는 레거시 마이그레이션용 AI
OpenAI는 GPT-6.1 Sol의 COBOL 마이그레이션 성공률이 5.4%에서 86.6%로 올랐다고 밝혔다. 테스트, 실제 가격, 한계를 살펴본다.
OpenAI는 2026년 10월 19일 이른바 "저자원" 언어인 COBOL, Fortran, Visual Basic, OCaml에 대한 결과를 발표했다. Python이나 JavaScript보다 공개된 코드가 훨씬 적은 언어들이다. 헤드라인 수치는 인상적이지만 OpenAI가 직접 설계한 두 가지 테스트에서 나온 것이고, 그중 하나만 공개돼 있다(OpenAI). 무엇을 측정했는지, 비용은 얼마인지, 믿기 전에 무엇을 확인해야 하는지 살펴본다.
요약
- COBOL 마이그레이션: OpenAI에 따르면 GPT-6.1 Sol은 낮은 추론 강도에서 마이그레이션의 86.6%에 성공했다. GPT-5.6 Sol은 5.4%였고, 더 높은 강도에서는 97.9%다.
- 소프트웨어 구축: MultiLangBench에서 GPT-6 Astra는 20개 언어 평균 87.4%의 테스트를 통과했다. GPT-5.6 Sol은 26.8%였다. COBOL이 72.1%로 여전히 가장 어렵다.
- 공개 테스트: MultiLangBench는 Apache-2.0 라이선스로 GitHub에 공개돼 있다. COBOL 마이그레이션 테스트는 공개되지 않았다.
- 가격: GPT-6.1 Sol의 API 가격은 100만 입력 토큰당 2달러, 100만 출력 토큰당 10달러다(OpenAI).
COBOL이 여전히 중요한 이유
OpenAI는 COBOL이 온라인 뱅킹 시스템의 40% 이상, 대면 카드 거래의 80%, ATM 거래의 95%를 구동한다고 밝히며, 이 수치는 제3자 출처에서 가져왔다고 한다(OpenAI). Anthropic도 같은 규모의 수치를 인용한다. 미국 ATM 거래의 95%다(Claude).
문제는 잘 알려져 있다. 불완전한 문서, 오래전에 떠난 원 개발자, 이제는 코드 안에만 남은 비즈니스 규칙이다. 주로 현대 코드로 학습된 모델은 이 영역에서 지금까지 약했다.
이 주제는 시장을 움직인다. Anthropic은 2026년 2월 23일 Claude Code가 COBOL 시스템의 탐색과 분석을 자동화할 수 있다고 밝혔고, 그날 IBM 주가는 13.2% 하락해 2000년 10월 이후 가장 큰 낙폭을 기록했다(Reuters). OpenAI는 경쟁이 치열한 영역에 들어선 셈이다.
두 테스트의 작동 방식
MultiLangBench는 모델에게 문서만 보고 인터넷 접속 없이 SQLite 3.40.1과 호환되는 데이터베이스 엔진을 작성하게 한다. 프로그램은 시작 데이터베이스와 SQL 쿼리를 받아 수정된 데이터베이스를 쓰고, 실제 SQLite가 결과를 검사한다. 환경에서 SQLite의 흔적은 모두 지워야 하며, 잘못된 언어로 쓰거나 여러 언어를 섞은 솔루션은 0점이다(MultiLangBench README).
테스트는 SQLite의 TCL 스위트에서 가져왔다. 약 51,000개 테스트 가운데 24,000개를 변환할 수 있었다. 비용을 줄이기 위해 README는 그중 272개만 실행하라고 권장한다. 점수는 테스트 통과율과 거기에 이르는 데 든 API 비용의 쌍으로 구성된다.
COBOL 마이그레이션 테스트는 모델에게 COBOL 프로그램을 동작을 유지한 채 C++, Java, Kotlin, Python, Rust로 번역하게 한다. 숨겨진 테스트를 모두 통과하고 출력이 바이트 단위로 같아야 마이그레이션으로 인정된다. OpenAI는 의미심장한 예를 든다. COBOL의 고정 소수점 연산은 반올림을 요청하지 않으면 추가 소수 자릿수를 버린다. 반올림하도록 다시 쓴 코드는 오류 없이 실행되지만 금액이 달라진다(OpenAI).
언어별 결과
OpenAI에 따르면 MultiLangBench에서 최대 추론 강도의 GPT-6 Astra는 20개 언어 모두에서 개선됐다.
- COBOL: 10.9%에서 72.1%로;
- Fortran: 21.4%에서 83.5%로;
- OCaml: 25.6%에서 85.8%로;
- Visual Basic: 27.5%에서 89.4%로.
Astra는 20개 언어 중 19개에서 83%를 넘는다. 소형 모델 GPT-6 Luna는 평균 40.3%로 GPT-5.6 Sol보다 낫고, 추정 API 비용은 샘플당 0.77달러로 3.48달러 대비 약 78% 적다(OpenAI).
COBOL 마이그레이션에서 GPT-6.1 Sol은 낮은 강도에서 5.4%에서 86.6%로 올랐고 API 비용은 GPT-5.6 Sol의 61%이며, 더 높은 강도에서는 97.9%에 이른다. OpenAI 스스로도 이 테스트가 "포화에 가깝다"고 설명한다.
실제 가격
100만 토큰당 표준 API 요금, 짧은 컨텍스트 기준(OpenAI):
- GPT-6 Astra: 입력 $10, 출력 $50;
- GPT-6.1 Sol: 입력 $2, 출력 $10, 캐시된 입력 $0.10;
- GPT-6 Luna: 입력 $0.10, 출력 $0.50.
Batch와 Flex 모드는 이 가격을 절반으로 줄여 주므로, 즉각적인 응답이 필요 없는 대량 마이그레이션에는 실질적인 근거가 된다. 긴 컨텍스트는 GPT-6.1 Sol의 입력 가격을 $4로 두 배 올린다.
구독 측면에서 Codex는 월 20달러의 ChatGPT Plus에 GPT-6.1 Sol과 함께 포함되며, 월 $100, $200, $500의 Pro 플랜에도 포함된다. API 키 사용분은 API 요금으로 청구된다(OpenAI).
현실적인 활용 사례
- 마이그레이션 전에 파악하기: 모델이 프로그램과 그 의존성을 문서화하게 한다. Anthropic도 이를 가장 비용이 큰 단계로 설명한다(Claude).
- 한 번에 하나의 구성 요소씩 마이그레이션하기: 경계가 분명한 모듈, 번역 전에 작성한 동등성 테스트, 그다음 검증.
- 마이그레이션 없이 유지하기: 팀에 그 언어를 아는 사람이 더 이상 없을 때 Fortran이나 Visual Basic의 버그를 고친다.
한계
- 자체 테스트: OpenAI가 두 평가를 모두 설계했고, 유일한 비교 대상은 자사의 이전 모델이다. Anthropic, Google, 오픈 웨이트 모델에 대한 수치는 없다.
- 검증할 수 없는 마이그레이션 점수: COBOL 테스트는 공개되지 않았다. 프로그램이 몇 개인지, 얼마나 긴지, 어디서 왔는지 알 수 없다. 알 수 없는 세트에서의 97.9%라는 점수는 주로 테스트가 너무 쉬워졌다는 것을 말해 줄 뿐이다.
- 리포지토리에 없는 결과: OpenAI는 언어별 결과를 공개한다고 하지만, 10월 20일 현재 GitHub 리포지토리에는 라이선스, README, 스크립트, 테스트만 있다(GitHub). 모델을 처음부터 끝까지 돌릴 하네스도 없다.
- 작은 표본: 변환된 24,000개 중 권장 테스트는 272개다.
- 번역은 현대화가 아니다: 실제 프로젝트에는 데이터, 운영, 규정 준수, 비즈니스 검증도 포함된다. OpenAI도 프로덕션 사용에는 시스템의 비즈니스 규칙과 의존성에 대한 "전문가 검토와 테스트가 여전히 필요하다"고 인정한다(OpenAI).
OpenAI 자체 수치로는 진전이 실제이지만, 실제 프로덕션 코드에 대한 독립적인 테스트가 여전히 필요하다.
개발자에게 의미하는 것
첫째, 점수만큼이나 비용 하락이 중요하다. 100만 토큰당 2달러와 10달러에 절반 가격의 Batch 모드가 있는 모델이라면, 프로그램 포트폴리오 전체를 반복 시도로 돌려 보는 일이 현실적이 된다. OpenAI 자체 수치로 성공률 5.4%였던 이전 모델로는 거의 의미가 없던 일이다.
둘째, 가치가 테스트로 옮겨 간다. 성공한 마이그레이션은 동작의 동등성으로 정의되므로, 레거시 시스템에 이미 회귀 테스트 스위트가 있는 팀이 먼저 혜택을 본다. 그렇지 않은 팀은 테스트를 만들어야 하는데, 에이전트가 도움이 될 수 있는 지점이 바로 여기다.
셋째, 직접 측정해야 한다. MultiLangBench는 재현 가능한 방법을 제공하지만, 그 주변의 에이전트 루프는 직접 만들어야 한다. 실제 COBOL 프로젝트에서 의미 있는 측정은 자신의 프로그램 표본과 자신의 기대 출력뿐이다.
마지막으로, Anthropic에 이어 이제 OpenAI까지 이 영역에 들어왔으니, 지금은 업체의 벤치마크만 믿고 전면 마이그레이션에 나설 때가 아니라 제한된 파일럿을 할 때다.