좋은 아침이에요! 오늘은 “AI가 Python은 잘 짜는데 왜 COBOL 앞에선 헤맬까?”에 대한 이야기예요.
뭔가요?
학습 데이터(공개 코드와 문서)가 적은 프로그래밍 언어를 말해요. COBOL, Fortran, Visual Basic, OCaml, Racket 같은 언어가 대표적이에요. 코딩 모델은 GitHub에 코드가 넘쳐나는 Python·JavaScript·Java에서는 강하지만, 데이터가 적은 언어에서는 문법은 그럴듯해도 동작이 틀린 코드를 내기 쉬워요. 문제는 이런 언어가 은행·카드 결제·기상 예보 같은 핵심 시스템을 아직 떠받치고 있다는 점이에요.
왜 지금 뜨나요?
OpenAI가 Advancing coding in low-resource programming languages에서 자체 평가 두 가지를 공개했어요. 20개 언어로 SQLite 호환 DB 엔진을 처음부터 만드는 MultiLangBench에서 GPT-6 Astra가 평균 87.4%(이전 GPT-5.6 Sol은 26.8%)를 냈고, COBOL 프로그램을 Java·Python·Rust 등으로 옮기면서 출력이 바이트 단위까지 같아야 통과하는 평가에서는 GPT-6.1 Sol이 86.6%(추론 강도를 높이면 97.9%)를 기록했대요. 다만 COBOL은 여전히 가장 어려운 언어(72%)였고, 전부 OpenAI가 직접 만든 평가라는 점은 감안하세요. 같은 날 X에서도 “AI 코딩 실력은 결국 사람이 쌓아 둔 학습 데이터 덕분”이라는 논쟁이 이어졌어요.
시점 정리
– 용어 자체는 새롭지 않아요. ‘저자원(low-resource)’은 원래 자연어 처리에서 데이터가 적은 언어를 부르던 말이고, 코드 모델 쪽에서는 18개 언어로 벤치마크를 넓힌 MultiPL-E(2022년 8월 논문)와, Python 데이터를 번역해 OCaml·Racket 등 저자원 언어 실력을 끌어올린 MultiPL-T(2023년 8월 논문)가 이 문제를 본격적으로 다뤘어요.
– 언어들은 더 오래됐죠. Fortran은 1957년, COBOL은 1959년에 나왔어요.
– 이번 화제의 출발점은 2026년 10월 19일(한국 시간 19일 밤) OpenAI 글이에요. 즉 오래된 문제에 새 성적표가 붙은 경우예요.
Claude만 쓰던 개발자는 어떻게 쓰면 되나요?
COBOL을 만질 일이 없어도 이 개념은 쓸모가 있어요. 사내 전용 DSL, 오래된 PL/SQL·VB6, 학습 시점 이후에 나온 라이브러리 API도 모델 입장에서는 사실상 ‘저자원’이거든요.
- 역할 나누기: 의도를 읽는 일(이 코드가 지키는 업무 규칙이 뭔지 설명하기, 번역 초안 쓰기)은 Claude에게, 맞았는지 판정하는 일은 컴파일러·인터프리터·테스트에게 맡기세요. 저자원 언어일수록 “그럴듯하다”와 “맞다”의 차이가 커요.
- 옮기기 전에 먼저 고정하기: 기존 프로그램에 입력을 넣고 출력을 저장해 둔 다음(특성화 테스트), 새 코드가 같은 출력을 내는지
diff로 비교하게 하세요. OpenAI 평가가 바이트 단위 비교를 쓴 이유도 같아요. 반올림 규칙처럼 조용히 틀리는 부분이 바로 여기서 잡혀요. - 컨텍스트로 채워 주기: 데이터가 적은 언어나 최신 API는 문법 요약, 공식 문서, 잘 돌아가는 예제 파일을 프롬프트나 Skills·규칙 파일에 넣어 주세요. 모델이 기억에서 꺼내는 대신 눈앞의 자료를 보고 쓰게 돼요.
- 언제 다른 모델에 넘길지: 특정 언어에서 Claude가 같은 실수를 반복하면, 그 언어만 다른 모델로 교차 검토해 보는 것도 방법이에요. 언어별 성적은 모델마다 꽤 달라요.
연관 용어
– 특성화 테스트 (Characterization Test): 코드가 “원래 해야 하는 일”이 아니라 “지금 실제로 하는 일”을 기록해 두는 테스트예요. 마이클 페더스의 책 Working Effectively with Legacy Code(2004)에서 널리 알려졌어요.
– 스트랭글러 피그 패턴 (Strangler Fig Pattern): 레거시 시스템을 한 번에 갈아엎지 않고 기능 단위로 조금씩 새 시스템으로 옮기는 방식이에요. 마틴 파울러가 2004년에 이름 붙였어요.
– MultiPL-E: Python 위주였던 코드 생성 벤치마크(HumanEval·MBPP)를 여러 언어로 자동 번역해 언어별 실력을 비교하게 만든 평가 체계예요(2022년).
오늘도 좋은 하루 보내세요!