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임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요