I Paid the Bill for AI-Written Code Months Later
개요
AI가 작성한 시스템 서비스 스크립트에 대한 과도한 신뢰는 장기간에 걸친 숨겨진 성능 저하를 초래했으며, 이로 인해 문제 해결에 상당한 시간과 비용이 소요되었다.
주요 내용
* AI 기반 스크립트 도입: 제조 ERP 시스템의 백그라운드 작업 최적화를 위해 AI의 도움을 받아 systemd 타이머와 Python 스크립트를 결합한 솔루션을 사용했다.
* 숨겨진 자원 누수: AI가 제안한 Python 스크립트는 time.sleep()을 이용한 무한 루프 구조를 가졌으며, 각 주기마다 미미한 메모리 누수가 발생하여 장기간에 걸쳐 시스템 메모리 부족(OOM-killed)을 야기했다.
* 성능 저하 및 문제 진단 어려움: 스크립트의 반복적인 실행은 PostgreSQL 서버의 WAL bloat 증가, read replica 동기화 문제, ERP 보고서 처리 시간 30% 증가, 사용자 화면 프리징 등을 유발했다. OOM-killed 메시지를 통해 문제의 원인이 AI 스크립트임을 파악하는 데 3일이 소요되었다.
* 해결 및 재발 방지: AI가 제안한 sleep 루프를 제거하고, systemd 타이머의 OnCalendar 또는 OnBoot + OnUnitActiveSec 설정을 직접 활용하여 스크립트가 단일 작업을 수행 후 종료하도록 구조를 변경했다.
시사점
AI 코드 생성은 유용한 보조 도구일 뿐이며, 특히 운영체제 수준의 자원 관리 및 장기 실행 시나리오에서는 AI가 제안한 코드를 맹신하기보다 시스템의 네이티브 메커니즘을 이해하고 최종 통제권을 유지하는 것이 중요함을 시사한다.
댓글
GitHub Discussions