320x100
320x100

요약

AI가 생성하는 코드의 양과 규모가 기하급수적으로 증가하면서, 기존의 수동 코드 리뷰 방식이 더 이상 유효하지 않은 상황

 

AI 도입률이 높은 팀은 작업 완료량이 21% 증가하고, PR 병합은 98% 늘었지만, PR 리뷰 시간은 91% 증가하는 역설적 현상 발생

 

코드를 직접 검토하는 대신 스펙과 수용 기준 (Acceptance Critetia)을 리뷰하는 상류 검증으로 인간의 역할이 이동해야함

 

단일 검증 게이트 대신 다중 에이전트 경쟁, 결정론적 가드레일, BDD, 권한 시스템, 적대적 검증 등 스위스 치즈 모델 기반의 다층 신뢰 구조 필요 

 

"빠르게 배포하고, 모든 것을 관찰하고, 더 빠르게 되돌리는" 방식이 느린 리뷰 후 프로덕션 디버깅을 대체하는 새로운 패러다임

 

 

 

 

 

다층 신뢰 구축 - 스위스 치즈 모델

Layer 1. 다중 옵션 비교

하나의 에이전트에게 정답을 요구하는 대신, 세 개의 에이전트가 서로 다른 방식으로 시도하고 최선의 결과를 선택

선택은 수동적일 필요가 없으며, 가장 많은 검증 단계를 통과하는 것, 가장 작은 diff, 새로운 의존성을 추가하지 않는 것 등 기준으로 순위 매김 가능

옵션의 비용이 소프트웨어 엔지니어링 역사상 가장 낮은 수준

 

 

Layer 2. 결정론적 가드레일

작업을 겸증하는 결정론적 방법 필요

테스트, 타입 체크, 계약 검증 등 의견이 아닌 사실만 다루는 것

LLM에게 "이거 됐어?"라고 묻는 대신, 일련의 pass/fail 산출물을 생성하는 검증 단계를 정의

 

- 가드레일의 계층구조

코딩 가이드 라인 (커스텀 린터로 구현 가능)

조직 전체 불변 규칙 (하드 코딩된 자격증명, API 키, 토큰 감지 등 비협상 사항)

도메인 계약 (프레임 워크, 서비스, 코드베이스 영역별 규칙)

수용 기준 (Acceptance Criteria) (작업 별 고유 기준)

 

검증 단계는 코드 작성 전에 정의되어야 하며, 이미 있는 것을 확인하기 위해 사후에 만들면 안됨

검증 기준은 구현이 아닌 스펙에서 나와야함

 

 

Layer 3. 인간이 수용 기준을 정의

인간이 가치를 더하는 지점은 상류에서 성공의 정의를 내리는 것

BDD (Behavior Driven Development)가 새롭게 관련성을 가짐

> 자연어로 기대 행동을 기술하고 이를 테스트로 자동화 하는 방식

> 인간이 스펙을 작성하면 에이전트가 구현하고 BDD 프레임워크가 검증

> 실패하지 않는 한 구현을 읽을 필요가 없음

 

 

Layer 4. 권한 시스템을 아키텍처로

에이전트가 무엇을 건드릴 수 있고 무엇이 에스컬레이션을 필요로 하는지 아키텍처 결정이 되어야 함

대부분의 에이전트 프레임워크는 권한을 all-or-nothing으로 처리하지만 세분화가 중요

> 유틸리티 함수 버그를 수정하는 에이전트에게 인프라 설정 접근 권한이 불필요

> 테스트 작성 에이전트에게 CI 파이프라인 수정 권한이 불필요

 

범위는 에이전트가 유용한 작업을 할 수 있는 한 최대한 좁아야함

에스컬레이션 트리거도 중요 (인증 로직 수정, 데이터 베이스 스키마 변경, 새 의존성 추가 등 특정 패턴은 에이전트의 확신도와 무관하게 자동으로 인간 리뷰를 트리거)

 

 

Layer 5. 적대적 검증

책임 분리 (하나의 에이전트가 작업하고, 다른 에이전트가 검증. 서로 신뢰하지 않는 것이 핵심)

아키텍처적으로 강제 기능 (코딩 에이전트는 검증 에이전트가 무엇을 확인할지 모르고, 검증 에이전트는 코드를 수정할 수 없음)

 

 

 

 

좋은 코드의 의미가 변하고 있음

에이전트 시스템의 인센티브는 단순

> 주어진 작업을 완료하고 지시한 사람들 만족 시키는 것

> 장기적 정확성이나 비즈니스 요구사항이 본질적 동기가 아님

 

이를 제약조건에 인코딩 하는 것이 인간의 역할

 

에이전트가 생성하고 에이전트가 읽는 코드에서 "좋은 코드"의 형태는 표준화 될 것이며, 새로운 코드베이스에서 제공해야할 방향이 줄어듦

 

미래의 방향 = 빠르게 배포하고, 모든 것을 관찰하고, 더 빠르게 되돌림

 

실제로 결정이 중요한 상류에서 기계를 능가하는 사고가 필요

에이전트가 코드를 잘 처리할 수 있다면, 인간이 코드를 읽을 수 있는지 여부는 더 이상 중요하지 않음

 

 

 

 

 

 

 

Reference

https://news.hada.io/topic?id=27546

 

코드 리뷰를 없애는 방법 | GeekNews

AI가 생성하는 코드의 양과 규모가 기하급수적으로 증가하면서, 기존의 수동 코드 리뷰 방식이 더 이상 유효하지 않은 상황AI 도입률이 높은 팀은 작업 완료량이 21% 증가하고 PR 병합은 98% 늘었지

news.hada.io

 

 

300x250
728x90