← 뉴스 타래 목록

AI가 코드를 더 많이 쓸 때, 무엇을 자동화하고 무엇을 사람에게 남길까?

세 글은 에이전트 시대의 검토 문제를 서로 다른 층위에서 다룹니다. 한 글은 실행 권한을 코드 리뷰와 분리해야 한다고 주장하고, 다른 글은 사람의 병합 승인을 유지하되 검토 자료를 개선하자고 제안합니다. Anthropic 팀 사례는 자동 리뷰와 위험도별 승인 절차를 실제 운영 방식으로 설명합니다. 이 차이를 바탕으로 검토와 권한 통제의 역할을 나눠 봅니다.

수정

공통 질문은 같아 보여도, 해결하려는 위험은 다르다

세 글을 함께 읽을 때의 편집 질문은 ‘에이전트가 만든 변경을 빠르게 검토하면서도, 누가 무엇을 결정하고 어떤 위험을 막아야 하는가’입니다. 다만 각 글이 다루는 범위는 같지 않습니다. '코드 리뷰는 권한 경계가 아닙니다'는 실행 코드에 부여되는 권한을, '사람의 코드 리뷰는 당분간 사라지지 않습니다'는 병합 전 사람의 검토와 승인 절차를, Anthropic의 'Claude Code 팀의 코드 리뷰 방식'은 자동·인간 리뷰 운영을 다룹니다. 따라서 코드 리뷰를 더 효율적으로 만드는 일과 코드의 권한을 제한하는 일을 하나의 해결책으로 뭉뚱그릴 수 없습니다.

리뷰는 코드의 의도를 읽지만, 권한 경계는 실행을 제한한다

'코드 리뷰는 권한 경계가 아닙니다'의 핵심은 테스트가 기대한 출력을 확인해도, 그 출력을 만드는 코드가 불필요한 권한을 요구하는지는 드러나지 않을 수 있다는 점입니다. 글의 예에서는 송장과 결제를 대조하는 두 구현이 같은 보고서를 만들지만, 하나는 환불 권한도 시도합니다. 작성자는 리뷰어가 그 코드를 합리적이라고 판단할 수도 있고 테스트가 둘을 구분하지 못한다고 설명하며, 허용된 권한이 없으면 실행 단계에서 거부되는 방식을 제시합니다. 이는 코드 리뷰가 쓸모없다는 뜻이 아니라, 리뷰나 출력 테스트만으로 권한 통제를 대신할 수 없다는 주장입니다.

사람의 승인을 남기는 방법은 글마다 다르다

'사람의 코드 리뷰는 당분간 사라지지 않습니다'는 에이전트의 작업 루프에 사람이 매번 끼어들기보다, CI가 독립적으로 검사한 결과와 변경 의도·영향 범위 등을 리뷰어에게 보여 주고 사람이 병합을 승인하자고 제안합니다. 반면 Anthropic의 'Claude Code 팀의 코드 리뷰 방식'에 따르면 팀은 PR마다 Claude 리뷰를 먼저 수행하고, 변경 위험도에 따라 사람 승인을 0명·1명·2명으로 달리 요구한다고 설명합니다. 특히 두 글은 자동화의 역할을 다르게 구체화합니다. '사람의 코드 리뷰는 당분간 사라지지 않습니다'는 검토 에이전트가 기계적인 수정을 브랜치에 반영해 사람에게 더 깨끗한 차이를 보여 주는 방식을 권하고, Anthropic은 자사 절차에서 자동 리뷰가 저위험 변경의 승인을 대신할 수 있다고 보고합니다. 전자는 제안이고 후자는 특정 팀의 운영 사례이므로, 동일한 보편 규칙으로 읽어서는 안 됩니다.

자동화의 근거와 한계도 함께 살펴야 한다

Anthropic의 'Claude Code 팀의 코드 리뷰 방식'은 자동 리뷰를 늘리는 것만이 목표는 아니라고 설명합니다. 사람의 검토 시간을 줄이되 되돌림이나 사고가 늘지 않는지를 함께 보며, 잡음과 반복 검토도 측정한다고 합니다. '코드 리뷰는 권한 경계가 아닙니다'는 권한을 관찰된 사용 내역만으로 좁히는 접근의 위험을 보여 줍니다. 예시에서는 관찰 때 만나지 못한 정당한 입력 경로에 필요한 payments.write가 파생된 매니페스트에서 빠져 실행이 막힙니다. 두 글을 함께 보면 자동화된 판정에는 품질 측정과 적용 범위 검증이 필요하지만, 한 팀의 리뷰 지표가 곧 권한 정책의 정당성을 입증하는 것은 아닙니다. 또 '사람의 코드 리뷰는 당분간 사라지지 않습니다'는 운영 중 관측을 사전 검토의 대체재로 보지 않습니다. 각 글이 다루는 통제 지점과 근거를 구분해 적용해야 합니다.

함께 읽은 원문