GLM-5.2 코드 리뷰는 프롬프트에 달려 있습니다

Z.ai의 GLM-5.2는 인기 있는 오픈 웨이트(open-weight) 모델입니다. 저희는 이 모델의 코드 리뷰 성능을 테스트했습니다. 그 결과, 모델에게 어떻게 말을 거느냐(프롬프트 방식)에 따라 리뷰 품질이 달라진다는 것을 발견했습니다.

저희는 두 가지 테스트를 진행했습니다. 첫 번째 테스트에서는 16개의 버그가 포함된 간단한 TypeScript 백엔드를 사용했습니다. 두 번째 테스트에서는 10개의 미묘한 버그가 포함된 복잡한 시스템을 구축했습니다. 이 버그들은 앱의 서로 다른 부분들이 어떻게 상호작용하는지 이해해야만 찾아낼 수 있는 것들이었습니다.

테스트를 통해 알게 된 점은 다음과 같습니다:

  • 프롬프트의 문구가 추론 노력(reasoning effort)보다 더 중요합니다. 추론 모드를 낮음에서 높음으로 전환하는 것보다 프롬프트를 변경하는 것이 결과에 더 큰 영향을 미쳤습니다.
  • 엄격한 프롬프트는 역효과를 낼 수 있습니다. 모델에게 "운영 환경의 PR을 차단하거나 승인하라"고 지시하면, 모델은 보안에만 집중합니다. 하드코딩된 비밀번호나 취약한 해싱은 찾아내지만, 정작 찾아내길 원하는 실제 로직 버그는 놓치게 됩니다.
  • GLM-5.2는 로컬 버그를 쉽게 찾아냅니다. 권한 가드(permission guard) 오류나 잘못된 변수 사용과 같이 단일 함수 내부의 오류를 잘 잡아냅니다.
  • 시스템 전반에 걸친 버그는 GLM-5.2에게 어렵습니다. 여러 파일에 걸쳐 있는 규칙을 파악하는 데 어려움을 겪습니다. 예를 들어, 보관된 작업(archived tasks)이 검색 결과나 내보내기(exports)에 노출되는 문제를 놓쳤습니다.
  • 프런티어(Frontier) 모델들이 더 신뢰할 만합니다. GPT-5.5와 Opus 4.8은 복잡한 교차 경로(cross-route) 버그를 단 한 번의 실행으로 잡아냈습니다. 반면 GLM-5.2는 이러한 작업에서 일관성이 떨어집니다.

GLM-5.2를 효과적으로 사용하는 방법:

  • 로컬 로직에 사용하세요. 단일 함수 내의 오류를 찾는 데 매우 유용합니다.
  • 지시 사항을 구체적으로 작성하세요. 단순히 "엄격한" 리뷰를 요청하는 대신, 서로 다른 경로(routes) 간의 일관성을 확인하도록 요청하세요.
  • 확인하고 싶은 동작을 명시하세요. 검색, 내보내기, 목록 기능이 모두 데이터를 동일한 방식으로 처리하는지 확인하라고 지시하세요.
  • 중요한 코드에 대해 단 한 번의 실행 결과에 의존하지 마세요. 결과가 가변적이므로, 복잡한 변경 사항에 대해서는 여러 번 실행하거나 더 강력한 모델을 사용하는 것이 좋습니다.

GLM-5.2는 유능한 도구이지만, 작업에 맞는 적절한 프롬프트를 사용하는 것이 필수적입니다.

Source: https://dev.to/kilocode/glm-52s-code-reviews-are-only-as-good-as-your-prompt-5233

Optional learning community: https://t.me/GyaanSetuAi