이 기사는 Claude on SonicGarden의 기사입니다. SonicGarden의 프로그래머가 Claude Code의 활용에 대해 쓰고 있습니다. #claude_on_sonicgarden
서론
이 기사에서는 Claude Code로 만든 **「브랜치의 차분(diff)으로부터 퀴즈를 내주는 스킬」**을 소개합니다.
새로운 기술이나 기법을 「알았다고 착각하는 것」으로 끝내지 않기 위해, 주니어 엔지니어의 학습용으로 만든 스킬입니다.
왜 만들었는가
지금까지 이런 실패가 있었습니다.
- AI가 낸 코드를 보고 좋아 보여서! 라고 생각하며 채택했지만, 대면 리뷰에서 "여기는 왜 이렇게 했나요?"라는 질문을 받고 얼어붙음 (정말로 심각함)
- 구현 중에는 「완벽히 이해했다!」라고 생각했는데, 대면 리뷰 시점에는 기억나지 않음 (최악)
아직 AI가 코드를 쓰든 스스로 코드를 쓰든, 업무로서 리뷰 요청을 위해 내놓는 코드는 한 글자 한 글자 이해하고 있어야 합니다.
아무 생각 없이 AI를 사용하면 개발 속도가 빨라지기는커녕 퇴화해 버립니다.
매일 되돌아보는 과정에서 「작성한 코드를 자신의 언어로 설명할 수 있는 상태로 만들기」 위해서는 어떻게 해야 할지를 고민했고, 그 메커니즘으로서 이 스킬을 만들었습니다.
스킬의 내용
하고 있는 일
담당 브랜치의 차분(diff)을 Claude Code에 전달하면, 그 내용에 대해 퀴즈를 내주는 심플한 스킬입니다.
플로우는 다음과 같습니다.
- 브랜치의 차분을 Claude Code에 읽게 함
- Claude Code가 차분의 내용을 이해하고, 이해도를 시험하는 퀴즈를 생성함
- 자신이 텍스트로 답변함
- Claude Code가 답변에 대해 보충 설명을 함
- Claude Code가 문제와 자신의 답변 내용을 특정 디렉토리에 저장
- 설명할 수 없거나 이해가 부족하다고 느끼면 스스로 다시 조사함
출제되는 퀴즈의 예
예를 들어 다음과 같은 퀴즈가 나옵니다.
- 「이 함수는 왜 이 순서로 처리하고 있는가?」
- 「이 메서드에는 어떤 의미가 있는가?」
기본적으로 코드의 의도를 묻는 문제가 출제됩니다.
사용해 보니 좋았던 점
- AI가 제안한 코드라도, 이해한 상태로 리뷰 요청을 보낼 수 있게 됨 - 리뷰에서 지적받았을 때, "아, 그 부분은 이런 의도로~~"라고 설명할 수 있는 장면이 늘어남
- 「이해했다고 착각하는 것」의 얕음을 자각할 수 있음
- 답을 막힌 부분이 그대로 약점 리스트가 됨
직접 썼든 AI가 썼든 관계없이, **「자신의 언어로 설명할 수 있는가」**를 확인할 수 있는 것이 가장 큰 포인트입니다.
단점 · 운용 Tips
좋은 점만 있는 것이 아니라 단점도 있습니다.
- 시간이 걸리기 때문에 매번 할 수는 없음
- 볼륨이 큰 PR(Pull Request)이면 퀴즈의 수도 늘어나 시간이 상당히 걸림
모든 브랜치에 대해 퀴즈를 할 수는 없으므로, 자신의 타이밍에 명령어로 호출할 수 있도록 하고 있습니다.
문구 변경뿐이거나 경미한 수정 시에는 스킵하고 있습니다.
마치며
매일 이어지는 AI의 진화로 인해 「AI에게 일자리를 빼앗길 것」을 두려워했지만, 「자신의 성장을 위해 AI를 사용한다」는 스탠스가 된 순간 AI가 강력한 아군으로 느껴졌습니다. 앞으로도 학습용 스킬을 늘려가고 싶습니다.
비슷한 스킬을 만들고 있는 주니어 엔지니어분이 계신다면, 꼭 시도 내용을 공유해 주시면 기쁘겠습니다.
이번에 소개한 스킬은 아래 리포지토리에서 공개하고 있습니다.