Claude Code가 복잡한 코드를 작성하기 전에 내가 이해했는지 확인하도록 만들었다
I made Claude Code refuse to write complex code until I can explain it
핵심 요약
AI 코딩 도구에 학습 가이드라인을 추가해 사용자가 코드의 구조와 트레이드오프를 직접 이해하도록 강제하는 도구를 개발함.
- 학습 가이드라인 — AI가 코드를 작성할 때 사용자의 이해도를 확인하는 검증 절차를 추가함
- 워크플로우 마찰 — 코드를 무비판적으로 수용하지 않도록 의도적인 제동 장치를 마련함
- 지식 격차 해소 — AI 의존도가 높아지면서 발생하는 기술적 이해도 저하를 방지함
- 선택적 기능 — 파일 편집 차단 및 질문 표시 등 학습을 돕는 옵션 모드를 제공함
최근에 내가 직접 짤 수도 없는 코드를 승인하고 있다는 걸 깨달았다.
뭔가 좀 이상하다 싶으면 나중에 알아봐야지 하고 넘겼는데, 다음 작업을 바로바로 만들어내는 에이전트가 옆에 있으니 그 '나중'은 영영 오지 않더라.
집중력을 분산시키는 앱들을 차단해야 했던 상황이랑 똑같은 패턴이라는 걸 알았다. 그냥 방해된다는 걸 아는 것만으론 부족했음. 계속하려는 충동이 너무 강해서 의지력에 기대기보단 아예 마찰을 만들어줄 뭔가가 필요했다.
그래서 Claude Code를 위한 선택형 스킬인 learning-guardrails를 만들었고, 옵션 모드도 하나 넣었다.
/learning-guardrails를 실행하면 작업 흐름에 약간의 제동이 걸린다:
-
모든 변경 사항을 검토함
-
자세히 봐야 할 부분이 생기면 실제 코드에 대해 질문을 던짐. 결과가 어떻게 될지 예측해보라거나 트레이드오프를 설명해보라는 식임. 틀리면 정답을 바로 알려주는 게 아니라 질문을 더 쪼개서 다시 물어봄.
-
이미 이해했다고 증명된 내용은 기록해둬서 기초적인 걸 계속 가르치려 들지 않음.
-
옵션 모드를 켜면 질문이 떠 있는 동안에는 파일 수정을 막고, 프롬프트 위에 질문을 계속 띄워두며, 명시적으로 요청하지 않으면 Claude가 이 스킬을 불러오지 않게 함.
AI 코딩 속도를 일부러 늦추려는 게 아니다. 나중에 해야지 하고 미루기만 하던 '이해'라는 과정을 작업의 일부로 강제로 집어넣으려는 거임.
이제 막 만든 거라 피드백 진짜 환영함. 특히 이 마찰이 도움이 되는지, 아니면 그냥 짜증만 나는지 알려주면 좋겠다.
