금요일 오후 2시, 깃허브(GitHub, 소프트웨어 개발 협업 플랫폼) 저장소.

알림 창에 수십 개의 풀 리퀘스트(Pull Request, 코드 변경 제안)가 쏟아진다. 겉보기에는 완벽한 문법의 코드지만 실제로는 작동하지 않는 가짜 로직이 섞여 있다.

이런 풍경이 오픈소스 개발 현장의 새로운 골칫거리가 됐다.

AI 코드의 범람과 개발팀의 경고

PS3 에뮬레이터(다른 시스템의 하드웨어와 소프트웨어를 흉내 내는 기술) 개발팀은 최근 공식적으로 AI 생성 PR(코드 변경 제안의 약어)의 제출을 중단해달라고 요청했다. LLM(거대언어모델)을 이용해 기계적으로 생성된 코드가 프로젝트 저장소로 급증했기 때문이다. 개발자들은 이를 단순한 기여가 아니라 스팸에 가까운 행위로 규정했다. 제출된 코드의 상당수가 실제 하드웨어 동작 원리를 무시한 채 그럴듯한 형태만 갖춘 상태였다.

검토 과정에서 발생하는 시간 낭비가 임계점을 넘었다. 메인테이너(프로젝트 관리자)들은 제출된 코드가 실제로 작동하는지 확인하기 위해 수동으로 테스트를 수행해야 한다. AI가 1초 만에 짠 코드를 검증하기 위해 숙련된 개발자가 수 시간을 허비하는 구조다. 이는 개발 속도를 높이기는커녕 오히려 전체 파이프라인을 정체시키는 병목 현상을 초래했다.

정밀 공학과 생성형 AI의 충돌

과거의 에뮬레이터 개발은 개발자가 수천 줄의 어셈블리(컴퓨터 하드웨어가 직접 이해하는 최하위 수준의 언어) 코드를 직접 분석해 기능을 구현하는 방식이었다. 이제는 AI가 1초 만에 그럴듯한 C++ 코드를 제안하는 시대가 됐다. 하지만 에뮬레이션의 핵심은 확률이 아니라 정밀함에 있다. AI는 확률적으로 가장 가능성 높은 다음 단어를 선택하지만 에뮬레이터는 1비트의 오차도 허용하지 않는 결정론적 시스템이다.

개발자가 체감하는 가장 큰 문제는 코드의 환각 현상이다. AI는 존재하지 않는 API를 호출하거나 실제 PS3 하드웨어 구조와 맞지 않는 가공의 로직을 생성한다. 문법적으로는 완벽해 보이기 때문에 숙련된 검토자가 아니면 오류를 찾아내기 어렵다. 결국 AI PR은 작동하는 코드가 아니라 작동하는 것처럼 보이는 가짜 결과물의 나열인 경우가 많다.

오픈소스 생태계의 지형이 바뀌고 있다. 누구나 쉽게 코드를 기여할 수 있는 진입 장벽의 하락이 오히려 유지보수 비용의 급증이라는 부메랑으로 돌아왔다. 이는 단순한 도구의 오용을 넘어 AI가 생성한 저품질 데이터가 인간의 검토 리소스를 잠식하는 유지보수 세금(Maintenance Tax)의 형태로 나타난다. 개발팀은 이제 코드의 양보다 질을 우선시하며 AI 생성물에 대한 엄격한 필터링 포석을 두고 있다.

AI가 짠 코드를 검토하는 시간은 이제 개발자의 새로운 노동 시간이 됐다.