일반적으로 프로그램의 버그를 AI 에게 문의하면 수정 방법을 알려주지만, 답을 주지 않고 질문을 반복하게 하는 디버깅 도구 'Nietzschian Debugger'가 GitHub 에서 공개되었습니다. 이 도구는 개발자가 스스로 버그의 원인을 생각하게 함으로써 문제 해결 능력을 기르도록 설계되었으며, AI 의존도를 줄이는 것을 목표로 합니다. GitHub - DilawarShafiq/nietzschian-debugger: The anti-AI debugger. What doesn't kill your code makes it stronger. Confrontational questioning for developers. · GitHubhttps://github.com/DilawarShafiq/nietzschian-debugger
생성 AI 인 ChatGPT 는 프로그램 코드를 자동 생성하는 것뿐만 아니라 버그를 조사하거나 수정 방법을 제안할 수 있지만, AI 가 제시한 코드를 그대로 계속 사용하면 개발자가 코드의 작동 원리나 버그의 원인을 이해할 기회를 줄일 수 있다는 우려가 있습니다. 실제로 AI 개발 기업 Anthropic 이 실시한 조사에 따르면, AI 기반 코딩 지원 서비스를 이용했던 개발자는 AI 를 사용하지 않았던 개발자에 비해 학습 내용 이해도를 측정하는 테스트 성적이 낮았다는 결과가 보고되었습니다. Anthropic 이 "AI 에 의존하면 기술이 향상되지 않는다"는 주장의 실상을 조사했습니다 - GIGAZINE
Nietzschian Debugger 는 개발자의 문제 해결 능력이 AI 에 지나치게 의존함으로써 쇠퇴한다는 생각에서 탄생한 도구입니다. 이름의 유래는 독일의 철학자 프리드리히 니체이며, 개발자는 "난관을 극복함으로써 인간은 강해진다"는 니체의 사상을 빗대어 의도적으로 개발자에게 고생을 시키는 구조를 채택하고 있습니다. 사용법은 간단하며, 개발자가 버그 내용을 입력하면 Nietzschean Debugger 가 질문을 반환합니다. 예를 들어 "일부 사용자만 로그인 시 403 에러가 발생한다"고 상담하면 "일부 사용자라는 표현이 모호하다. 에러가 발생한 사용자와 발생하지 않는 사용자 사이에 어떤 차이가 있는가?"라고 묻습니다.
개발자가 "랜덤처럼 보이는 것"이라고 답하면 "랜덤이라는 용어는 충분히 조사하지 않은 상태에서 사용하는 것입니다. 서버 로그에 무엇을 기록하고 있나요?"라고追问합니다. 질문을 따라 로그를 확인한 결과, 에러가 발생한 사용자의 인증 토큰이 만료되었음을 발견하면, 이제 일부 사용자만 토큰이 만료되는 이유를追问합니다. 개발자가 "지난주 토큰 유효기간을 변경할 때 기존 로그인 상태를 무효화하지 않았다"는 사실을 발견하고, 스스로 원인을 파악하는 흐름입니다. 질문의 엄격성은 3 단계로 선택할 수 있습니다. 'socrates'는 초보자를 위해 소크라테스처럼 부드러운 질문을 통해 생각을 정리하는 모드입니다. 'nietzsche'는 표준 모드로, 개발자의 편견이나 모호한 설명을 엄격하게追问합니다. 가장 엄격한 'zarathustra'는 숙련된 개발자를 위해 근거가 약한 추론을 용서하지 않고追问하는 모드입니다. 또한 실제 소스 코드를 읽어 질문하는 기능도 제공하며, 파일 경로를 지정하면 코드 내용에 따른 대화도 가능합니다. 개발자가 편견을 얼마나 검증했는지, 근거가 되는 정보를 수집했는지를 평가하는 기능도 마련되어 있습니다. 대화 기록은 로컬에 저장되므로 과거 결과를 되돌아볼 수 있습니다.
또한, Nietzschean Debugger 는 'Anti-AI'를 표방하고 있지만 질문 생성에는 Anthropic 의 AI 모델 'Claude'를 사용하므로 Anthropic 의 API 키가 필요합니다. 개발자는 "다른 도구는 답변을 제공하지만 Nietzschean Debugger 는 질문을 던진다"고 설명하며, AI 가 답변을 제공하는 편리함보다는 개발자가 스스로 답변에 도달하는 과정을 중시한다고 말했습니다.
원문 보기 | 출처: Gigazine