자동 리뷰는 어느 시점에서 해 주면 좋을까?
[dify
gitlab
codereview
]
Dify로 gitlab 개발환경 MR발생시 GPT를 통한 자동 리뷰 시스템 구축(4)
이번 글에서는 자동 리뷰 타이밍에 대한 고민을 좀 적어 보려 합니다.
MR 발생시 자동리뷰 구축을 하려고 하니 타이밍이 문제였습니다.
처음에는 master 브랜치에 발생하는 MR이 Open되면 자동으로 되게 했습니다. 그랬더니 문제는 교육생들에게 발생하는 리뷰 횟수가 너무 작았습니다. Master에 자주 MR을 하지 않는 것 같았습니다.
그래서 모든 브랜치에 발생하는 MR이 Open되면 되게 했습니다. 그런데 또 문제가 있었습니다. 하나의 브랜치에서 MR에 변경이 발생할 때마다 Opened로 인식이 되어 아주 비슷한 내용의 리뷰가 코멘트로 계속 발생하는 것이었습니다.
고민을 하다가 모든 브랜치에서 MR이 Open되면 한번만 리뷰를 하고 그 이후의 변경사항에는 코멘트를 하지 않는 방향으로 했습니다. MR 발생후 수정이 크게 일어나지 않고 처음 리뷰가 전체적인 흐름을 잘 잡아준다는 생각에서였습니다.
한번만 리뷰를 하게 하려면 어떻게 해야 할 까..? 꼼수를 썼습니다. 자동 리뷰 발생시 내용은 항상 특정 문장으로 시작하도록 프롬프트를 짰습니다. 그리고 MR발생시 해당 MR에 코멘트(notes)를 불러와 앞에서 지정한 특정 문장이 존재하는지 체크한 다음 없으면 리뷰 코멘트를 작성하도록 했습니다. 이런 아이디어를 내는데 GPT의 도움을 좀 받았습니다. 이렇게 하니 MR에서 내용이 비슷한 리뷰가 여러번 발생하는 일은 없어졌습니다.
아직 시험 적용 단계라 이런 방식이 맞는 것인지 알 수는 없습니다. 지금 생각하는 방식은 MR발생시 자동 코드 리뷰는 1회만 하고 그 이후에는 팀원들이 이 리뷰에 맞춰 수정해가면서 자체적으로 리뷰를 진행했으면 하는 바램입니다.