
ChatGPT에게 「이 코드, 뭐가 문제야?」라고 물었더니, 내가 잘못했다는 느낌을 받은 이야기
요약
ChatGPT를 활용한 코드 리뷰 습관이 개발 프로세스에 미치는 긍정적인 변화를 다룹니다. AI를 통해 코드 품질을 높이고 머지(Merge) 시간을 단축하는 실질적인 경험과 효과적인 활용 팁을 공유합니다.
핵심 포인트
- AI 리뷰 도입 후 코드 리뷰 코멘트 수와 머지 소요 시간 대폭 감소
- 스택 트레이스 분석, 리팩터링 제안, 테스트 코드 초안 작성에 유용
- 설계 상담이나 복잡한 버그 추적, 최신 라이브러리 정보에는 한계 존재
- AI는 아는 것을 가르쳐 주는 데 능숙하지만, 모르는 것을 생각하는 데는 서툼
지난주, 리뷰에서 처참하게 깨진 코드를 ChatGPT에게 던졌다.
사람에게 물으면 어색하다.
상사에게 물으면 다음 1on1(일대일 면담)에서 다시 들춰진다.
ChatGPT라면 화내지 않는다. 너무나도 최고다.
그렇게 생각했다.
돌아온 답변은 이러했다.
「이 코드에는 몇 가지 문제가 있습니다. 우선, 책임의 분리 (Separation of Concerns)가 되어 있지 않습니다. 다음으로, 에러 핸들링 (Error Handling)이 불충분합니다. 또한, 명명 (Naming)이 의도를 전달하지 못하고 있습니다. 게다가、、、」
전부 지난주 상사가 했던 말과 똑같았다.
사람이 말하면 방어 기제가 생긴다.
「네가 뭘 안다고」라는 마음이 0.1% 정도 솟구친다.
하지만 AI가 말하면, 왠지 모르게 「그렇군요……」라며 순순히 받아들이게 된다.
이게 대체 뭘까?
AI는 나를 싫어해서 말하는 게 아니다.
나의 과거 실수를 뒤끝 있게 기억하는 것도 아니다.
그저 코드를 보고 사실을 말하고 있을 뿐이다.
상사의 말은 같은 내용이라도 「평가」와 직결되는 압박감이 있다.
AI의 말에는 그것이 없다.
그래서 뼈아프게 다가오는 것이 아닐까 예측해 본다.
3개월 정도, 작성한 코드를 먼저 AI에게 던진 후 풀 리퀘스트 (Pull Request)를 보내는 습관을 들여 보았다.
Before (AI 없이)의 풀 리퀘스트:
- 리뷰어의 코멘트: 평균 14건
- 「이거 뭐 하는 거야?」 계열의 코멘트: 6건 정도
- 머지 (Merge)까지의 일수: 평균 3.2일
After (AI 리뷰 후)의 풀 리퀘스트:
- 리뷰어의 코멘트: 평균 6건
- 「이거 뭐 하는 거야?」 계열의 코멘트: 1건 정도
- 머지 (Merge)까지의 일수: 평균 1.4일
보시다시피 극적으로 변했다.
AI가 지적하는 것의 대부분은 기초적이지만, 듣고 나면 고칠 만한 내용이었다.
즉 나는, 들으면 고칠 수 있는 것을 들을 때까지 고치지 않았던 것이다. 왠지 분하다.
뭐, AI도 만능은 아니기에 나만의 사용법을 적어둔다.
「이 에러, 뭐야?」
스택 트레이스 (Stack Trace)를 붙여넣으면 대체로 한 번에 원인을 특정해 준다.
Google에서 검색하며 Stack Overflow를 헤매는 시간이 급격히 줄었다.
참고로, Stack Overflow의 질문 수가 AI의 보급으로 급감했다고 한다.
「이 방식, 더 깔끔하게 쓸 수 있어?」
리팩터링 (Refactoring) 안을 여러 개 제시해 준다. 채택할지는 스스로 판단하면 된다.
「이 코드, 테스트 짜줘」
솔직히 이게 가장 도움이 된다. 테스트를 짜는 것이 귀찮아서 뒤로 미루기 일쑤였는데,
AI에게 초안을 만들어 달라고 하면 「나머지는 수정하기만 하면 된다」가 되어 단번에 편해졌다.
「이 설계 어떻게 생각해?」
컨텍스트 (Context)가 부족하면 빗나간 답변이 온다.
프로젝트의 배경, 팀의 상황, 과거의 경위… 기타 등등.
그런 것들을 AI는 모른다.
설계 상담은 아직 사람이 더 낫다. (아직은, 언젠가 바뀔지도 모르지만…)
「이 버그, 왜 발생하는 거야?」 (재현 절차가 복잡한 경우)
코드만 붙여넣어도 실행 환경이나 상태에 따라 발생하는 버그는 추적할 수 없다.
「원인은 여기일지도 모릅니다」라며 몇 가지 패턴을 제시해 주지만, 적중률은 낮다.
「〇〇 라이브러리의 최신 버전 사용법은?」
지식이 오래되었다. 자신만만하게 오래된 API를 알려준다.
공식 문서 (Official Documentation)를 읽는 편이 빠르다. (혹은 문서를 읽게 시키거나)
「AI가 있으면 Google 검색은 필요 없다」
「AI가 있으면 상사에게 물어볼 필요가 없다」
「AI가 있으면 무엇이든 해결된다」
이런 의견을 가끔 본다.
절반은 정답이고, 절반은 틀렸다고 생각한다.
AI는 「알고 있는 것을 가르쳐 주는 것」은 잘하지만,
「모르는 것을 생각하는 것」은 서툴다.
사내 분위기 같은 것도 마찬가지다.
내가 3개월간 사용하며 깨달은 것은,
「AI는 똑똑한 후배」라는 것이다.
지시하면 움직인다. 질문하면 답한다. 하지만 판단은 스스로 해야 한다.
통째로 맡겨버리면, 자신만만하게 거짓말을 한다.
확인하면서 사용한다. 그것만으로도 완전히 다르다.
ChatGPT에게 처참하게 깨진 나의 코드는, 그 후 상사에게 거의 코멘트 없이 머지되었다.
즉 AI의 지적은 옳았다는 뜻이 된다.
상사에게 들었던 똑같은 말을 AI에게 듣고 나서야 처음으로 고쳤다.
나의 문제는 코드가 아니라, 받아들이는 방식이었을지도 모른다.
「AI 리뷰를 시도해 본 적 있다」라거나 「이런 식으로 사용하고 있다」는 분들은 꼭 댓글로 알려주세요. 참고하겠습니다.
좋았다면 꼭 좋아요도 부탁드립니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기