Pi 코딩 에이전트 리뷰: 최소한의, 해킹 가능한 AI 코딩 CLI
사용자가 직접 형태를 만들어야 하는 작은 코딩 에이전트
Pi Coding Agent는 기본 도구 4개를 갖추고 있으며, 대부분의 동작을 확장, 스킬 및 사용자 자체 워크플로에 맡기는 최소한의 오픈소스 터미널 코딩 하네스입니다.
대부분의 AI 코딩 에이전트는 점점 더 큰 제품으로 변모하고 있습니다. 계획 모드, 서브에이전트, 권한 계층, IDE 통합, 백그라운드 워커 및 모델 주위의 점점 더 복잡한 오케스트레이션을 추가하고 있습니다. Pi는 거의 반대되는 접근 방식을 취합니다: 기본 에이전트는 read, write, edit, bash라는 네 가지 기본 도구로 시작하며, 흥미로운 대부분의 동작은 의도적으로 확장, 스킬, 패키지 및 사용자 자체 워크플로에 맡겨져 있습니다.

이 리뷰는 2026년 8월 14일에 출시된 Pi v0.84.2와 일치합니다. Mario Zechner가 이 프로젝트를 만들었으며, 2026년 5월에 Earendil Works로 이관되었습니다. 따라서 현재 패키지는 이전의 @mariozechner 이름 대신 @earendil-works 스코프를 사용합니다. Pi는 빠르게 변하고 있으므로, 팀 전체에 걸쳐 표준화하기 전에 구성 및 확장 API에 대한 버전 확인이 필요합니다.
동일하게 중요한 점은 Pi가 많은 코딩 에이전트보다 훨씬 더 많은 제어권을 제공하지만, 그에 상응하는 더 많은 책임도 요구한다는 것입니다. 내장된 보안 샌드박스나 Claude Code나 유사한 도구를 사용했던 개발자들이 기대할 수 있는 종류의 권한 시스템을 제공하지 않습니다. 아래에서는 빠른 시작, 아키텍처, 모델 지원, 확장, 세션 모델, 보안 영향 및 Pi가 현대 AI 코딩 도구 중 어디에 위치한다고 생각하는지 다루겠습니다.
Pi Coding Agent란 무엇인가?
Pi는 완성된 의견이 담긴 코딩 환경이라기보다 에이전트 하네스로 이해하는 것이 가장 좋습니다. 이 구분이 중요합니다: 코딩 모델은 프롬프트에 응답하지만, 에이전트 하네스는 해당 모델이 어떤 컨텍스트를 보는지, 어떤 도구를 호출할 수 있는지, 도구 결과가 어떻게 반환되는지, 세션이 어떻게 지속되는지, 턴 사이에 어떤 일이 일어나는지를 결정합니다. Pi는 거의 모든 이러한 계층에 접근할 수 있게 하므로, 내장형 코딩 제품군 대신 AI 개발 도구 분야의 킷 빌딩(Kit-building) 쪽에 위치합니다.
| 영역 | 제 평가 | 이유 |
|---|---|---|
| 아키텍처 | 9/10 | 비정상적으로 명확한 확장 지점을 가진 작은 코어 |
| 모델 유연성 | 9/10 | 광범위한 제공자 지원과 쉬운 모델 전환 |
| 확장성 | 10/10 | TypeScript 확장이 도구, 이벤트, 컨텍스트 및 UI를 변경할 수 있음 |
| 세션 처리 | 9/10 | 트리 기반 세션으로 실험이 비정상적으로 자연스러움 |
| 초기 사용성 | 8/10 | 시작은 쉽지만, 고급 사용은 기술적 자신감을 요구함 |
| 안전 기본값 | 5/10 | 내장 샌드박스나 포괄적인 권한 경계가 없음 |
| 팀 거버넌스 | 6/10 | 구축은 가능하지만, 많은 부분이 의도적으로 내장되지 않음 |
Pi를 사용해야 할 가장 강력한 이유는 경쟁 코딩 에이전트보다 기능이 많다는 것이 아닙니다 — 실제로 그렇지 않습니다. 이유는 Pi가 에이전트 자체의 더 많은 부분을 노출시킨다는 것입니다. 이는 코딩 에이전트의 한계가 기반 모델이 아니라 하네스 때문에 발생하는 지점에 도달한 시니어 개발자, 플랫폼 엔지니어, AI 도구 팀 및 누구에게나 특히 매력적입니다. Pi는 에이전트를 설치하고 몇 가지 안전한 기본값을 승인한 뒤 그 아키텍처에 대해 다시 생각하지 않으려는 사람에게 덜 설득력이 있습니다: 그 미니멀리즘은 미니멀리즘이 만드는 제어권을 가치 있게 여길 때만 생산적입니다.
Pi가 실제로 제공하는 것
기본 모델 대상 도구 세트는 의도적으로 작습니다:
read
write
edit
bash
grep, find, ls를 포함한 추가 읽기 전용 도구가 사용 가능하며, 최근 Pi 릴리스에서는 초기 내장 도구 선택을 구성할 수 있습니다.
기본 설정은 희소해 보이지만, 그것이 바로 목적입니다. 추가 도구는 모델이 해야 할 결정의 수를 늘리고, 시스템 프롬프트를 확장하며, 디버깅이 필요한 또 다른 동작 표면을 만듭니다. Pi 대신 기능적인 원시 집합에서 시작하여 워크플로가 실제로 필요할 때 전문화된 도구를 추가하도록 합니다.
철학은 도구보다 더 멀리 확장됩니다. Pi는 내장 서브에이전트나 강제 계획 모드를 제품 중심에 두지 않습니다; 그 동작은 대신 확장 또는 설치된 패키지를 통해 구현할 수 있습니다. 이는 박스 아웃(box-out) 상태에서 덜 편리하지만, 개발자에게 그러한 메커니즘이 구현되는 방식에 대해 더 많은 제어권을 줍니다. Claude Code의 내장 서브에이전트에 익숙하다면, Claude Code 서브에이전트 가이드는 재구현할 내용과 유용한 참고 자료입니다. 저는 그 접근 방식이 약간 신선하다고 생각합니다: Pi는 AI 코딩 에이전트를 운영하는 하나의 올바른 방식이 있다고 가정하지 않습니다.
Pi Coding Agent 설치 및 세션 시작 방법
현재 패키지는 @earendil-works 스코프에서 설치합니다. 오래된 튜토리얼에는 2026년 5월 이전의 @mariozechner 패키지를 표시할 수 있으며, 새 설치에 대해 그 이름은 더 이상 유효하지 않습니다.
이름은 또한 Oh My Opencode 하네스의 커뮤니티 포크인 oh-my-pi와도 충돌합니다. 그 프로젝트는 이 코딩 에이전트와 무관합니다; 오해의 소지가 있는 Pi에 도달했다면 Oh My Opencode 리뷰가 포크를 설명합니다.
설치 및 인증
-
npm으로 Pi를 전역 설치합니다:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent--ignore-scripts는 설치 중 의존성 라이프사이클 스크립트를 비활성화합니다. Pi는 정상적인 npm 설치에 해당 스크립트가 필요하지 않으며, 건너뛰는 것은 일반적인 공급망 리스크를 줄입니다. -
설치를 확인합니다:
pi --version -
프로젝트로 이동하여 시작합니다:
cd /path/to/project pi
Pi는 bash가 가능한 환경을 기대합니다. Windows에서는 cmd.exe 대신 WSL 또는 Git Bash를 사용하세요.
Pi는 인터랙티브 구독 인증 및 API 키 기반 제공자를 모두 지원합니다. Pi 내부에서 가장 간단한 경로는:
/login
인증 후, 다음으로 모델을 선택합니다:
/model
환경 변수를 통해 제공자 자격 증명을 공급할 수도 있습니다. 예를 들어:
export ANTHROPIC_API_KEY="your-api-key"
pi
Pi는 현재 OpenAI, Anthropic, Google, Azure OpenAI, Amazon Bedrock, NVIDIA NIM, DeepSeek, Mistral, Groq, Cerebras, Cloudflare, xAI, OpenRouter 및 기타 여러 개를 포함한 광범위한 모델 제공자 컬렉션을 지원합니다. 로컬로 서빙되는 모델을 위한 llama.cpp 라우터도 지원됩니다: llama.cpp 빠른 시작은 OpenAI 호환 API로 GGUF 모델을 서빙하는 것을 다루고, LLM 호스팅 가이드는 Ollama, vLLM 또는 호스팅 제공자와 그 경로를 비교하고 싶다면 주변 로컬, 셀프호스팅 및 클라우드 런타임을 매핑합니다. 지원되는 API를 사용하는 커스텀 제공자는 ~/.pi/agent/models.json을 통해 추가할 수 있으며, 커스텀 API 또는 OAuth 플로는 확장을 통해 연결할 수 있습니다.
이 멀티-프로바이더 설계는 Pi의 실용적인 이점 중 하나입니다. 모델과 코딩 하네스는 별개의 변수입니다: Pi를 사용하면 본질적으로 동일한 도구 및 세션 환경을 유지하면서 모델을 변경할 수 있어, 완전히 다른 코딩 제품을 비교하는 것보다 모델 비교가 훨씬 더 의미 있습니다.
제어된 첫 세션으로 시작하기
첫 Pi 프롬프트를 “내 애플리케이션을 리팩토링해"라고 하지 않겠습니다. 수정하기보다 검사하도록 요청하는 것으로 시작하세요:
pi --tools read,grep,find,ls -p "Inspect this repository. Explain its architecture, identify the main entry points, and list the commands you would run before making a change. Do not modify files."
기존 저장소에서 그 읽기 전용 프롬프트를 실행했을 때, 유용한 결과는 교묘한 아키텍처 에세이가 아니었습니다. 모델이 실제 진입점과 쓰기 액세스를 요청하기 전에 실제로 실행할 명령을 이름으로 불렀는지가 그 결과였습니다. 이는 정상 도구 세트를 통해 즉시 쓰기 경로를 부여하지 않고 선택된 모델이 트리를 탐색하는 방식을 살펴볼 수 있게 해줍니다.
인터랙티브 작업을 위해, 먼저 일회용 Git 브랜치를 만들겠습니다:
git switch -c ai/pi-evaluation
pi
Pi는 작업 디렉터리의 파일을 수정하고 bash를 통해 셸 명령을 실행할 수 있으므로, Git은 이를 평가할 때 가장 간단한 실용적인 롤백 계층 중 하나를 유지합니다. 지속되지 않는 테스트 세션을 원한다면, pi --no-session은 에페머럴(ephemeral) 모드로 실행됩니다.
프로젝트 지침은 AGENTS.md에 속합니다. 유용한 시작 파일은 다음과 같을 수 있습니다:
# Project Instructions
- Read the existing implementation before modifying files.
- Keep changes narrowly scoped to the requested task.
- Run `npm test` after code changes.
- Run `npm run lint` before declaring the task complete.
- Do not modify database migrations unless explicitly requested.
- Do not access production infrastructure.
- Explain any destructive command before running it.
Pi는 또한 프로젝트 디렉터리를 탐색할 때 CLAUDE.md를 이해하며, AGENTS.override.md는 디렉터리에 대한 정상적인 프로젝트 지침을 오버라이드할 수 있습니다.
그런 다음 구체적인 작업을 부여합니다:
Read the authentication module and its tests.
Find one maintainability problem that can be fixed without changing public behaviour. Explain the proposed change first, then implement it and run the relevant tests.
이것은 새로운 장난감 애플리케이션을 생성하도록 요청하는 것보다 더 나은 에이전트 평가입니다. 기존 코드는 에이전트에게 제약 사항을 발견하고, 동작을 보존하고, 관련 파일을 선택하고, 작업을 검증하도록 강제합니다.
왜 Pi Coding Agent는 편집 가능한 하네스인가
Pi의 가장 중요한 아키텍처 아이디어는 코딩 에이전트 자체는 편집 가능하게 남아야 한다는 것입니다. 확장 시스템은 도구를 등록하고, 라이프사이클 이벤트에 구독하고, 도구 호출을 가로채고, 컨텍스트를 주입하거나 변환하고, 명령을 추가하고, 터미널 인터페이스를 수정할 수 있는 TypeScript 모듈을 사용합니다. 프로젝트 로컬 확장도 /reload로 다시 로드할 수 있어, 하네스에 대한 실험이 놀라울 정도로 즉각적입니다.
간단한 형태로, Pi는 다음과 같습니다:
도표가 단순한 이유는 Pi가 제어 평면을 단순하게 유지하려고 하기 때문입니다. 이는 비정상적인 옵션을 제공합니다: 에이전트에 기능이 없을 때, 반드시 Pi 유지보수자가 추가하기를 기다릴 필요가 없습니다 — 스스로 동작을 추가할 수 있습니다. 확장은 새로운 모델 호출 도구를 만들거나, 제안된 bash 호출을 검사하여 자신의 정책에 일치하는 명령을 차단하거나, 턴 전에 동적 프로젝트 정보를 삽입하거나, 압축 동작을 변경하거나, 터미널 UI 내에서 커스텀 명령을 노출할 수 있습니다. 이는 시스템 프롬프트를 변경하는 것보다 훨씬 더 깊은 확장 표면입니다.
MCP 통합은 Pi의 최소 코어의 강제 내장 부분으로 처리되지 않습니다. 동일한 확장성 모델을 통해 추가할 수 있으며, 이는 더 넓은 설계와 일치합니다: 전문화된 통합은 작은 기본 하네스 위에 존재하며, 그것을 영구적으로 확장하지 않습니다.
동일한 하네스는 인터랙티브 터미널 외부에서도 재사용할 수 있습니다. Pi는 Node.js 애플리케이션에 에이전트 세션을 임베딩하기 위한 SDK와, 비-Node 호스트, IDE 및 커스텀 UI를 위해 stdin/stdout을 통해 JSON을 말하는 RPC 모드(pi --mode rpc)를 제공합니다.
4개 도구 아이디어는 보다는 더 심각하다
처음에는 코딩 에이전트 도구를 두 그룹으로 생각했습니다. 첫 번째는 원시: 파일 읽기, 파일 수정, 명령 실행. 두 번째는 편의: 저장소 검색, 테스트 러너, 이슈 트래커, 브라우저 도구, 배포 도구, 데이터베이스 헬퍼, 코드 인텔리전스 및 전문화된 플래너. Pi는 원시 계층을 작게 유지하고 편의 계층이 선택적으로 남도록 허용합니다.
이것에는 아키텍처적 이점이 있습니다. Kubernetes 인프라에 작업하는 팀은 TypeScript 모노레포를 유지하는 팀과 매우 다른 Pi를 구축할 수 있으며, 두 팀 모두 동일한 기본 에이전트에 서로의 도구를 싣지 않아도 됩니다. 이것이 Pi가 스트립다운된 Claude Code 대안처럼 보이기에서 벗어나 자신의 코딩 에이전트를 구축하기 위한 프레임워크처럼 보이기 시작하는 지점입니다.
가격은 유지보수입니다. 커스텀 확장에 의존하기 시작하면, 그 동작은 개발자 플랫폼의 일부가 됩니다: 검토하고, 버전 관리하고, Pi가 진화함에 따라 가끔 업데이트해야 합니다. 이것이 숨겨진 Pi 세금입니다 — 에이전트의 소유권을 얻고, 소유권은 유지보수를 동반합니다.
스킬 및 패키지로 커스터마이징을 모듈화 유지
모든 커스텀 동작이 확장이 될 필요는 없습니다. Pi는 기능을 중심으로 지침, 스크립트 및 참고 자료를 패키징하는 스킬을 지원합니다. 스킬은 점진적 공개(progressive disclosure)를 사용합니다: Pi는 사용 가능한 스킬을 모델에 광고하면서, 기능이 필요할 때만 전체 지침을 로드할 수 있습니다. 이는 배포 리뷰, 데이터베이스 마이그레이션, 릴리스 준비 또는 프레임워크 특정 코드 리뷰와 같은 워크플로에 유용합니다; 모든 대화에 지침 페이지를 영구적으로 주입하는 대신, 에이전트는 필요 시 전문화된 가이드를 로드할 수 있습니다. 이미 Claude Skills를 구축하고 있다면, 메커니즘은 익숙하게 느껴질 것입니다 — SKILL.md 레이아웃 및 트리거 조정을 위해 개발자를 위한 Claude Skills 및 SKILL.md를 참조하세요.
Pi 패키지는 확장을 더 나아가 확장, 스킬, 프롬프트 템플릿 및 테마를 번들링합니다. 패키지는 npm 또는 Git 저장소에서 설치할 수 있고, 특정 버전으로 고정할 수 있습니다:
pi install npm:@foo/pi-tools@1.2.3
pi list
패키지 모델은 강력하지만, 패키지는 해로운 프롬프트 컬렉션보다는 실행 가능한 개발 도구처럼 취급하세요. Pi 확장은 Pi 프로세스의 권한으로 코드를 실행할 수 있고, 스킬도 모델에게 코드 실행을 지시할 수 있으므로, 미지의 패키지 설치에는 미지의 개발 의존성 설치와 본질적으로 동일한 의심을 가질 가치가 있습니다.
Pi Coding Agent의 세션 트리
많은 코딩 어시스턴트는 대화를 대부분 선형적 전사(transcript)로 취급합니다. Pi는 세션을 트리로 저장하므로, 이전 지점으로 돌아가고, 다른 접근 방식을 시도하고, 하나의 히스토리를 파괴하거나 관련 없는 채팅 무더기를 만드는 대신 세션 내에 두 경로를 모두 유지할 수 있습니다.
주요 명령은 직관적입니다:
/resume
/tree
/fork
/clone
/compact
/tree는 현재 세션 트리 내에서 탐색할 수 있게 합니다. /fork는 이전 사용자 메시지로부터 새 세션을 생성하고, /clone은 현재 활성 브랜치를 개별 세션으로 복제합니다. 명령줄에서, pi -c는 가장 최근 세션을 계속하고 pi -r은 과거 세션을 탐색합니다.
그 구분이 명확해진 것은 Pi를 그린필드 프롬프트가 아닌 디버깅 패스에 처음 사용한 때였습니다. 실패한 통합 테스트에 대한 캐싱 계층 가설을 따르게 한 다음, 그 이론이 선택된 메시지에서 포크하여 트랜잭션 격리에 대한 두 번째 브랜치를 시작했습니다. 실패한 조사는 새로운 경로를 오염시키거나 새로운 채팅을 강제하는 대신 대조를 위해 사용 가능하게 남아 있었습니다. 이는 디버깅이 실제로 작동하는 방식의 유용한 표현입니다: 여러 개의 설득력 있는 설명이 동시에 존재할 수 있습니다.
Pi는 세션을 JSONL로 지속하고, 회화가 모델 한계에 접근함에 따라 오래된 컨텍스트를 자동으로 압축할 수 있으며, 브랜치 사이를 이동할 때 브랜치를 요약할 수도 있습니다. 저는 이를 여러 더 눈에 띄는 코딩 에이전트 기능보다 높게 평가합니다: 좋은 컨텍스트 관리가 인터페이스의 또 다른 버튼보다 보통 더 중요합니다.
컨텍스트 엔지니어링은 1급 기능
Pi는 또한 모델에 도달하는 것을 커스터마이징할 수 있게 합니다. 확장은 턴 전에 정보를 주입하고, 히스토리를 변경하고, 압축에 참여할 수 있습니다. 기본 압축 시스템은 최근 대화를 유지하면서 오래된 자료를 요약하지만, 메커니즘은 대체되거나 커스터마이징될 수 있습니다.
고급 팀을 위해, 이것은 흥미로운 가능성을 엽니다. 큰 모노레포는 에이전트가 현재 다루는 파일에 대해서만 소유권 정보를 주입할 수 있습니다. 백엔드 프로젝트는 데이터베이스 파일이 컨텍스트에 들어갈 때 스키마 메타데이터를 표면화할 수 있습니다. 장기 실행 마이그레이션 에이전트는 모델에게 반복적으로 재발견하도록 요청하는 대신 대화 외부에 구조화된 상태를 유지할 수 있습니다. 이것이 제가 Pi의 진정한 장기적 강점으로 고려하는 것입니다: 코딩 에이전트의 품질은 점점 더 원시 모델 지능보다 컨텍스트 엔지니어링, 도구 설계 및 오케스트레이션에 의해 제한되며, Pi는 개발자에게 그 계층에 대해 비정상적으로 직접적인 액세스를 제공합니다.
Pi Coding Agent 보안: 내장 샌드박스 없음
이 리뷰에서 가장 중요한 부정적 점은 단순합니다: Pi는 내장 보안 샌드박스를 제공하지 않습니다. 기본적으로 Pi는 그것을 시작한 사용자 및 프로세스의 권한으로 실행됩니다. 그 도구는 접근 가능한 파일을 읽고 수정하고, 그 운영체제 컨텍스트 내에서 셸 명령을 실행할 수 있습니다.
Pi에는 프로젝트 신뢰(project trust)가 있지만, 프로젝트 신뢰는 샌드박스가 아닙니다. 프로젝트 신뢰는 프로젝트 로컬 Pi 설정, 확장, 스킬, 프롬프트 및 유사한 리소스가 로드되는지 여부를 제어합니다. 프로젝트에서 작업하는 동안, 모델 지시 도구 호출 주위에 파일시스템, 네트워크, 프로세스 또는 자격 증명 경계를 만들지 않습니다. 실제로 Pi 문서가 이 구분에 대해 명시적인 것을 높이 평가합니다: 약한 유사 샌드박스(pseudo-sandbox)는 사용자가 실제로 존재하지 않는 경계를 신뢰할 수 있기 때문에 샌드박스가 없는 것보다 더 위험할 수 있습니다. Pi 대신 의미 있는 격리가 컨테이너, 가상 머신, 마이크로 VM 또는 다른 정책 제어 런타임에서 오기를 기대합니다.
일회용 개인 프로젝트에 대해, Git과 정상적인 운영체제 권한이 충분하다고 결정할 수 있습니다. 신뢰할 수 없는 저장소, 무인 에이전트, 프로덕션 자격 증명을 포함하는 워크스테이션 또는 외부에서 공급된 내용을 처리하는 에이전트에 대해, 더 강한 격리를 사용하겠습니다. Pi 문서는 세 가지 패턴을 설명합니다:
| 패턴 | 격리되는 것 | 자격 증명 위치 | 사용 시점 |
|---|---|---|---|
| Gondolin 확장 | 로컬 Linux 마이크로 VM 내부의 내장 도구 및 ! 명령; pi 프로세스는 호스트에 남아 있음 |
제공자 인증은 호스트에 남아 있을 수 있음 | TUI와 키를 호스트에 두고 싶은 로컬 격리 |
| 일반 Docker | 전체 pi 프로세스 |
프록시하지 않는 한 API 키는 컨테이너에 들어감 | 전체 에이전트의 간단한 로컬 격리 |
| NVIDIA OpenShell | 정책 제어 샌드박스 내부의 전체 pi 프로세스 |
게이트웨이는 샌드박스 외부에 원시 모델 키를 유지할 수 있음 | 파일시스템, 네트워크 및 자격 증명에 대한 로컬 또는 원격 정책 |
중요한 경계는 소스 디렉터리만이 아닙니다. 셸 명령을 실행할 수 있는 에이전트는 잠재적으로 SSH 구성, 클라우드 자격 증명, 패키지 레지스트리, 로컬 서비스, 브라우저 상태 및 프로세스에 사용 가능한 다른 것들과 상호 작용할 수 있습니다. 따라서 프로덕션 품질의 설정은 파일시스템 마운트, 환경 변수, 네트워크 액세스 및 자격 증명을 함께 생각해야 합니다. 제가 선호하는 평가 패턴은:
실제 저장소를 컨테이너에 읽기/쓰기로 마운트하는 것은 여전히 에이전트가 그 저장소를 수정할 수 있게 합니다; 컨테이너는 마운트, 자격 증명, 기능 및 네트워크 액세스가 실제로 제한되는 범위에서만 도움이 됩니다. Gondolin에는 관련 주의 사항이 있습니다: 커스텀 확장 도구는 VM으로 위임하지 않는 한 여전히 호스트에서 실행됩니다.
기억할 가치가 있는 또 다른 보안 표면이 있습니다: 확장 및 패키지. 서드파티 확장은 에이전트 환경 내에서 실행되는 코드입니다. 설치 전에 검토하고, 중요한 의존성을 고정하고, 공개 패키지 갤러리를 암묵적인 보안 검토로 취급하지 마세요.
중요한 머신에서 Pi를 실행하기 전에 두 가지 실용적인 확인 사항:
# Confirm the version you actually have
pi --version
# Disable startup network operations (update checks and install telemetry)
export PI_OFFLINE=1
pi
PI_OFFLINE=1은 업데이트 확인, 패키지 업데이트 확인 및 설치/업데이트 텔레메트리를 포함한 모든 시작 네트워크 작업을 비활성화합니다. 더 세분화된 분리를 원한다면, PI_SKIP_VERSION_CHECK=1은 버전 확인만 끄고, PI_TELEMETRY=0은 업데이트 확인을 활성화한 채로 설치/업데이트 텔레메트리를 비활성화합니다.
이 보안 모델은 Pi를 관리되지 않는 기본값으로 큰 엔지니어링 조직에 제공하기 전에 주저하는 주요 이유입니다. Pi는 강력한 환경을 구축하기 위한 조각을 제공하지만, 그 환경의 많은 부분을 의도적으로 당신에게 맡깁니다.
Pi Coding Agent vs Claude Code 및 OpenCode
Pi는 기능 수보다 철학으로 비교할 때 가장 의미가 있습니다. 터미널 에이전트 중 OpenHands가 더 가까운 형제입니다: 이것도 CLI에서 실행되지만, 당신에게 조립하도록 요청하는 대신 샌드박스와 더 큰 내장 워크플로를 제공합니다. Claude Code는 점점 더 정교한 내장 권한, 훅 및 서브에이전트를 가지고 있습니다. OpenCode는 구성 가능한 allow, ask 및 deny 규칙과 내장 에이전트 또는 서브에이전트 개념을 노출합니다. Pi는 스택의 더 낮은 곳에서 시작합니다.
| 기능 | Pi | Claude Code | OpenCode |
|---|---|---|---|
| 핵심 접근 방식 | 최소 확장 가능한 하네스 | 의견이 담긴 코딩 에이전트 제품 | 구성 가능한 코딩 에이전트 |
| 기본 코딩 도구 | 작은 원시 집합 | 더 큰 통합 도구 표면 | 통합 도구 표면 |
| 권한 시스템 | 핵심 보안 경계가 아님 | 내장 권한 모드 및 규칙 | 내장 allow, ask 및 deny 규칙 |
| 내장 서브에이전트 | 아니오, 커스터마이징을 통해 추가 | 도구 허용 목록이 있는 격리 서브에이전트 | 내장 프라이머리 에이전트 및 서브에이전트 |
| 커스텀 라이프사이클 동작 | TypeScript 확장 및 이벤트 | 훅, 플러그인 및 settings.json |
에이전트 및 도구 구성 |
| 세션 브랜치 | /fork 및 /clone이 있는 트리 세션 |
선형 세션 및 서브에이전트 워크플로 | 세션 연속성 및 내장 에이전트 |
| 최적 적합 | 자신의 에이전트 워크플로를 구축하는 개발자 | 더 강한 내장 기능을 원하는 개발자 | 통합 정책이 있는 구성 가능한 에이전트를 원하는 개발자 |
이것이 Pi를 “Claude Code 클론"이라고 부르는 것이 흥미로운 부분을 놓치는 이유입니다. Claude Code의 워크플로에 만족한다면, Pi는 자동으로 그것을 개선하지 않습니다: Claude Code는 당신이 그 조각을 스스로 조립할 것을 요구하지 않고 더 많은 보안 및 에이전트 오케스트레이션을 제공합니다. Pi는 제품 아래에 있는 가정을 변경하고 싶을 때 흥미로워집니다. 아마도 Anthropic, OpenAI 및 로컬 모델 전반에 동일한 하네스를 원할 수 있습니다. 아마도 당신의 조직은 자체 샌드박스를 가지고 있을 수 있습니다. 아마도 모든 턴 전에 내부 아키텍처 메타데이터를 주입하는 도구가 필요할 수 있습니다. 아마도 압축이 일반 대화 요약 대신 구조화된 엔지니어링 상태를 생성하기를 원할 수 있습니다. 그것이 Pi 영역입니다.
OpenCode는 상당한 구성을 제공하기 때문에 철학적으로 더 가깝다고 할 수 있습니다. 거기서도, Pi는 하네스 자체를 구성하기 위한 킷처럼 느껴지는 반면, OpenCode는 더 많은 완성된 에이전트 및 권한 개념을 노출합니다.
여기에는 보편적인 승자가 없습니다. 많은 개발자에게는 Claude Code의 의견이 담긴 기본값이 이점입니다. 다른 사람들에게는 OpenCode가 더 나은 중간 지점을 제공할 수 있습니다. Pi는 “내 코딩 에이전트가 다르게 작동했으면 좋겠다"는 문장이 “내 코딩 에이전트에 또 다른 기능이 있었으면 좋겠다"는 문장보다 더 중요해졌을 때 조사할 옵션입니다.
Pi Coding Agent를 사용해야 하는가?
Pi Coding Agent는 하네스를 숨기는 것을 거부하기 때문에 더 기술적으로 흥미로운 코딩 에이전트 중 하나입니다. 기본 구현은 의도적으로 작지만, 확장 API, 스킬, 패키지, 제공자 계층, SDK, RPC 모드 및 세션 트리는 네 가지 기본 도구가 시사하는 것보다 훨씬 더 큰 유효 표면을 제공합니다.
저는 자신의 도구를 구축하는 것을 좋아하는 숙련된 개발자에게 Pi를 가장 강력하게 권장합니다. AI 플랫폼 작업, 실험적 코딩 에이전트 연구, 전문화된 엔지니어링 워크플로 및 이미 안전한 실행 인프라를 가진 팀에 특히 설득력이 있습니다. 또한 코딩 환경을 매번 변경하지 않고 모델을 비교하고 싶은 개발자에게도 유용합니다. 초보자 및 설치 직후 엔터프라이즈 스타일 정책 제어를 기대하는 조직에는 더 신중할 것입니다.
샌드박스의 부재는 Pi가 배포되어야 하는 방식을 변경합니다, 특히 에이전트가 무인으로 작동하도록 허용되거나 신뢰할 수 없는 지침에 직면할 수 있을 때. Pi를 보안 경계가 아니라 강력한 로컬 개발 프로세스로 취급하세요: 신뢰할 수 없는 저장소, 무인 운영 또는 가치 있는 자격 증명을 포함하는 환경에 대해, 운영체제, 컨테이너, VM 또는 정책 기반 샌드박스를 사용하고 작업에 필요한 리소스만 노출하세요.
저의 전체 평가는 8.4/10입니다. 그것은 편집자의 판결이지 위 표의 평균이 아니며, 올바른 사용자에게는 쉽게 더 높아질 수 있습니다. Pi의 가장 큰 약점과 가장 큰 강점은 동일한 것입니다: 그것은 당신을 위해 에이전트를 완성하지 않습니다.
Claude Code에서 전환해야 합니까? 자동으로 아닙니다. 내장 권한, 서브에이전트, 훅 및 워크플로가 이미 작업하는 방식에 맞다면 Claude Code를 사용하세요. 하네스, 제공자 선택, 컨텍스트 구성 및 도구 아키텍처에 대해 더 넓은 소유권을 원할 때 Pi를 평가하세요. 고급 개발자에게는 선택이 배타적일 필요가 없다고 가정하지도 않겠습니다: Claude Code는 세련된 데일리 드라이버로 남아있는 동안 Pi가 프로그래밍 가능한 에이전트 실험실이 될 수 있습니다. 충분한 커스터마이징 후에, 그 실험실이 실제로 선호하는 도구가 될 수 있습니다.
라이선스 및 비용
Pi 자체는 오픈소스이며 MIT 라이선스 하에 출시되었습니다. 그것이 모델 추론을 무료라고 만드는 것은 아닙니다: 실제 비용은 모델 제공자, API 사용, 지원되는 구독 인증, 로컬 컴퓨트 및 선택적으로 실행할 샌드박스 인프라에 따라 다릅니다.
참고 자료
- Pi Coding Agent 저장소: https://github.com/earendil-works/pi
- Pi 웹사이트 및 설치기: https://pi.dev
- npm 패키지: https://www.npmjs.com/package/@earendil-works/pi-coding-agent
- Gondolin 마이크로 VM: https://github.com/earendil-works/gondolin
- NVIDIA OpenShell: https://docs.nvidia.com/openshell/about/overview
- 라이선스: MIT