Community생산성 & 협업github.com

리뷰 루프

단일 세션 내에서 작업자-검토자의 반복적 주기. 작업을 수행하고, 검토자 서브에이전트를 생성하여 비판하고, 피드백에 따라 수정하고, 품질 관문이 충족될 때까지 반복합니다.

리뷰 루프란 무엇인가요?

이 스킬은 '리뷰 루프' 패턴을 구현하여 AI 에이전트가 작업을 수행한 후 별도의 검토자 서브에이전트가 1-10점으로 평가하고, 설정된 품질 관문(기본 8점)에 도달할 때까지 작업을 반복적으로 개선합니다. Claude Code, Cursor, Codex 등 서브에이전트 생성을 지원하는 모든 플랫폼에서 사용할 수 있으며, 지원하지 않는 플랫폼에서는 새로운 채팅 컨텍스트를 열어 작업 산출물만 붙여넣는 방식으로 대체할 수 있습니다. 이 접근 방식은 복잡한 구현, 설계 문서, 보안이 중요한 코드 등에서 단일 패스보다 훨씬 뛰어난 결과를 보장합니다. 최소/최대 루프 횟수, 품질 관문 점수, 검토자 모델 등을 사용자가 인라인으로 설정할 수 있으며, 검토자는 항상 작업자와 동등하거나 더 강력한 모델을 사용해야 올바른 비판이 가능합니다. 각 루프는 명확한 피드백과 점수를 제공하며, 루프 종료 후 최종 마무리 작업을 통해 일관된 결과물을 제공합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/2dmurali/review-loop-skill/tree/main/review-loop

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

리뷰 루프은(는) 무엇을 하나요?

단일 세션 내에서 작업자-검토자의 반복적 주기. 작업을 수행하고, 검토자 서브에이전트를 생성하여 비판하고, 피드백에 따라 수정하고, 품질 관문이 충족될 때까지 반복합니다.

핵심 원칙: 초고는 절대 최종본이 아닙니다. 반복적인 비판이 단일 패스보다 더 나은 결과를 만들어냅니다.

플랫폼 참고: 이 스킬은 서브에이전트 생성을 지원하는 에이전트에서 가장 잘 작동합니다. 해당 기능이 없는 플랫폼에서는 새로운 채팅 컨텍스트를 열고 작업 산출물만(이전 추론 과정 없이) 붙여넣은 후 1-10점과 구체적인 피드백을 요청하는 방식으로 검토 단계를 시뮬레이션하세요.

빠른 시작

  1. 다음과 같이 말합니다: "implement X, use review-loop" 또는 "run review-loop on the file I just wrote"
  2. 에이전트가 작업을 수행합니다(또는 기존 작업을 읽습니다)
  3. 별도의 비판자 서브에이전트가 1-10점으로 구체적인 피드백과 함께 평가합니다
  4. 에이전트는 점수가 8점(기본 품질 관문) 이상이 될 때까지 수정하고 반복합니다
  5. 최종 결과물과 함께 루프 요약이 제공됩니다

사용 시기

  • 사용자가 "use review-loop", "polish this", "iterate on this", "/review-loop"라고 말할 때
  • 품질이 속도보다 중요한 복잡한 구현
  • 설계 문서, 명세서 또는 기술 문서
  • 견고함이 필요한 코드(보안, 데이터 파이프라인, 금융 로직)
  • 사용자가 프로세스에 적대적 비판을 포함시키려 할 때

사용하지 말아야 할 시기

  • 간단한 수정, 빠른 편집, 한 줄 변경
  • 테스트가 품질 관문인 작업(TDD + CI 사용)
  • 사용자가 단순히 빠른 완료를 원할 때
  • 목표가 출시가 아닌 학습인 탐색/스파이크 작업
  • 명확한 승인 기준이 없는 작업 — 먼저 기준을 정의한 후 review-loop 사용

기본값

설정기본값
최소 루프2
최대 루프4
품질 관문8/10
작업자 모델(현재 모델)
검토자 모델(현재 모델 또는 빠른/균형 잡힌 대안)

모델 선택

검토자 작업은 로직과 제약 조건을 평가합니다. 작업자 작업은 코드를 작성하고 수정합니다. 그에 따라 서브에이전트 기능을 선택하세요.

중요 규칙: 검토자는 항상 작업자와 동등하거나 더 강력해야 합니다. 검토자가 작업자보다 약하면 복잡한 로직을 제대로 비판하거나 미묘한 회귀를 잡아낼 수 없습니다.

작업 복잡도작업자 성능검토자 성능근거
단순/기계적 (CRUD, 포맷팅, 보일러플레이트)빠름 / 경량균형 잡힘경량 작업자는 빠르고, 균형 잡힌 검토자가 문제를 쉽게 찾음
표준 (기능, 리팩터링, 문서)균형 잡힘균형 잡힘비용, 속도, 품질의 좋은 조화
복잡 (다중 파일, 통합, 설계)균형 잡힘고급 / 추론고급 검토자가 미묘한 아키텍처 문제를 찾고, 균형 잡힌 작업자가 구현 가능
매우 복잡 (보안, 금융, 분산 시스템)고급 / 추론고급 / 추론둘 다 전체 컨텍스트와 추론 능력 필요. 검토자는 작업자와 성능이 일치해야 함

황금률: 작업자는 검토자의 피드백에 따라 행동할 만큼 충분히 똑똑해야 합니다. 검토자가 "채널 기반 세마포어로 경쟁 조건을 고치세요"라고 말했는데 작업자가 동시성을 이해하지 못하면 루프가 수렴되지 않습니다.

에스컬레이션 신호: 동일한 피드백으로 2회 연속 루프 후에도 점수가 개선되지 않으면 작업자 모델이 너무 약한 것입니다. 에스컬레이션:

  • 옵션 A: 사용자에게 더 강력한 모델로 전환 요청
  • 옵션 B: 품질 관문을 임시로 낮추고 차이를 사용자에게 알림
  • 옵션 C: 작업을 더 작은 하위 작업으로 분할하고 각각에 review-loop 실행

기본 동작: 주 에이전트가 작업자이므로, 작업에 따라 현재 성능과 동일하거나 그 이상인 검토자 서브에이전트를 생성합니다:

  • 대부분의 작업 → 표준/균형 잡힌 검토자
  • 전문/어려운 작업 → 고급/추론 검토자
  • 빠른 확인 → 빠른/경량 검토자(자신도 경량 작업자로 동작하는 경우에만)

사용자 재정의

사용자는 요청 시 인라인으로 모든 기본값을 재정의할 수 있습니다. 자연스럽게 파싱하세요:

"implement X with review-loop, quality gate 9, use advanced model for review, max 5 loops"
"polish this, 2 loops minimum, gate at 8"
"run review-loop with fast reviewer, max 2 loops"
"use review-loop, reasoning reviewer, quality gate 9, min 3 max 6"

파싱 규칙:

  • "quality gate N" 또는 "gate N" → quality_gate = N
  • "[model] reviewer" 또는 "review with [model]" → 검토자 모델 재정의
  • "max N loops" → max_loops = N
  • "min N loops" → min_loops = N
  • 사용자가 지정하지 않으면 기본값 사용
  • 사용자가 "thorough" 또는 "strict"라고 말하면 quality_gate 8, min_loops 2로 해석
  • 사용자가 "quick" 또는 "fast"라고 말하면 max_loops 2, quality_gate 6으로 해석

프로세스

flowchart TD
    A[작업 수행] --> B[검토자 서브에이전트 생성]
    B --> C{최소 루프 충족?}
    C -- 아니오, 항상 계속 --> E[피드백 기반 수정]
    C -- 예 --> D{점수 >= 품질 관문?}
    D -- 예 --> F[최종 마무리]
    D -- 아니오 --> G{최대 루프 도달?}
    G -- 예, 그래도 중단 --> F
    G -- 아니오 --> E
    E --> B
    F --> H([완료])

단계별 가이드

1단계: 작업 수행

평소처럼 작업을 완료합니다. 코드를 작성하고, 명세를 만들고, 기능을 구현합니다. 망설이지 말고 최선의 첫 번째 시도를 만드세요.

2단계: 검토자 서브에이전트 생성

에이전트 도구를 사용하여 검토자를 파견합니다. 검토자는 다음을 충족해야 합니다:

  • 별도의 서브에이전트(새로운 컨텍스트, 추론에 고정되지 않음)
  • 작업 산출물(파일, diff)만 받음 — 사고 과정은 받지 않음
  • 1-10점으로 구체적이고 실행 가능한 피드백 제공
  • 기본적으로 균형 잡힌/표준 모델 사용(복잡/전문 작업의 경우 고급 추론 모델 사용)

검토자 프롬프트 템플릿:

당신은 비판적인 검토자입니다. 다음 작업을 1-10점으로 평가하고 구체적이고 실행 가능한 피드백을 제공하세요.

## 수행된 작업
{작업에 대한 간략한 설명}

## 검토 기준
{작업별 기준 — 이 작업에 중요한 사항}

잘 작성된 기준의 예:
  REST API 엔드포인트의 경우:
    - 올바른 HTTP 상태 코드 사용
    - 모든 매개변수에 입력 검증 존재
    - 인증 적용, 인증되지 않은 접근 차단
    - N+1 쿼리 패턴 없음

  설계 문서의 경우:
    - 문제 설명이 명확함
    - 대안을 고려하고 장단점을 제시
    - 구현 복잡성에 대한 모호한 표현 없음
    - 성공 지표가 측정 가능함

  데이터 파이프라인의 경우:
    - 멱등성 — 재실행해도 안전
    - 스키마 변경을 우아하게 처리
    - 실패 모드 문서화
    - 개인정보(PII) 처리 명시

## 지침
1. 작업물을 주의 깊게 읽으세요
2. 1-10점으로 평가하세요:
   - 1-3: 근본적으로 손상되었거나 주요 요구사항 누락
   - 4-6: 작동하지만 심각한 문제 있음
   - 7-8: 좋음, 사소한 문제만 있음
   - 9-10: 우수함, 출시 준비 완료
3. 해당되는 경우 파일:줄 참조와 함께 구체적인 문제를 나열하세요
4. 각 문제에 대해 왜 중요한지(WHY)와 무엇을 고칠지(WHAT) 설명하세요
5. 정중할 필요 없습니다 — 정직하고 직접적으로 말하세요
6. 점수를 "Score: N/10" 형식으로 명확히 표시하세요

## 검토할 파일
{파일 내용을 붙여넣거나 관련 발췌문과 함께 파일 경로를 나열}

3단계: 피드백 파싱

검토자 응답에서 다음을 추출합니다:

  • 점수 (숫자)
  • 문제점 (심각 / 중요 / 사소로 분류)
  • 구체적인 수정 사항 (무엇을 변경할지)

사용자에게 보고:

루프 {N}/{max}: 점수 {X}/10
- {주요 피드백 요약}

4단계: 중지 조건 확인

다음 순서로 확인:

  1. 완료된 루프 < 최소 루프 → 계속 (항상)
  2. 점수 >= 품질 관문 → 중지, 최종 마무리로 이동
  3. 완료된 루프 >= 최대 루프 → 중지, 최종 마무리로 이동
  4. 그 외 → 수정 후 반복

5단계: 수정

검토자의 피드백을 처리합니다. 심각 및 중요 문제를 해결합니다. 사소한 문제는 선택 사항입니다. 그런 다음 2단계로 돌아갑니다.

중요: 각 수정은 목표 지향적이어야 합니다. 모든 것을 다시 작성하지 말고 검토자가 지적한 부분만 고치세요. 이전 피드백을 모두 기억하여 회귀를 방지하세요.

6단계: 최종 마무리

루프가 종료되면(품질 관문 충족 또는 최대 루프 도달):

  • 남은 사소한 문제가 있다면 간단히 해결
  • 최종 결과물이 일관적인지 확인(수정 주기로 인한 흔적 없음)
  • 최종 점수와 루프 횟수를 사용자에게 보고

작업 유형별 검토 기준 조정

작업 유형검토자가 중점을 둘 사항
코드정확성, 경계 조건, 오류 처리, 가독성, 보안 문제 없음
명세/설계완전성, 실현 가능성, 모호함 없음, 구현 가능성
리팩터링동작 변경 없음, 회귀 없음, 이전보다 깔끔함
문서명확성, 구조, 대상 독자에 적합, 불필요한 내용 없음
버그 수정근본 원인 해결, 회귀 테스트 존재, 부작용 없음
인프라/IaC멱등성, 최소 권한, 하드코딩된 비밀 없음, 삭제 안전성
데이터베이스 마이그레이션되돌리기 가능성, 인덱스 전략, 데이터 손실 위험, 대규모 성능
API 설계하위 호환성, 인증, 버전 관리, 오류 계약
테스트 스위트경계 조건 커버리지, 테스트 간 의존성 없음, 의미 있는 단언

두 가지 작동 모드

모드 A: "수행 및 검토" (전체 주기)

사용자가 작업을 주고 review-loop 사용을 지시합니다. 작업을 수행하고 검토 루프를 실행합니다.

사용자: "캐싱 레이어를 구현하세요. review-loop 사용, 품질 관문 8."

당신:
1. 캐싱 레이어 구현
2. 검토자 생성 → 점수 6, 피드백: 제거 정책 누락, TTL 없음
3. 수정: 제거 정책 + TTL 추가
4. 검토자 생성 → 점수 8, 피드백: 사소한 명명 문제
5. 최종 마무리, 완료

모드 B: "기존 작업 검토" (검토만)

사용자가 이미 작업을 수행했거나 당신이 이미 작업을 수행했습니다. 기존 작업에 대해 검토 루프만 실행합니다.

사용자: "방금 작성한 인증 모듈에 대해 review-loop를 실행하세요"

당신:
1. 인증 모듈 읽기
2. 검토자 생성 → 점수 5, 피드백: SQL 인젝션, 속도 제한 없음
3. 수정: 쿼리 매개변수화, 속도 제한기 추가
4. 검토자 생성 → 점수 8, 승인
5. 완료

위험 신호

절대 하지 말아야 할 것:

  • 서브에이전트 대신 스스로 검토(앵커링 편향)
  • 정당한 이유 없이 "피드백이 틀렸다"며 수정 주기를 건너뛰기
  • 스스로 점수를 부풀리기("내 생각에는 이게 9점인데")
  • 사용자 동의 없이 최대 루프를 넘어 계속 진행
  • 전체 추론/이력을 검토자에게 전달(의도가 아닌 작업 자체를 검토해야 함)

검토자가 틀렸다면:

  • 증거를 제시하여 반박(피드백을 반증하는 코드/테스트 보여주기)
  • 해당 사항을 수정에서 제외
  • 사용자 보고 시 메모
  • 품질 기준을 낮추어 보상하지 않음

예시 보고서 형식

--- 리뷰 루프: {작업 이름} ---

루프 1/4: 점수 6/10
  검토자: 입력 검증 누락, 네트워크 타임아웃 오류 처리 없음,
            함수가 너무 김(80줄).
  조치: 세 가지 문제 모두 수정.

루프 2/4: 점수 8/10
  검토자: 깔끔함. 사소: 변수명 `d`가 더 설명적이면 좋겠음.
  조치: 품질 관문 충족(8 >= 8). 최종 마무리.

결과: 2루프 만에 8/10. 완료.

알려진 제한 사항

  • 검토자 서브에이전트는 이전 루프에 대한 기억이 없습니다. 각 검토자 프롬프트에 이전 피드백 컨텍스트를 명시적으로 포함하여 해결된 문제가 반복되지 않도록 하세요.
  • 검토자 프롬프트 기준이 너무 모호하면 점수가 부풀려질 수 있습니다. 구체적이고 측정 가능한 기준을 작성하는 데 시간을 투자하세요.
  • 이 스킬은 보안이 중요하거나 규정 준수가 필요한 코드에 대한 사람의 코드 리뷰를 대체하지 않습니다. 결과물을 강력한 첫 번째 패스로 취급하세요.
  • 작업이 불충분하게 정의되면 루프 수렴이 보장되지 않습니다. 시작하기 전에 명확한 승인 기준을 정의하세요.

비용 및 속도

  • 각 루프 = 검토자 서브에이전트 호출 1회
  • 전체 3루프 주기의 경우 단일 구현 패스 시간의 약 1~2배 소요 예상
  • 버그 있는 코드, 모호한 명세를 출시하거나 늦은 단계의 검토 주기를 유발하는 것보다 저렴합니다.
  • 대부분의 검토에는 기본/표준 모델을 사용하고, 전문 영역(보안 감사, 분산 시스템, 금융 공학)에만 고급 추론 모델로 업그레이드하세요.

라이선스

MIT — 모든 AI 도구 또는 플랫폼에서 자유롭게 사용, 수정, 재배포할 수 있습니다. 저작자 표시를 권장합니다. 기여를 환영합니다.

관련 스킬