인기 노트 앱 옵시디언(Obsidian)의 유료 동기화 서비스인 옵시디언 싱크(Obsidian Sync)에서 2년 넘게 지속적으로 보고되어 온 데이터 손실 버그를 체계적으로 찾아내기 위한 '시맨틱 퍼저(semantic fuzzer)'가 개발되어 주목받고 있습니다. 이 도구는 여러 옵시디언 인스턴스를 컨테이너 환경에서 실행하고, 네트워크 단절과 같은 다양한 상황에서 노트를 편집하며 데이터 손실이 발생하는 시나리오를 자동으로 탐지하고 재현합니다.
개발자는 이 퍼저를 구축하는 과정에서 인공지능(AI) 모델인 클로드(Claude)의 도움을 받았다고 밝혔습니다. 하지만 클로드가 비효율적인 코드를 생성하고, 개발자가 의도한 방향과 다르게 프로젝트를 진행하는 등 총 60시간에 달하는 개발 시간 중 절반 이상을 AI가 만든 버그를 수정하는 데 할애했다고 비판했습니다. 그럼에도 불구하고, 이 퍼저는 옵시디언 싱크의 데이터 손실 버그를 유발하는 짧은 작업 시퀀스를 성공적으로 찾아냈으며, 사용자가 직접 재현해볼 수 있는 구체적인 단계도 공개했습니다. 예를 들어, 휴대폰과 노트북에서 동시에 같은 노트를 편집하고 휴대폰의 네트워크를 일시적으로 끊었다가 다시 연결하면, 충돌 파일이 생성되지 않고 한쪽의 변경 사항이 완전히 사라지는 버그가 재현됩니다.
이번 퍼저 개발은 분산 시스템의 데이터 일관성 문제를 해결하는 데 있어 체계적인 테스트 도구의 중요성을 다시 한번 보여줍니다. 특히, 사용자가 직접 재현 가능한 버그 시나리오를 제공함으로써 개발팀이 문제를 해결하는 데 큰 도움이 될 것으로 기대됩니다. 또한, AI를 활용한 개발 과정에서 발생할 수 있는 문제점과 한계를 명확히 드러내, AI 코드 생성 도구의 효과적인 활용 방안에 대한 논의를 촉발할 것으로 보입니다.