저자는 AI 코딩 도구로 인해 악화된, 제대로 이해되지 않은 코드가 병합되는 문제의 증가에 대해 이야기합니다. 이를 해결하기 위해, 저자는 개발자들이 병합 전에 코드를 이해하도록 설계된 GitHub Action인 Commit Comprehension Gate (CCG)를 만들었습니다. CCG는 풀 리퀘스트를 가로채고 Anthropic API를 사용하여 코드 변경 사항을 기반으로 객관식 질문을 생성합니다. 이 질문들은 댓글로 게시되며, 작성자가 정답을 맞힐 때까지 병합이 차단됩니다. 핵심적인 설계 선택은 외부 데이터베이스나 저장 서비스가 필요 없는 무상태 시스템을 만드는 것이었습니다. 정답은 PR 댓글 내의 base64로 인코딩된 숨겨진 HTML 댓글로 교묘하게 저장됩니다. 이는 질문을 생성하기 위한 초기 API 호출 후 즉시 정답을 검증할 수 있게 해줍니다. PR 작성자만 질문에 답할 수 있으며, 동료나 봇이 게이트를 우회하는 것을 방지합니다. API 호출을 제한하여 비용을 낮게 유지하며, 일반적으로 PR당 0.05달러에서 0.10달러가 소요됩니다. CCG는 피상적인 코드 리뷰와 AI가 생성한 코드에 어려움을 겪는 팀을 위해 고안되었습니다. 이 프로젝트는 오픈 소스이며, 쉽게 설정할 수 있으며, 사용자들의 피드백을 장려합니다. 저자는 CCG가 개발자들이 자신이 변경하는 사항에 대한 이해를 증명하도록 강제한다고 강조합니다. 이 혁신적인 접근 방식은 병합된 코드에 대한 더 깊은 이해를 보장합니다.
dev.to
I built a merge gate that quizzes developers on their own code changes — here's why and how
