LLM은 단순히 코드를 생성하는 것 이상의 역할을 할 수 있습니다. 바로 코드 디버깅을 돕는 것입니다. 버그가 명확하지 않고 콘솔 출력이 오히려 혼란을 줄 때, AI 코딩 어시스턴트에게 코드 조각을 전달하여 문제를 찾아내게 하는 것은 망쳐버린 화요일을 구원할 아주 좋은 방법입니다.
이를 위해 무료, 유료, 그리고 가장 큰 오픈 모델을 로컬에서 실행하는 방법 등 다양한 옵션이 있습니다. 그래서 저는 세 가지 명확한 버그가 포함된 JavaScript 파일을 만들어 간단한 테스트를 진행했고, Gemini, ChatGPT, Claude에게 수정을 맡겼습니다. 스코핑(scoping) 문제, 비동기 레이스 컨디션(async race issue), 그리고 비결정론적 순서를 유발하는 인덱스 기반 할당과 같은 버그들은 쉽게 간과될 수 있으며 완벽한 오후를 망칠 수 있습니다. 하지만 다행히도 이를 해결해 줄 몇 가지 AI 도구가 있습니다.
관련 기사
Gemini의 패치 시도
빠른 추측하지만 핵심 문제는 아님
Gemini는 속도 면에서 중간 정도를 기록했으며, ChatGPT보다는 빠르고 Claude보다는 느린 두 가지 다른 응답을 보여주었습니다. 스코핑 문제를 정확히 찾아내고 해결책의 일부로 블록 스코핑을 설명했습니다. 하지만 코드 뒷부분에 있는 무작위 지연으로 인한 레이스 컨디션은 완전히 놓쳤습니다.
결과적으로 Gemini가 제시한 수정안은 코드가 올바르게 보이게 만들 수는 있지만, 기술적으로는 그렇지 않았습니다. 코드를 실행하고 콘솔을 확인해도 여전히 문제가 발생할 것입니다. Gemini가 보여준 두 가지 응답 중 하나는 변경 사항이나 그것이 코드에 어떤 영향을 미치는지조차 설명하지 않았습니다. 프롬프트를 여러 번 실행했을 때도 결과가 다르게 나타났으며, 그중에는 비동기 레이스 컨디션은 감지했지만 인덱스 기반 할당 버그는 여전히 놓친 경우도 있었습니다.
##### Google Gemini
OS Android, iOS, macOS, Windows
개발사 Google
가격 모델 무료, 구독
ChatGPT의 근접한 결과
훌륭한 추론, 부분적으로 불완전한 진단
ChatGPT는 더 느렸지만, 그만한 가치가 있었습니다. 우선 스코핑 문제, 최종 로그가 너무 일찍 출력되게 만드는 누락된 await, 그리고 무작위 지연으로 인한 비결정론적 순서 등 세 가지 버그를 모두 잡아냈습니다. 설명 또한 체계적이었고 초보자가 이해하기 쉬웠습니다.
또한 서로 다른 결과를 초래하는 세 가지 수정 옵션을 제시했습니다. 가장 좋은 권장 사항은 다른 섹션이 자동으로 맞춰질 것이라고 가정하고 코드를 패치하는 솔루션이었습니다. 이는 기술적으로는 맞지만, 근본 원인을 해결하는 방식은 아닙니다. 그것은 버그를 패치하는 것이 아니라 문제를 뒤로 미루는 것입니다.
ChatGPT는 또 다른 솔루션으로 스크립트의 루프를 수정하는 올바른 방식의 해결책도 제시했습니다. 하지만 이 수정안이 올바르긴 해도 구현 속도가 더 느릴 것이라고 지적하기도 했습니다.
OS Android, iOS, Web
개발사 OpenAI
가격 모델 무료 및 선택적 구독
Claude가 실제로 버그를 찾아내다
진짜 문제를 정확히 짚어낸 유일한 도구
Claude는 가장 빠르게 응답을 내놓았으며 가장 완벽한 솔루션을 제시했습니다. 여러 가지 답변이나 다른 방식의 코드 수정안을 제공하지 않았습니다. 챗봇은 세 가지 문제를 식별하고 체계적으로 설명하며 패치했습니다. 참고로 이 테스트에는 Claude Code가 아닌 Claude Chat을 사용했습니다. 하지만 Claude는 응답 직후 Claude Code로 전환할 것을 권장했습니다.
출력 결과 또한 Gemini나 ChatGPT처럼 단순하지 않았습니다. Claude의 설명은 기술적으로 타당했지만, 내용을 이해하려면 JavaScript 지식이 필요했습니다. 숙련된 프로그래머에게는 괜찮지만, 온라인에서 찾은 스크립트를 다루는 초보자라면 후속 질문을 통해 더 간단한 설명을 요청해야 할 것입니다. 어쨌든 Claude는 ChatGPT가 생성한 코드를 정리하는 데도 능숙하므로, 디버깅 도구를 찾고 있다면 바로 이것일 수 있습니다.
##### Claude
개발사 Anthropic PBC
가격 모델 무료, 구독 가능
정확성 없는 속도는 무의미하다
빠른 것보다 옳은 것이 더 중요하다
Claude가 정확하지만 느릴 때가 있었고, ChatGPT는 정확하지만 빨랐습니다. 기술적으로는 ChatGPT와 Claude의 무승부라고 할 수 있겠지만, Claude의 응답은 보통 더 완전하고 정확하며 구조가 잘 잡혀 있었습니다. 반면 나머지 두 모델은 같은 시간 동안 부분적인 해결책만을 제시했습니다.
이러한 조합은 디버깅 세션 전반에 걸쳐 누적되는 실질적인 가치를 지닙니다. 규모가 큰 코드베이스를 다룰 때, 절약하는 매 분은 작업이 끝날 때쯤이면 몇 시간으로 합산될 수 있습니다. 표면적인 수정으로 패치했다가 더 많거나 완전히 다른 문제에 직면했을 때 겪게 될 혼란은 말할 것도 없습니다.
실제 디버깅 작업을 위한 올바른 AI 선택
이것이 개발자에게 갖는 의미
LLM이 환각(hallucination)을 일으키는 특정 작업들이 있지만, 코드 생성과 디버깅에는 여전히 매우 유용합니다. Gemini는 특히 Google 생태계 통합을 통해 많은 작업에 유용하며, ChatGPT는 때때로 혼란스러운 솔루션을 제시하긴 하지만 대부분(전부는 아니더라도)의 버그를 잡아내고 패치할 것입니다. Claude가 더 빠르고 동시에 더 일관적이라는 점은 무시하기 어려운 장점입니다.
관련 기사
내가 ChatGPT 대신 Claude를 사용하는 6가지 이유
ChatGPT는 훌륭합니다. 오해하지 마세요. 하지만 Claude가 훨씬 더 좋습니다.
쉽게 드러나지 않는 실행 흐름을 통해 인과 관계를 추적해야 하는 문제를 다룰 때, 이러한 더 나은 추론 능력은 더 신중하고 완전합니다. 즉, 근본 원인을 해결할 확률이 더 높다는 뜻입니다. 빠른 상태 점검을 위해서는 세 가지 모델 모두 충분합니다. 하지만 버그가 적극적으로 오해를 불러일으키거나 더 기술적인 문제일 때는 Claude가 더 나은 선택이 될 수 있습니다.
