Sonnet 5로 시작해 Opus 5로 전환, 그리고 Fable 5.1로 코드베이스 검토 완료
Project started with Sonnet 5, switched to Opus 5, then codebase reviewed with Fable 5.1
핵심 요약
AI 모델들을 활용해 사이드 프로젝트의 코드베이스를 검토하고 95개의 버그를 발견한 경험담입니다.
- AI 코드 검토 — Sonnet, Opus, Fable을 단계별로 활용해 코드 품질을 개선함
- 버그 발견 — Fable 5.1을 통해 95개의 잠재적 문제와 보안 취약점을 식별함
- 환경 의존성 — 제어된 환경과 실제 사용자 환경 간의 차이로 인한 버그 발생
- 테스트 중요성 — 코드베이스의 안정성을 위해 정기적인 AI 검토와 테스트 스위트의 필요성 강조
내 사이드 프로젝트 중 하나는 타임랩스 메이커인데, 목표가 아주 확실함. 바로 감시 카메라 영상으로 매일 타임랩스를 만드는 거임. 뭐, 아주 짧게 설명하면 그렇다는 거고, 핵심은 그거야.
이게 리눅스랑 윈도우 머신 양쪽에서 몇 주 동안 문제없이 잘 돌아가고 있었거든. 근데 이틀 전에 갑자기 타임랩스 인코딩이 기본값인 AV1 하드웨어 인코더 대신 X264(CPU 인코딩)로 돌아가 버리는 거야.
조사해보니까 리눅스 머신에서 돌아가던 다른 소프트웨어가 재부팅도 안 하고 nVidia 드라이버를 업데이트해버려서 내 툴이 맛이 간 거였음.
그래서 버그를 고쳤지. Opus 5로 수정하고 나서 Fable 5.1로 갈아탄 뒤에 코드베이스 싹 다 검토해서 중요도 순, 그다음엔 수정 난이도 순으로 정리한 .md 문서를 뽑아달라고 했어. 30분 뒤에 이 녀석이 95개 항목이 담긴 문서를 뱉어내더라:
- 치명적인 버그 4개: 특정 조건에서 툴이 뻗어버리거나 아예 못 쓰게 만들 수 있는 수준. 그중 하나는 보안 버그였는데, 카메라가 뻗으면 로그에 자격 증명(credentials)을 평문으로 그대로 노출하더라고.
- 중요도 높음 버그 10개: 앱 기능을 방해하거나 쓸 때 개빡치게 만들 수 있는 문제들.
- 중요도 보통 이슈 34개: 광범위한 문제들.
- 중요도 낮음 이슈 47개: 잘못된 문서화, 최적화 안 된 코드, 에러 처리 미흡 등등.
변명 좀 하자면, 이 툴은 지금도 그렇고 원래 실험적인 상태라 버그가 있을 건 알고 있었음. 근데 이렇게 많을 줄은 몰랐지.
지금 Opus 5랑 같이 버그 하나하나 다 잡고 있고, 끝나면 Fable 5.1로 한 번 더 싹 훑어서 숨어있는 놈들 다 찾아낼 생각임. 다른 프로젝트들도 마찬가지지만, 성능 좋은 모델로 주기적으로 코드베이스 훑는 건 진짜 좋은 방법이야. 영화 '불가사리(Tremors)'처럼 표면 바로 아래에 처박혀 있는 괴물들을 찾아내는 데 이만한 게 없거든.

