TL;DR

  • 여러 파일을 다루는 코딩 작업에서 Claude Code가 계획과 검증을 맡고 pi가 구현을 수행하면, 숨겨진 테스트를 모두 통과하면서 Claude 비용을 33% 절감함.
  • pi는 선택한 모델이나 로컬 모델을 구동하는 오픈소스 코딩 에이전트이며, Claude는 작업 요약을 작성하고 짧은 결과만 읽음.
  • 다중 파일 기능의 Claude 비용은 0.082달러에서 0.055달러로 줄었지만, 10줄 안팎의 작은 수정은 0.042달러에서 0.047달러로 늘어남.
  • 숨겨진 검사 통과 수는 양쪽 모두 28/28이지만, 자체 호스팅 pi 실행은 약 25초에서 2~3분이 걸렸고 작업별 표본은 2회임.
  • 테스트 명령으로 결과를 확인할 수 있는 다중 파일 작업에 적합하며, 검증 실패 시 한 차례 재시도하고 기본 브랜치·민감 파일·git push를 제한함.

pi-delegate

  • Claude Code가 계획을 세우고 확인하며, 더 저렴한 모델이 구현 작업을 수행하는 방식임.
  • “delegate to pi”라고 요청하면 파일 읽기·수정·테스트 실행 등 코딩 작업의 주요 부분이 pi에서 실행됨. pi는 사용자가 선택한 모델이나 로컬 머신의 모델을 구동할 수 있는 오픈소스 코딩 에이전트임.
  • Claude는 작업 지시문을 작성하고 짧은 결과를 읽으며, 작업 성공 여부는 테스트가 결정함.

비용과 품질 비교

  • 다중 파일 작업에서는 모든 숨겨진 테스트가 통과한 상태로 Claude 비용이 33% 감소함.
  • | 작업 | 일반 Claude | pi-delegate 사용 | 결과 |

|---|---:|---:|---|

| 다중 파일 기능 | $0.082 | $0.055 | Claude 비용 33% 감소 |

| 작은 수정(10줄 수정) | $0.042 | $0.047 | 11% 증가: 직접 수행하는 편이 나음 |

| 숨겨진 검사 통과 | 28/28 | 28/28 | 품질 동일 |

  • 비용 수치는 Claude 비용만 포함하며 pi 자체의 비용은 별도임. 자체 호스팅 모델을 쓰면 pi 비용이 들지 않고, 호스팅 저가 모델은 몇 센트 수준임.
  • 위임 실행은 더 느림. 자체 호스팅 pi를 사용한 실행에서 일반 Claude는 약 25초, 위임 방식은 2~3분이 걸림.
  • 표본은 작업당 2회로 작으며, 벤치마크는 직접 재실행하는 데 약 5분이 걸림(방법).

적합한 경우와 그렇지 않은 경우

  • 적합함
  • Claude Code를 사용하고 작업이 여러 파일에 걸쳐 있음.
  • 일반 구현 작업에 Claude 토큰이나 사용량 한도를 덜 쓰고 싶음.
  • 결과의 정확성을 판별할 테스트 명령이 있음.
  • 적합하지 않음
  • 빠른 단일 파일 수정: Claude만 사용하는 편이 저렴함.
  • 결과를 검증할 방법이 없는 작업.
  • 비용보다 속도가 중요함.

설치(Claude Code)

  • 1단계: Claude Code 플러그인 마켓플레이지에 randomm/pi-delegate를 추가하고 pi-delegate@pi-delegate 플러그인을 설치함.
  • 2단계: npm install -g @earendil-works/pi-coding-agent로 pi를 한 번 설치하고, pi를 실행한 뒤 /login 또는 API 키 환경 변수 설정, /model 설정을 진행함.
  • 저가 모델과 로컬 모델을 사용할 수 있으며, 벤치마크에는 자체 호스팅 Qwen을 사용함.
  • jq도 설치해야 하며, macOS에서는 각 pi 호출의 실행 시간을 제한하는 timeout을 위해 brew install coreutils가 필요함.

사용법

  • Claude Code에 delegate to pi: add a --json flag to cli.py, verify with python3 -m unittest라고 요청하면 Claude가 한 번 호출하고 pi가 작업을 수행하며, 지정한 검증 명령으로 성공 여부를 판단함.
  • 실행 결과는 종료 코드, pi의 요약, 검증 결과와 변경 파일 정보를 제공함. 예시에서는 EXIT CODE: 0, VERIFY: PASS (retries=0), cli.py의 12줄 변경이 표시됨.
  • 검증이 실패하면 실패 출력을 전달해 pi가 한 차례 더 시도함. 재시도 후에도 실패하면 Claude는 성공했다고 주장하지 않고 실패를 알림.

품질 유지 방식

  • --verify "<your tests>"는 pi 실행 후 결정론적 게이트로 테스트를 실행함. 두 번째 모델의 의견을 받지 않으며, 같은 모델의 검토자는 대부분의 변경을 승인하더라도 테스트는 승인하지 않음.
  • 검증 게이트를 통과하면 Claude가 작업을 다시 하지 않도록 지시함. 첫 벤치마크에서는 변경 사항을 다시 읽고 테스트를 재실행하는 과정이 절감 비용을 없앴음.
  • 기본 브랜치에서 실행하지 못하게 하고 .env, *.pem, *.key 파일 옆에서의 실행을 거부하며 pi의 git push를 비활성화함. 이는 실수에 대한 보호 장치이지 악의적인 모델에 대한 방어책은 아님.
  • 더 강한 격리를 원하면 PI_DELEGATE_WRAP을 설정하고 docs/configuration.md의 샌드박스 설정을 따르거나, 일회용 복제본 또는 컨테이너를 사용함.

다른 에이전트

  • 저장소의 skills/delegate/run.sh는 일반 Bash 스크립트임. 셸 명령을 실행할 수 있는 에이전트라면 사용할 수 있음.
  • 저장소 주소는 https://github.com/randomm/pi-delegate.git 임.
  • git clone https://github.com/randomm/pi-delegate.git으로 복제한 뒤 bash pi-delegate/skills/delegate/run.sh --verify "pytest -q"를 실행하고, 작업 지시문으로 utils.py의 날짜 파싱 오류를 수정하되 커밋하지 말라고 전달하는 예시임.

벤치마크 재실행

  • bench/quick.sh -n 3을 실행하면 약 5분 동안 일반 Claude와 Claude + pi-delegate를 비교하고 REWARD 점수를 출력함.
  • 방법, 작업 목록, 실제 저장소에서 더 느린 프로토콜은 docs/benchmark.md와 results에 있으며, 시간 제한·안전 설정·샌드박스 옵션은 docs/configuration.md에 있음.

라이선스

  • Apache License 2.0이며, 자세한 내용은 LICENSE에 있음. 저작권 표기는 Copyright 2026 Janni Turunen임.