AI Code Review Agent

합치기 전에,
AI가 먼저 검문합니다.

Faceta는 모든 Merge Request를 8개 전문 관점으로 동시에 리뷰하고, 변경이 코드 전체에 미치는 영향 범위까지 추적해 "합쳐도 되는지"를 신호등으로 알려주는 AI 코드 리뷰 에이전트입니다.

GitLab GitHub Bitbucket
MR·PR 자동 리뷰 · 설치형(사내·온프렘) 지원
faceta.ops.infograb.io
faceta
Code Review Ops
Overview/ org / all projectslive
Gate Grade
C+
Open MRs
29
High Risk
17
Medium
43
Verdict Distribution
Blocked 1 Not Ready 7 Conditional 11 Ready 10
Risk by Category
architecture19
bug_hunter17
security12
style12
Repositories
Cacme/web-platform1 blocked4 MRs
Bacme/insight-api9 risky · 18 MRs
Repositories/ acme / platform / web-platform
acme
Cacme/platform/web-platform4 open · 1 blocked
!142결제 모듈 리팩터링 + 마이그레이션Blocked
!139검색 인덱스 캐시 리팩터링Conditional
!135결제 영수증 PDF 생성Not Ready
!131로그인 토큰 갱신 로직Ready
Timeline/ recent reviews
결제 모듈 리팩터링 + 마이그레이션
acme/web-platform · !142
Blocked방금
검색 결과 페이지네이션 버그
acme/insight-api · !88
Not Ready12분 전
패키지 레지스트리 연동
acme/docs-portal · !105
Conditional1시간 전
로그인 토큰 갱신 로직
acme/web-platform · !135
Ready3시간 전
CI 캐시 키 정리
acme/api-gateway · !57
Ready5시간 전
인포그랩이 매일 자체 코드 리뷰에 사용합니다· GitLab · GitHub · Bitbucket 연동· 설치형 — 사내 게이트웨이 / 온프렘· 단일 데이터 저장소 (PostgreSQL)
동작 미리보기

MR 하나가 신호등이 되기까지.

실제 리뷰 흐름입니다 — 받고, 8개 에이전트가 동시에 검토하고, 신호등으로 판정합니다. (반복 재생)

왜 다른가

바뀐 '줄'만 보는 리뷰는, 절반만 봅니다.

대부분의 자동 리뷰 도구는 diff에 찍힌 라인만 봅니다. 정작 그 변경이 어디까지 번지는지는 사람의 몫으로 남죠. Faceta는 코드 그래프 위에서 영향 범위를 계산해, AI에게 "이 한 줄이 건드리는 모든 것"을 함께 줍니다.

일반 리뷰 봇

변경된 라인 = 리뷰 범위

  • diff에 없는 호출 경로의 부작용을 놓침
  • 한 모델이 모든 관점을 얕게 훑음
  • "LGTM" — 합격 기준이 사람마다 제각각
Faceta

변경 + 파급 범위 = 리뷰 범위

  • 지식 그래프로 영향 범위를 추적해 주입
  • 8개 전담 AI가 각 관점을 깊게 검토
  • 심각도 기반의 일관된 신호등 판정 + 근거
작동 방식

MR 하나가 신호등이 되기까지, 3단계.

설정이 끝나면 개발자는 아무것도 하지 않습니다. MR을 올리면 Faceta가 알아서 검문하고 코멘트를 답니다.

받는다

개발자가 GitLab에 MR을 올리면 Faceta가 webhook으로 신호를 받습니다. 별도 명령도, 추가 작업도 없습니다.

검토한다

8개의 AI가 보안·버그·구조 등 각 관점으로 동시에 코드를 읽습니다. 변경의 영향 범위를 힌트로 함께 받습니다.

알려준다

찾은 문제를 모아 신호등(verdict)을 정하고, MR에 인라인 코멘트와 머지 준비도 리포트를 자동으로 답니다.

acme/web-platform · !142Not Ready

모바일 드로어 + 검색 클라이언트 리팩터링

+318 −94 · 6 files · head 972c535
bug_hunter1 architecture2 security0 style3 api_contract0 observability0
high 드로어가 열리자마자 닫힙니다

MobileDrawer.tsx:41 — pathname 변경 effect가 open=true일 때도 즉시 실행돼 드로어를 닫습니다.

MobileDrawer → useRouteChange → layout context (2 hops)
결과물

리뷰가 아니라, 의사결정을 받습니다.

각 MR에는 신호등 판정, 카테고리별 발견 건수, 그리고 "왜"가 붙습니다. 코멘트는 GitLab MR에 인라인으로 자동 게시되어, 리뷰어는 요약과 근거만 확인하면 됩니다.

Multi-Agent Review · 8 Facets

한 명이 다 보는 대신, 8개의 면(facet)을 동시에.

이름 그대로입니다 — Faceta는 코드 변경을 8개의 면(facet)으로 나눠, 각 면을 전담 AI 에이전트가 깊게 검토합니다. 한 모델이 전부 훑는 것보다 빠지는 게 적습니다.

security

보안

취약점, 시크릿 노출, 권한 게이트

architecture

아키텍처

구조·결합도·레이어 경계 위반

bug_hunter

버그 헌터

로직 결함과 엣지 케이스

style

스타일

컨벤션과 가독성

migration_safety

마이그레이션 안전성

DB 잠금·가역성·단계적 적용

api_contract

API 계약

호환성 깨짐·필드 제거·버전 누락

observability

관측성

로깅·메트릭·트레이싱

release_safety

릴리즈 안전성

롤아웃 전략·환경 차이·롤백

Knowledge Graph

코드를 읽기 전에, 저장소 전체의 지도를 그립니다.

Faceta는 리뷰 전에 저장소에 존재하는 모든 데이터로 지식 그래프를 만듭니다. 코드뿐 아니라 API 명세·CI 설정·DB 마이그레이션·IaC·보안 스캔·정책 문서가 서로 어떻게 얽혀 있는지를 한 장의 지도로 들고 있다가, 변경이 들어오면 그 한 줄이 어디까지 번지는지를 계산해 각 에이전트에게 함께 넘깁니다.

  • 코드부터 정책 문서까지, 모두 그래프로코드·API 명세·CI 설정·DB 마이그레이션·IaC·보안 스캔·정책 문서 등 저장소의 데이터를 하나의 그래프로 엮습니다.
  • 변경 → 영향 범위 → 프롬프트 주입바뀐 노드에서 호출 경로를 따라 영향 범위를 뽑아 8개 에이전트의 컨텍스트로 넣습니다.
  • 시점별 캐시 + 머지 시 승격base/head 시점 그래프를 캐시하고, MR이 머지되면 다음 리뷰를 위해 자동으로 승격합니다.
영향 범위 · paymentssecurity
validate() card_store audit_log() SIEM sink openapi.yaml charge() ← 변경
한 줄 변경(charge())이 audit_log() → SIEM 싱크까지 3 hop 번집니다.
Faceta는 이 경로를 security 에이전트에게 함께 줍니다.
Merge Readiness

"괜찮아 보임" 대신, 명확한 신호등.

가장 심각한 문제 하나를 기준으로 판정합니다. 누가 봐도 같은 결론, 그리고 그 이유까지.

Blocked

합치면 안 됩니다.

critical 발견

Not Ready

아직 준비되지 않았습니다.

high 발견

Conditional

확인 후 합치세요.

medium / low 발견

Ready

합쳐도 됩니다.

문제 없음
엔진

리뷰 봇이 아니라, 코드를 이해하는 에이전트.

Knowledge Graph

저장소에 존재하는 모든 데이터(코드·API 명세·CI·마이그레이션·IaC·정책 문서)를 하나의 지식 그래프로 엮어, 변경의 파급 효과를 계산해 각 카테고리 프롬프트에 컨텍스트 카드로 주입합니다.

  • base/head 시점 그래프 + 머지 시 승격
  • 코드·문서·설정·정책을 한 그래프로 통합

운영 대시보드

전체 조직·저장소의 리뷰 현황, 저장소별 등급(A~D), verdict 분포, 토큰·비용을 한 화면에서 모니터링합니다.

  • 멀티 org · 저장소 트리
  • run 상세 · 에이전트 추적 · 타임라인

보안 우선 · 설치형

코드는 사내·온프렘 경계 안에서 처리됩니다. 사내 LLM 게이트웨이를 쓰면 코드가 외부로 나가지 않습니다.

  • Keycloak SSO · HMAC 인증 API
  • PAT는 AES-256-GCM으로 암호화 저장

멀티 Provider

사내 게이트웨이, Kimi, 격리된 로컬 채널 중에서 환경과 비용에 맞게 모델 백엔드를 고릅니다. 리뷰당 비용·시간 상한도 설정 가능합니다.

  • provider 라우팅 · 리뷰당 비용 캡
  • CLI / SDK 호출 모드 선택
신뢰

우리가 매일 쓰려고 만들었고, 그래서 팝니다.

Faceta는 인포그랩 내부 코드 리뷰에 실제로 매일 돌아갑니다. 운영 접근은 사내 Keycloak SSO로 게이트되고, 모든 외부 API는 HMAC으로 인증됩니다.

보안 자료 요청
시작하기

팀의 MR에 Faceta를 붙여보세요.

저장소 하나로 시작해, 첫 리뷰 코멘트가 달리는 걸 직접 보세요. 설치형·온프렘 도입도 도와드립니다.