Quibbler: AI 코딩 에이전트가 작성한 코드를 리뷰하는 자동 코드 리뷰 에이전트

Quibbler 소개

Quibbler는 개발자가 사용하는 AI 코딩 에이전트(예: Claude Code, Cursor 등)의 행동을 실시간으로 관찰하고 비평(critique)을 수행하는 도구입니다. 일반적으로 코딩 에이전트는 사용자의 명령을 받아 코드를 수정하거나 추가하지만, 때때로 명세(spec)를 무시하거나 테스트를 생략하는 등의 오류를 범합니다.

Quibbler는 이러한 반복적인 실수를 자동으로 감지하고 교정해주는 “감독관” 역할을 수행합니다. 이 도구는 백그라운드에서 작동하며, 사용자가 직접 프롬프트를 수정하거나 에이전트를 다시 지시하지 않아도 됩니다. 또한 사용자의 개발 패턴을 학습하여, 프로젝트의 코딩 스타일과 규칙을 스스로 이해하고 이를 지속적으로 강화합니다. 즉, Quibbler는 “AI 코딩 에이전트를 관리하는 또 다른 AI”로, 코드의 일관성과 품질을 장기적으로 유지하는 데 도움을 줍니다.

Quibbler가 특히 유용한 점은 반복되는 오류 패턴을 스스로 인식하고, 같은 실수가 다시 발생하지 않도록 피드백을 제공하는 것입니다. 시간이 지날수록 프로젝트의 맥락을 더 잘 이해하고, 내부 규칙(.quibbler/rules.md)을 자동으로 정리하여 조직적이고 학습 가능한 코드 리뷰 시스템을 완성합니다.

주요 기능: Quibbler가 예방하는 문제들

Quibbler는 다음과 같은 일반적인 코딩 에이전트의 실수를 자동으로 방지하는 것을 목표로 합니다:

  • 명령을 실행하지 않고 결과를 꾸며내는(fabricating) 문제
  • 테스트나 검증 단계를 건너뛰는 문제
  • 기존 코딩 스타일 및 패턴을 따르지 않는 문제
  • 허구의 숫자, 메트릭, 기능을 만들어내는 문제
  • 일관된 구조를 유지하지 않고 새로운 패턴을 임의로 도입하는 문제
  • 사용자 의도와 불일치하는 코드 변경 문제

이러한 점에서 Quibbler는 단순한 코드 리뷰 툴이 아니라, AI 코딩 시스템의 품질 보증(QA) 레이어로 볼 수 있습니다.

Quibbler 설치 방법

Quibbler는 Python 기반으로 설치할 수 있으며, pip 또는 uv의 두 가지 방식 중 하나를 선택할 수 있습니다:

# pip 사용 시
pip install quibbler

# uv 사용 시
uv tool install quibbler

설치가 완료되면 CLI 명령어 quibbler를 통해 다양한 모드와 기능을 설정할 수 있습니다.

Quibbler 사용 방법: Hook 또는 MCP

Quibbler는 두 가지 통합 모드를 제공합니다:

  • Hook Mode (Claude Code 전용): Claude Code의 hook 시스템을 이용하여, 에이전트의 모든 동작(도구 호출, 프롬프트 실행 등)을 실시간으로 관찰합니다. 자동으로 피드백을 파일 형태로 기록하며, 에이전트의 반응을 즉시 수정할 수 있습니다. 이 모드는 Claude Code 사용자에게 최적화되어 있습니다.

  • MCP Mode (범용): Model Context Protocol(MCP)을 사용하는 모든 에이전트와 호환됩니다. 에이전트가 코드 변경 후 review_code 도구를 호출하면 Quibbler가 코드를 검토하고 피드백을 반환합니다.
    Cursor, Codeium 등 MCP 호환형 개발 에이전트에서 쉽게 설정할 수 있습니다.

각 방식을 사용하는 방법은 다음과 같습니다:

Hook Mode로 Quibbler 사용하기

다음과 같이 Quibbler Hook 서버를 실행합니다:

export ANTHROPIC_API_KEY="your-api-key-here"
quibbler hook server

기본 포트가 아닌, 다른 포트를 지정하여 실행하려면 다음과 같이 사용합니다:

quibbler hook server 8081


이후, 다음과 같은 방식으로 Claude Code 프로젝트에 Hook을 추가합니다:

quibbler hook add

위 명령을 실행하면 .claude/settings.json에 자동으로 Hook을 업데이트하여 Claude Code와 Quibbler 간의 이벤트 통신을 설정합니다.

이후 .claude/settings.json 안에는 다음 Hook들이 포함되어야 합니다:

  • quibbler hook forward
  • quibbler hook notify

이렇게 설정한 뒤에는 Claude Code가 프로젝트에서 실행될 때 Quibbler가 자동으로 관찰하고 개입합니다.

MCP Mode로 Quibbler 사용하기

먼저 AI Agent에게 Quibbler MCP를 사용하도록 지정합니다. 예를 들어 Cursor 사용 시 .cursor/mcp.json 파일에 다음과 같은 내용을 추가하면 됩니다:

{
  "mcpServers": {
    "quibbler": {
      "command": "quibbler mcp",
      "env": {
        "ANTHROPIC_API_KEY": "your-api-key-here"
      }
    }
  }
}

이 때, Claude Code 또는 Claude Max 계정 등이 로그인된 상태에서는 API 키를 생략할 수 있습니다.

이후 프로젝트 루트에 AGENTS.md 파일을 생성하여 에이전트가 리뷰 프로세스를 이해하도록 명시합니다. 예를 들어 다음과 같이 사용합니다:

## Code Review Process

After making code changes, you MUST call the `review_code` tool from the Quibbler MCP server.

AGENTS.md 문서 작성 시에는 사용자의 지시(user_instructions), 에이전트의 변경 요약(agent_plan), 프로젝트 경로(project_path)를 반드시 포함해야 합니다.

커스터마이징

시스템 프롬프트는 ~/.quibbler/prompt.md에서 변경할 수 있으며, 프로젝트별 규칙은 각 프로젝트 루트의 .quibbler/rules.md 파일로 관리됩니다. 예를 들어, 다음과 같이 작성할 수 있습니다:

When you need to provide feedback to the agent, write it to {message_file}.

라이선스

Quibbler 프로젝트는 MIT License로 공개되어 있습니다. 상업적 사용 및 수정이 자유롭게 허용됩니다.

:github: Quibbler 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요