커밋 메시지는 생각하는 도구다
원제 Commit description as a thinking tool
104 포인트댓글 60
Key Point
AI가 코드를 작성하는 시대에도 개발자가 직접 커밋 메시지를 써야 하는 이유를 설명하며, 단순히 문서화가 아닌 코드 이해도를 검증하는 도구로서의 가치를 제시한다.
핵심 요약
- 저자는 주요 변경사항에 대해 5~10분을 들여 긴 커밋 설명을 작성해왔으며, 이는 독자가 여러 곳을 찾지 않도록 정보를 모으고 '무엇'뿐 아니라 '왜'를 설명하기 위함이다.
- 커밋 메시지 작성 과정 자체가 자신의 코드를 재검토하고 결정을 재평가하게 하는 사고의 도구였다.
- AI 에이전트가 코드와 커밋 메시지를 모두 작성하는 시대에서, 문제는 AI가 분산된 여러 도구와 오프라인 정보의 맥락을 모를 수 있다는 점이다.
- AI가 '왜'를 모르면 스스로 추론하는데, 실제 이유와 다를 수 있어 위험하다.
- 에이전트에 충분한 맥락을 제공해도, 오직 개발자만 커밋 설명이 코드와 일치하는지 검증할 수 있다.
- 저자는 커밋 메시지를 직접 작성하는 이유를 제시한다: AI가 만든 변경사항을 재검토하고 의도한 대로 작동하는지 확인하는 것이다.
- 자신이 '왜'를 설명할 수 없다면, 이해하지 못한 코드를 배포하는 것이며, 이후 문제가 생기면 수정하기 어렵다.
- 'I am doing this until we...'처럼 임시 결정과 종료 조건은 AI가 코드나 도구에서 추론할 수 없으므로, 커밋 메시지 작성이 이를 명시하도록 강제한다.
- 에이전트는 코드와 설명을 작성할 수 있지만, '왜'를 작성하는 것이 배포하는 것을 실제로 이해하는지 확인하는 지점이다.