사내 AI 코드리뷰 시스템 “Prism” 개발기

저희 AI Platform팀은 AIVOps 플랫폼의 안정적인 운영과 코드베이스를 유지하기 위해 사내에서 직접 개발한 코드리뷰 시스템 “Prism”을 사용 중입니다. 이번 글에서는 이 시스템을 어떻게 개발하게 되었는지, 어떤 목적으로 이용 중인지에 대해 소개하려고 합니다.

2026.09.10

  • 기술·제품

AI로 구현은 빨라졌지만, 개발이 빨라지진 않았습니다

저희 AI Platform팀은 AIVOps 플랫폼 개발에 Claude와 Codex를 적극적으로 사용 중이고, 그 덕분에 세부 구현은 AI 모델을 쓰기 전보다 2~3배가량 빨라졌습니다. 하지만 구현이 빨라졌다고 해서 개발 전체가 빨라진 것은 아니었습니다. 개발자끼리 코드 리뷰를 해야 할 양은 이전보다 훨씬 많아졌고, AI가 만든 로직을 사람이 빠르게 판단하기는 어려웠기 때문에 리뷰 속도는 오히려 느려졌습니다. 결과적으로 구현보다 리뷰에 시간을 더 많이 쏟게 되었고, 전체 개발 속도는 이전과 별 차이가 없었습니다.

그림1_구현은_빨라졌지만.png

[그림 1] AI 도구 도입 전후 개발 시간 구성 — 구현은 2~3배 빨라졌지만 리뷰가 병목이 되어 전체 속도는 그대로였습니다.

그래서 '코드 리뷰도 AI의 도움을 받아 빠르게 할 수 있지 않을까?'라는 고민을 시작했습니다. 사람이 먼저 검토하지 않더라도 에이전트가 소프트웨어 공학의 다양한 관점에서 코드를 리뷰해 주면, 개발자는 구현 내용을 한 번 더 점검할 기회를 얻을 수 있습니다. 리뷰어에게도 구현 내용에 대한 인사이트를 제공해 더 빠르고 쉽게 리뷰를 진행할 수 있겠다는 생각이 들었습니다.

이미 다양한 코드리뷰 솔루션이 있었습니다

위와 같은 문제는 개발자라면 누구나 겪는 공통적인 문제일 테니 솔루션이 있지 않을까 싶었고, 예상대로 이미 다양한 솔루션이 존재했습니다. 저장소 플랫폼이 자체 제공하는 리뷰 기능도 있고, 저장소에 연동해 리뷰를 제공하는 서드파티 서비스도 있으며, 개발자 로컬 코드베이스를 리뷰해 주는 도구도 있었습니다. 어떤 것이 저희 팀에 맞을지 알 수 없었기 때문에, 각 서비스의 무료 티어 기간을 활용해 하나씩 사용해 보고 개발자들의 의견을 들었습니다.

각 서비스를 돌아가면서 사용한 결과, 결론적으로 코드 리뷰 서비스 자체는 전반적으로 개발에 도움이 되며 계속 쓰면 좋겠다는 의견이 개발자들 사이에서 지배적이었습니다. 실제로 사람이 놓친 오류를 잡아내는 경우도 있었고, 코드 요약 등 다양한 인사이트를 제공해 주어 리뷰를 진행하는 데도 도움이 되었습니다.

그림2_솔루션_유형.png

[그림 2] 시중 코드 리뷰 솔루션의 세 가지 유형 — 플랫폼 내장형, 서드파티 연동형, 로컬 도구형을 무료 티어로 하나씩 검증했습니다.

그래도 직접 시스템을 만들기로 했습니다

그럼에도 이 솔루션들을 그대로 도입하기에는 여러 문제가 있었습니다. 가장 먼저 부딪힌 것은 세부 설정 문제였습니다. 어떤 서비스는 설정 정보가 잘 드러나 있지 않아 숨어 있는 설정을 일일이 찾아다녀야 했고, 또 다른 서비스는 커스터마이징 여지가 거의 없어 PR 승인이 강제로 막히거나 리뷰 트리거 방식을 바꿀 수 없었습니다. 무엇보다 가장 큰 부담은 비용이었습니다. 하루에도 수많은 PR이 발생하기 때문에 PR당 과금하는 서비스는 현실적으로 쓰기 어려웠고, 정액제 서비스도 사용자당 약 20달러 이상을 지불해야 했습니다. 마지막으로 보안도 고민이었습니다. 회사 내부 코드를 외부 SaaS에 보내 리뷰받는다면 코드가 유출될 위험을 완전히 배제하기 어렵기 때문입니다.

쉽지 않은 커스텀 설정, 큰 비용, 그리고 보안 문제까지 감안하면 솔루션 도입보다 직접 만드는 편이 낫겠다는 결론에 이르렀고, 그렇게 사내 코드 리뷰 시스템 Prism을 개발하게 되었습니다. 빛을 여러 색으로 분리하는 프리즘처럼, 코드를 보안·성능·가독성·설계 등 다양한 관점으로 나누어 분석하자는 의미를 담은 이름입니다.

그림3_직접_개발_이유.png

[그림 3] 기존 솔루션을 도입하지 못한 세 가지 이유 — 커스터마이징 한계, 비용, 보안 문제로 직접 개발을 택했습니다.

시작은 단순했지만 점점 발전해 나갔습니다

처음의 Prism은 굉장히 단순한 구조였습니다. 저장소에서 PR 이벤트를 받으면 해당 PR 정보를 프롬프트에 넣어 코드 리뷰를 응답으로 받는 방식이었습니다. 이것만으로도 리뷰 자체는 의미 있는 결과를 보여 주었지만, 레포지토리 컨텍스트를 전달할 수 없어 기존 코드베이스의 컨벤션이나 설계까지는 리뷰에 반영하지 못했습니다. 레포지토리 전체를 컨텍스트로 넘길 수는 없기 때문에, 우선 PR에 포함된 파일 전체와 그 파일들에 유기적으로 연결된 파일들을 컨텍스트에 포함해 리뷰를 진행했습니다.

문제는 PR 관련 내용이 일률적으로 컨텍스트에 포함되다 보니 전달되는 토큰 양이 너무 많았고, 변경된 코드보다 함께 포함된 주변 코드가 더 많아져 리뷰 품질이 오히려 떨어졌다는 점입니다. 그래서 기계적으로 컨텍스트를 추가하는 대신, 모델이 필요한 정보를 스스로 가져가도록 구조를 바꿨습니다. 모델에게 파일과 git 로그를 읽을 수 있는 도구를 주고, 컨텍스트가 충분하다고 판단할 때까지 직접 정보를 수집하게 한 것입니다. 그러자 적은 토큰으로도 컨텍스트가 충분히 반영된 좋은 품질의 리뷰를 받을 수 있었습니다.

그림4_컨텍스트_수집_전환.png

[그림 4] 컨텍스트 수집 방식의 전환 — 일률적 주입에서 에이전트가 필요한 정보만 스스로 수집하는 구조로 바꿨습니다.

이제는 팀을 넘어 전사에서 사용합니다

현재는 PR 한 건당 100원 정도의 매우 적은 비용으로 코드 리뷰를 받고 있습니다. 적은 비용에 비해 잡아내는 문제들이 생각보다 많아 유용하게 쓰고 있고, 저희 팀을 넘어 사내 공용 프로젝트로 전환해 전사적으로 사용하면서 발생할 수 있는 오류와 문제를 코드 리뷰 단계에서 미리 걸러내고 있습니다.

그림5_리뷰_결과.png

[그림 5] Prism이 PR에 남긴 실제 코드 리뷰 — 요약과 함께 심각도별 이슈를 파일·라인 단위로 짚어 줍니다.

프로젝트마다 중점으로 생각하는 포인트들이 달라질 수 있기 때문에 레포지토리별로 추가적인 관점을 구체적으로 확인할 수 있도록 설정도 간단하게 추가되었고, PR 과정에서 나눈 대화나 질의도 컨텍스트에 포함되도록 하여 더욱 양질의 리뷰가 될 수 있도록 기능이 점진적으로 추가되었습니다.

그림6_레포지토리_설정.png

[그림 6] Prism 레포지토리 설정 화면 — 사내 여러 프로젝트 저장소를 등록하고, 레포별 AI 지침을 더해 리뷰에 반영합니다.

더 나아가 이제는 단순히 결과를 표시하는 데 그치지 않고, 리뷰 결과를 기반으로 에이전트가 개선 커밋이나 풀리퀘스트를 자동으로 올리게 하여 개발 루프를 자동화하고 있습니다. 풀리퀘스트 단위를 넘어 레포지토리 전체에 예약 리뷰를 걸어, 레포 전체의 안정성을 점검하고 기술 부채를 주기적으로 줄여 나가는 시도도 진행 중입니다.

그림7_개발_루프_자동화.png

[그림 7] Prism의 개발 루프 자동화 — 리뷰 코멘트를 넘어 개선 PR 자동 생성과 레포 예약 리뷰까지 수행합니다.

추후에는 로컬 LLM을 도입해 모델 사용 비용을 아예 없애는 방향도 계획하고 있습니다. Llama 등으로 테스트해 본 결과 응답 시간과 리소스를 고려하면 아직은 클라우드 모델이 더 나은 결과를 보이지만, 로컬 LLM의 가용성과 성능이 빠르게 좋아지고 있어 가까운 미래에는 충분히 기대해 볼 만하다고 생각합니다.

중요한 것은 플랫폼의 안정성과 소프트웨어의 품질입니다

AI가 아무리 코드를 빨리 만들어 내도, 검증이 뒷받침되지 않으면 품질은 결국 무너질 수밖에 없습니다. Prism 역시 플랫폼의 안정성과 소프트웨어의 품질을 지키려는 노력의 연장선에서 나온 도구입니다. 저희 팀은 앞으로도 안정적인 플랫폼과 좋은 품질의 소프트웨어를 위해 무엇이 더 필요할지 항상 고민하겠습니다.

*AI Platform Group 관련 글 함께보기:
모델 전문가 없이 학습 결과를 읽는 법

아이벡스가 궁금하다면?

왜 AIVEX인지, 그리고 우리가 어떤 팀인지 자세히 알아보세요.