URL: https://www.youtube.com/watch?v=uuwDWRbxoYo
날짜: 2026-10-09
채널: aiDotEngineer
원문 제목: AI Writes More PRs. Who Validates Them? — Ali-Reza Adl-Tabatabai, Sonar
발표자: Ali-Reza Adl-Tabatabai
영상 ID: uuwDWRbxoYo
메타데이터
- 콘텐츠 유형: YouTube 기술 발표
- 주제: AI 생성 코드의 PR 검증, CI·코드 리뷰 자동화, 에이전트와 정적 프로그램 분석의 결합
- 처리일: 2026-10-09
- 자막: 영어 자동 생성 자막을 바탕으로 전체 발언을 한국어로 옮김
📌 핵심 질문 / 이 영상이 다루는 핵심 논점
==AI가 PR의 수와 크기를 동시에 늘리는 상황에서, 품질·보안·속도를 지키면서 누가 모든 변경을 검증할 것인가?==
- 소프트웨어 팀의 중앙 검증 단계인 CI와 코드 리뷰가 품질·보안·컴플라이언스의 관문이지만, 규모가 커질수록 병목이 된다.
- AI가 생성하는 PR이 많아지고 커지면서 사람에게 모든 PR을 꼼꼼히 검토하게 하거나 대충 승인하게 하는 두 선택지 모두 비용이 크다.
- 에이전트가 리뷰, CI 실패 원인 분석, 수정, 재시도, 승인·병합까지 수행하고, SonarQube의 알고리즘 기반 프로그램 분석을 결합하면 AI 생성 코드의 속도와 안전성을 함께 높일 수 있다.
AI가 코드 생산량을 끌어올린 만큼 검증도 같은 속도로 확장되어야 한다. Guitar.ai가 만든 검증 에이전트는 PR을 분석해 실제로 중요한 문제만 제시하고, CI 실패를 분류·설명하며, 필요하면 스스로 수정한 뒤, 신뢰 수준에 따라 승인과 병합까지 자동화한다. Sonar에 인수된 뒤에는 에이전트의 문맥 이해와 정적 분석의 정밀성을 함께 활용하는 방향으로 확장된다.
1. 중앙 집중형 검증 단계가 가진 구조적 병목
CI와 코드 리뷰는 모든 변경이 운영 환경에 들어가기 전에 거쳐야 하는 중앙 검증 단계다. 이 단계가 품질을 보장하는 동시에 개발 흐름의 가장 비싼 병목이 될 수 있다.
1.1. 검증 단계의 역할
-
품질·보안·컴플라이언스 관문
- 중앙 품질 게이트: CI와 코드 리뷰는 보안, 컴플라이언스, 코드 품질에 관한 모든 게이트를 한곳에서 집행한다.
- 운영 배포의 임계 경로: 변경 사항이 프로덕션에 도달하려면 반드시 이 단계를 통과해야 하므로, 검증이 빠를수록 전체 전달 속도가 빨라진다.
-
개발 규모가 커질수록 커지는 지연
- 긴 빌드와 작업: 엔지니어링 조직이 확장되면 빌드와 검증 작업이 오래 걸린다.
- 분산된 비동기 리뷰: 여러 사이트와 지리적 위치에 있는 팀이 비동기적으로 리뷰하면 시간대와 대기 시간이 추가된다.
- 자연스러운 속도 저하: 조직이 커질수록 검증 단계의 대기와 조정이 누적되어 전체 흐름이 느려진다.
1.2. 비용과 운영 복잡성
-
개발자 인프라 비용의 집중
- 비싼 도구의 통합: 검증 단계에는 여러 고가 도구가 들어가며, 조직이 커질수록 이 도구를 통합하고 확장해야 한다.
- 비싼 실행 인프라: 빌드, 테스트, 분석을 실행하는 인프라 자체가 비싸다.
- 플랫폼 팀의 핵심 업무: 이런 이유로 CI·리뷰·검증 파이프라인은 플랫폼 조직이나 플랫폼 팀의 주요 관심사가 된다.
-
실패가 만드는 바깥쪽 루프
- 시간 단위의 복구 비용: 검증 단계에서 실패하면 개발자는 즉시 흐름 안에서 고치는 대신 바깥쪽 루프로 빠지고, 복구 시간이 보통 시간이나 일 단위로 늘어난다.
- 생산성 손실: 실패는 개발자 시간을 소모하고, 작업의 흐름 상태(flow state)를 끊어 손실을 더 크게 만든다.
- 최적화의 어려움: 여러 시스템이 단편적으로 연결되어 있고, 조직마다 bespoke 설정과 스크립트가 쌓여 있어 개선하기 어렵다.
- 제한된 운영 인력: 대개 인원 제약이 있는 플랫폼 팀이 이 복잡한 시스템을 계속 가동하고 유지해야 한다.
-
AI로 해결할 때의 추가 난제
- 복잡한 워크플로 오케스트레이션: AI를 투입해도 여러 도구의 통합, 팀별 상호작용, 비동기 작업 흐름을 조율해야 한다.
- 단순한 단일 호출의 한계: 실제 검증은 리뷰·CI·수정·승인 등 서로 다른 작업과 상태를 이어야 하므로 여러 단계의 에이전트 워크플로가 필요하다.
2. AI가 만든 코드 증가가 검증 문제를 악화시키는 방식
AI는 코드 생산을 가속하지만 검증해야 할 변경의 양과 잠재적 결함도 함께 키운다.
2.1. 더 많고 더 큰 PR
-
오른쪽으로 이동하는 개발 생명주기 비용
- PR 수의 증가: AI 덕분에 예전보다 더 많은 PR이 생성된다.
- PR 크기의 증가: 각각의 PR도 더 커지는 경향이 있어 한 번에 검토해야 하는 코드가 늘어난다.
- 결함의 동반 가능성: 더 많은 코드와 더 큰 변경은 더 많은 결함을 품을 수 있다.
- 비용의 후반 이동: 코드 생성이 빨라진 만큼 개발 생명주기의 비용과 위험이 리뷰·테스트·운영 장애 쪽으로 이동한다.
-
검증량과 운영 위험의 동시 증가
- 리뷰 부담: 개발자가 검토해야 하는 코드가 훨씬 많아진다.
- 프로덕션 실패 가능성: 잠재적으로 프로덕션에서 실패할 변경도 많아진다.
- 속도와 안전성의 충돌: 생산량을 그대로 유지하면서 사람이 모든 변경을 깊이 검증하기는 어렵다.
2.2. 사람이 선택해야 하는 두 가지 나쁜 선택
-
모든 PR을 매우 신중하게 검토하기
- 안전성 확보: 개발자에게 모든 PR을 꼼꼼히 리뷰하게 하면 문제를 더 많이 발견할 수 있다.
- 속도 저하: PR 증가량을 사람이 모두 소화하면 전달 속도가 느려진다.
-
PR을 사실상 도장 찍듯 승인하기
- 처리량 유지: 검토를 형식화하면 PR을 빠르게 통과시킬 수 있다.
- 프로덕션 사고 위험: 발견하지 못한 결함이 운영 장애로 이어질 가능성이 커진다.
-
개발자 경험의 악화
- 낮아지는 만족도: 어느 쪽을 택해도 개발자는 덜 행복해진다.
- 생산성 하락: 리뷰 대기, 반복 수정, 장애 걱정이 늘면서 기대했던 AI 생산성 향상이 줄어든다.
3. Guitar.ai의 에이전트 기반 PR 검증
해법으로 제시된 것은 “물론 AI를 더 쓰는 것”이라는 다소 익살스러운 답이며, 핵심은 검증 전체를 처리하는 에이전트적(agentic) 접근이다. Guitar.ai가 구축한 기능은 Sonar의 일부로도 제공되고 있다.
3.1. PR 생성 직후의 자동 리뷰
-
실제 문제 중심의 리뷰
- 자동 PR 리뷰: PR이 생성되면 에이전트가 코드를 검토한다.
- 이슈와 인라인 코멘트: 발견한 문제를 이슈와 코드 위치별 인라인 코멘트로 게시한다.
- 노이즈 최소화: 목표는 UX와 게시하는 이슈의 품질 모두에서 최대한 노이즈 없는 경험을 만드는 것이다.
- 중요한 문제만 제시: 단순히 많은 경고를 만드는 것이 아니라 실제로 존재하고 실제로 중요한 문제를 올린다.
-
조직별 검증 규칙
- 사용자 규칙: 팀은 자신만의 리뷰 규칙을 설정할 수 있다.
- 커스텀 체크: 기본 기능에 더해 조직별 검사를 추가할 수 있다.
- 워크플로 자동화: 자체 커스텀 워크플로 자동화를 트리거할 수 있다.
- 병합 차단: 해결되지 않은 코드 리뷰 발견 사항이 있으면 병합을 막도록 설정할 수 있다.
3.2. CI 실패 분석과 수정
-
실패 원인 가시화
- 근본 원인 요약: CI가 실패하면 에이전트가 실패 원인의 요약을 게시한다.
- 문제 해결 방향 제공: 단순히 실패했다는 상태를 알리는 대신 어디에서 왜 실패했는지 이해할 수 있게 한다.
-
플레이키 테스트 처리
- 플레이키 테스트 탐지: 간헐적으로 실패하는 테스트를 특히 잘 잡아낸다.
- 자동 재시도 규칙: 원하면 플레이키 테스트를 자동으로 재시도하도록 규칙을 만들 수 있다.
- 높은 사용 수요: 플레이키 테스트 자동 재시도는 사용자들이 매우 많이 사용하는 기능이다.
-
자동 수정 루프
- 리뷰 이슈 수정: 에이전트가 자신이 제기한 코드 리뷰 문제를 자동으로 수정할 수 있다.
- CI 실패 수정: CI에서 발생한 실패도 자동으로 고칠 수 있다.
- 지정 수정과 반복 수정: 특정 이슈 하나를 직접 고치라고 요청하거나, PR이 초록색이 될 때까지 모든 발견 사항을 고치는 반복 루프를 설정할 수 있다.
- 병합 준비 상태: 리뷰 이슈와 CI 실패가 모두 해결되면 병합 가능한 green PR이 된다.
3.3. 조건부 자동 승인과 병합
-
자동 승인
- 초록색 PR 처리: green PR은 자동으로 승인하고 병합할 수 있다.
- 조건 기반 통제: 어떤 조건에서 에이전트가 PR을 자동 승인할지 규칙으로 정의한다.
-
신뢰에 따른 점진적 자동화
- 첫 단계—리뷰 확인: 사용자는 먼저 리뷰를 받아 보고 리뷰의 정확성을 평가한다.
- 두 번째 단계—차단 권한 부여: 리뷰가 정확하고 중요한 문제를 제기한다는 신뢰가 생기면 에이전트가 PR을 막도록 권한을 준다.
- 세 번째 단계—자동 수정: 리뷰나 CI 실패가 발견되면 에이전트가 자동으로 PR을 초록색으로 만든다.
- 네 번째 단계—자동 승인·병합: 충분한 신뢰가 쌓이면 규칙에 따라 승인과 병합까지 맡긴다.
- 가치의 증가: 자동화 수준이 올라갈수록 시스템에 대한 신뢰와 사용자가 얻는 가치도 함께 커진다.
4. 모든 PR을 처리할 때 생기는 조직 인사이트
각 PR을 AI로 처리하면 개별 변경을 검증하는 것을 넘어 플랫폼 팀과 리더십 팀이 조직 전체의 개발 흐름을 관찰할 수 있다.
4.1. CI 실패 분류
-
플랫폼 팀을 위한 실패 지형도
- 실패 집중 지점: CI 시스템의 어느 부분에서 개발자가 반복적으로 막히는지 파악할 수 있다.
- 플레이키 문제: 테스트 신뢰성 문제라면 테스트의 안정성을 높이는 작업이 필요하다.
- 인프라 문제: 인프라가 원인이라면 플랫폼 차원의 수리가 필요하다.
- 기타 실패 유형: 플레이키와 인프라 외의 실패도 분류해 서로 다른 대응을 선택할 수 있다.
-
운영 우선순위 설정
- 반복 장애 식별: 실패를 유형별로 묶으면 플랫폼 팀이 어디에 시간을 써야 하는지 알 수 있다.
- 신뢰성 개선 연결: 테스트 신뢰성 개선과 인프라 개선을 분리해 실행할 수 있다.
4.2. PR 유형 분류
-
리더십을 위한 엔지니어링 현황
- 변경의 성격 파악: 엔지니어링 팀에서 실제로 어떤 PR이 병합되고 있는지 확인할 수 있다.
- 기능 개발 비중: 새로운 기능 개발에 해당하는 PR이 얼마나 되는지 볼 수 있다.
- 문제 수정 비중: 버그나 이슈를 고치는 PR의 양을 파악할 수 있다.
- 유지보수 작업 비중: chores, 리팩터링 등 기능 개발 외의 작업 비중도 확인할 수 있다.
-
자동 검증의 부가 가치
- 검증 데이터의 재활용: 모든 PR을 통과시키며 얻은 분류 결과가 단순한 통과·실패 기록을 넘어선다.
- 조직 의사결정 지원: 리더십은 팀의 실제 작업 구성을 바탕으로 우선순위와 투자 방향을 판단할 수 있다.
5. Guitar.ai의 내부 구성
검증용 시스템은 세 가지 핵심 구성 요소를 중심으로 PR 워크플로를 오케스트레이션한다.
5.1. 컨트롤 플레인
- PR 워크플로 오케스트레이션
- 조정 계층: 컨트롤 플레인은 PR 검증 워크플로를 처리하는 오케스트레이션 계층이다.
- 단계 연결: 리뷰, CI 실패 처리, 수정, 승인·병합처럼 서로 다른 단계를 하나의 흐름으로 이어 준다.
5.2. 에이전트 런타임과 자체 하네스
-
다중 에이전트 실행
- 자체 하네스: Guitar.ai는 검증 목적에 맞춘 자체 에이전트 하네스를 만들었다.
- 다중 에이전트 관리: 여러 에이전트의 실행을 조정한다.
-
문맥·메모리·도구 관리
- 문맥 관리: PR, 저장소, CI 상태, 앞선 시도의 정보를 검증 흐름에 맞게 유지한다.
- 메모리 관리: 여러 단계에 걸쳐 필요한 정보를 보존한다.
- 도구 호출과 통합: 검증에 필요한 도구 호출과 각종 외부 통합을 처리한다.
-
검증 전용 최적화
- 토큰 비용: 검증 작업에 필요한 토큰 비용을 최적화한다.
- 정밀도: 실제로 중요한 문제를 맞히는 정밀도를 높인다.
- 커버리지: 검토해야 할 코드와 실패 유형을 넓게 다룬다.
- 고정 PR 가격: 자체 하네스를 통해 일정한 PR 가격으로 결과를 보장하는 것을 목표로 한다.
5.3. NLM 프록시
- 모델 라우팅
- 다중 모델 연결: NLM 프록시는 여러 모델 사이의 요청 라우팅을 담당한다.
- 실패 대응: 한 모델이나 경로에 문제가 생길 때를 위한 페일오버도 처리한다.
6. SonarQube와 알고리즘 기반 프로그램 분석의 결합
Guitar.ai가 Sonar에 합류하면서 에이전트 기반 검증과 SonarQube의 프로그램 분석을 결합할 기회가 커졌다.
6.1. 결합 가능한 분석 기법
-
전통적 분석과 에이전트의 조합
- 태인트 분석(taint analysis): 데이터가 위험한 출처에서 목적지까지 흐르는 경로를 분석하는 알고리즘적 검증을 에이전트와 결합한다.
- 제어 흐름 분석(control-flow analysis): 프로그램의 실행 경로와 분기를 분석한다.
- 데이터 흐름 분석(data-flow analysis): 데이터가 코드 안에서 어떻게 이동하는지 추적한다.
- 소프트웨어 구성 분석(SCA): 사용 중인 소프트웨어 구성 요소와 의존성의 위험을 분석한다.
-
상호 보완성
- 에이전트의 장점: 문맥을 읽고, 여러 도구를 조정하며, 실패 원인과 수정 방법을 자연어로 연결한다.
- 알고리즘 분석의 장점: 규칙적이고 재현 가능한 프로그램 속성 검사를 수행한다.
- 결합 효과: 둘을 함께 쓰면 어느 한쪽만 사용할 때보다 정밀도와 커버리지가 좋아질 수 있다.
6.2. 비용과 품질의 목표
- 정밀도·커버리지·가격의 동시 개선
- 더 나은 정밀도: 중요한 문제를 놓치지 않으면서 거짓 양성으로 인한 리뷰 노이즈를 줄인다.
- 더 나은 커버리지: AI 생성 코드와 전통적인 코드 분석을 폭넓게 다룬다.
- 좋은 가격대: 높은 분석 품질을 유지하면서 실무에서 감당할 수 있는 비용을 목표로 한다.
7. 기대되는 결과와 실무적 효과
7.1. 코드와 보안 품질
-
품질 향상
- 검증 누락 감소: 더 많은 PR을 일관된 절차로 확인해 사람이 처리하지 못하는 검증 공백을 줄인다.
- AI 생성 코드 보호: AI가 만든 코드가 늘어날수록 특히 중요한 보안과 품질 검사를 자동화한다.
-
보안 강화
- 중앙 게이트 유지: 자동화가 사람의 품질 기준을 없애는 것이 아니라 조직의 보안·컴플라이언스 규칙을 에이전트가 계속 집행하게 한다.
- 프로그램 분석 보완: SonarQube 분석과 에이전트 판단을 함께 사용해 위험 탐지의 깊이와 폭을 높인다.
7.2. 전달 속도와 개발자 경험
-
PR에서 병합까지 단축
- 자동화된 전달: 생성된 PR이 검토, 수정, CI 통과, 승인·병합으로 이어지는 시간을 줄인다.
- 직접 병합 경로: 조건을 충족한 PR은 검토 대기 없이 승인되고 병합될 수 있다.
-
생산성과 감정적 부담 개선
- 리뷰 시간 감소: 개발자는 코드를 직접 검토하는 데 쓰는 시간을 줄일 수 있다.
- 운영 걱정 감소: 프로덕션에서 무슨 일이 일어날지 걱정하는 부담이 줄고 자동화에 대한 자신감이 커진다.
- 반복 노동 제거: 실패 재시도, 같은 유형의 수정, 기본적인 승인 절차 같은 grunt work가 줄어든다.
- 개발자 감정 개선: 더 적은 반복 작업과 더 높은 확신이 개발자 sentiment를 높인다.
7.3. 플랫폼 팀의 레버리지
- 운영 개선 능력 확대
- 문제 수정: 플랫폼 팀은 CI 실패와 검증 병목을 더 잘 찾아 고칠 수 있다.
- 커스터마이징: 조직 규칙과 워크플로에 맞춘 커스터마이징을 추가할 수 있다.
- 핵심 생명주기 인사이트: 소프트웨어 개발 생명주기의 중요한 검증 단계에서 일어나는 일을 데이터로 볼 수 있다.
주요 발언 모음
“AI 시대에는 검증의 중요성이 커졌습니다.”
“물론 답은 AI를 더 쓰는 것입니다.”
“목표는 실제로 존재하고 실제로 중요한 문제를 게시하는, 최대한 노이즈 없는 경험을 만드는 것입니다.”
“사용자들은 시스템에 대한 신뢰를 쌓으면서 더 많은 자동화 수준을 하나씩 열어 갑니다.”
“자체 에이전트 하네스를 갖춘 덕분에 검증이라는 사용 사례에 맞춰 토큰 비용, 정밀도, 커버리지를 최적화할 수 있었습니다.”
“에이전트 기반 검증과 알고리즘 기반 프로그램 분석을 결합하면 어느 한쪽만 사용하는 것보다 훨씬 나은 결과를 얻을 수 있습니다.”
“AI가 코드를 생성하는 속도를 따라가려면 PR 검증의 마찰을 없애야 합니다.”
핵심 데이터 & 수치
- 약 한 달 전: 발표자는 Guitar.ai의 CEO였으며, 발표 시점 기준 약 한 달 전에 Sonar에 인수되어 Sonar의 일부가 되었다고 밝혔다.
- 세 가지 핵심 구성 요소: 컨트롤 플레인, 에이전트 런타임·하네스, NLM 프록시가 Guitar.ai의 내부 구조를 이룬다.
- 두 가지 주요 인사이트 분류: CI 실패 유형 분류는 플랫폼 팀에, PR 유형 분류는 리더십 팀에 특히 유용하다.
- PR 자동화의 단계: 리뷰 확인 → 병합 차단 → 자동 수정 → 조건부 자동 승인·병합의 순서로 신뢰에 따라 자동화 수준이 올라간다.
- 분석 결합 항목: 태인트 분석, 제어 흐름 분석, 데이터 흐름 분석, 소프트웨어 구성 분석을 에이전트와 결합한다.
- 행사 부스 P7: 추가 대화와 데모를 원하는 사람에게 발표자는 행사장 복도 끝쪽의 P7 부스를 방문하라고 안내했다.
결론 및 시사점
- AI 코드 생산량에 맞춰 검증 처리량을 확장해야 한다: PR 수와 크기가 늘어난 상태에서 사람의 수작업 리뷰만 늘리면 AI가 만든 속도가 검증 대기에서 사라진다.
- 자동화는 신뢰를 단계적으로 쌓는 방식으로 도입할 수 있다: 처음에는 리뷰 결과를 확인하고, 정확성이 입증되면 병합 차단, 자동 수정, 조건부 승인·병합 순으로 권한을 넓힌다.
- 좋은 리뷰는 적은 경고가 아니라 중요한 문제를 정확히 찾는 리뷰다: 노이즈가 많은 자동화는 신뢰를 잃으므로 조직별 규칙과 커스텀 체크, 정밀도 최적화가 핵심이다.
- CI 실패를 고치는 것과 실패를 분류하는 것은 모두 중요하다: 에이전트는 개별 PR을 고치는 동시에 플레이키 테스트, 인프라 문제, 기타 실패의 비중을 보여 플랫폼 팀의 개선 우선순위를 만든다.
- PR 검증 데이터는 리더십의 운영 지표가 될 수 있다: 기능 개발, 이슈 수정, chores, 리팩터링의 비중을 보면 엔지니어링 조직의 실제 작업 구성을 파악할 수 있다.
- 에이전트와 결정론적 분석은 경쟁 관계가 아니라 보완 관계다: 에이전트의 문맥·오케스트레이션 능력에 태인트·제어 흐름·데이터 흐름·SCA를 결합하면 정밀도와 커버리지를 함께 높일 수 있다.
- 플랫폼 팀의 역할이 파이프라인 유지에서 시스템 개선으로 이동한다: 반복적인 검증 작업을 자동화하면 플랫폼 팀은 실패 원인, 인프라 신뢰성, 규칙 커스터마이징, 조직 인사이트에 더 집중할 수 있다.
- 최종 목표는 생성부터 병합까지의 마찰 제거다: 충분히 신뢰할 수 있는 검증 시스템이 green PR을 자동 승인·병합하면 AI 코드 생산 속도를 실제 배포 속도로 연결할 수 있다.
