Pi 코딩 에이전트에서 어떤 모델이 최적인지는 작업에 따라 달라집니다. 일상 코딩에는 Claude Sonnet 5.5로 시작하고, OpenAI 옵션으로는 GPT-6.1 Sol을 사용하세요. 어려운 디버깅에는 Claude Opus 5.5를 시도하고, 일상적 작업에는 MiniMax M3와 DeepSeek V4.1 Flash를 비교해 보세요. 코드가 로컬 머신에 있어야 하는 경우에는 Qwen3.8 27B를 테스트하세요.
Pi는 터미널에서 실행되는 확장 가능한 에이전트 프레임워크입니다. 프레임워크가 대화와 도구를 관리하고, 모델이 어떤 파일을 읽고, 어떤 명령을 실행하고, 무엇을 변경할지 결정합니다. Pi는 이 워크플로우 안에서 모델을 전환할 수 있으므로, 관련 없는 리더보드에서 고르는 대신 동일한 리포지토리에서 모델을 직접 비교할 수 있습니다.
모델 ID와 가용성은 2026년 10월 14일 기준 Haimaker 카탈로그에서 확인했습니다. 이 추천은 현재 프로바이더 정보와 소규모 독립 Pi 평가 결과를 종합한 것입니다. 이 모델들에 대해 Pi에서 새로운 Haimaker 벤치마크를 실행하지는 않았습니다.
Pi에서 어떤 모델로 시작해야 하나요?
결과를 직접 검증할 수 있는 작업부터 Sonnet 5.5 또는 GPT-6.1 Sol로 시작하세요. 도구 접근 권한과 리포지토리 상태를 고정하고, 동일한 작업에서 저비용 후보를 비교해 보세요. 저렴한 모델이 실패한 접근을 반복하거나 수동 수정이 너무 많이 필요할 때 Opus로 전환하세요.
| Pi 워크로드 | 시도할 모델 | Haimaker 모델 ID | 트레이드오프 |
|---|---|---|---|
| 일상적 편집, 테스트, 리포지토리 작업 | Claude Sonnet 5.5 | anthropic/claude-sonnet-5-5 | 저비용 옵션보다 토큰당 비용이 높음 |
| OpenAI 모델로 코딩 및 계획 | GPT-6.1 Sol | openai/gpt-6.1-sol | 추론 노력과 총 토큰 수를 비교 |
| 어려운 디버깅 또는 불명확한 요구사항 | Claude Opus 5.5 | anthropic/claude-opus-5-5 | 토큰 요금이 높지만 시도 횟수가 적을 수 있음 |
| 저예산 일상 코딩 | MiniMax M3 | minimax/minimax-m3 | 도구 인자와 실패 복구를 테스트 |
| 저비용 백그라운드 작업 | DeepSeek V4.1 Flash | deepseek/deepseek-v4.1-flash | 재시도와 지연 시간이 낮은 요금을 상쇄할 수 있음 |
| 또 다른 저비용 비교 | GLM-5.3 Flash | z-ai/glm-5.3-flash | 긴 출력과 총 작업 시간을 확인 |
| 리서치 및 대용량 문서 입력 | Gemini 3.8 Flash | google/gemini-3.8-flash | 큰 입력 용량에도 답변 검증이 필요 |
| 어려운 리서치 및 추론 | Gemini 4 Argon | google/gemini-4-argon | 새로운 유료 후보, 아래 Pi 평가에는 미포함 |
Anthropic의 모델 개요에서 현재 Claude 등급을 확인할 수 있습니다. OpenAI의 Sol 문서는 코딩 및 에이전트 역할을 다루고, Google의 모델 목록은 Gemini 선택지를 다룹니다. 이러한 설명은 후보를 추리는 데 도움이 되지만, 여러분의 코드베이스에서 어떤 모델이 가장 좋은지까지 알려주지는 않습니다.
이것은 Hermes 모델 가이드에서 사용한 것과 동일한 작업 기반 접근법입니다. Pi의 구성, 모델 순환, 추론 제어는 다르므로, Hermes 구성을 그대로 복사하지 말고 아래 Pi 설정을 사용하세요.
실제 Pi 코딩 비교 결과는 무엇을 보여주나요?
소규모 Pi 평가 결과를 보면, 저비용 모델이 더 빠르거나 저렴하게 완료할 것이라고 가정하기 전에 Sonnet, Sol, Opus를 먼저 테스트하는 것이 좋습니다. 또한 추론을 더 많이 하면 쉬운 작업에서도 완료율은 높이지 않으면서 확인 및 도구 호출만 늘어날 수 있음을 보여줍니다. 실제로 유용한 비교 기준은 실패한 시도와 리뷰 시간까지 포함한 최종 완료 결과입니다.
Ibragim Badertdinov의 개인 코딩 평가는 구성당 3회 실행으로 10개 작업을 사용했습니다. 9월 30일 결과:
| 모델 및 노력 수준 | 단일 시도 작업 성공률 | 작업당 소요 시간 |
|---|---|---|
| Sonnet 5.5, high | 100% | 46초 |
| GPT-6.1 Sol, medium | 100% | 1분 7초 |
| Opus 5.5, low | 100% | 37초 |
| DeepSeek V4.1 Flash, max | 93.3% | 4분 30초 |
| GLM-5.3 Flash, max | 96.7% | 7분 1초 |
이 결과는 저자가 직접 측정한 것이며, 저희가 측정한 결과가 아닙니다. 방법론에 따르면 저자의 실제 작업에서 가져온 명확히 정의된 작업, 자동화된 검사, API 접근을 사용했습니다. 작업 내용은 비공개이며, 결과는 현재 Pi 1.x 릴리스가 아닌 Pi 0.85.1에서 측정했습니다. 동일한 통과율이 동일한 코드 품질을 의미하지도 않습니다.
이 비교는 모델뿐 아니라 추론 노력 수준도 함께 테스트할 이유를 보여줍니다. Opus가 low 노력으로 이 소규모 스위트를 위에 표시된 다른 구성보다 빠르게 완료했습니다. 그렇다고 어려운 마이그레이션에 low 노력이 충분하다는 뜻은 아닙니다. 실제 제약 조건으로 작업을 실행한 후, 추가 추론이 패치를 변경하는지 아니면 반복적 확인만 늘리는지 확인하세요.
자체 비교를 할 때는 성공적 완료 여부, 잘못된 도구 인자, 재시도 횟수, 소요 시간, 최종 청구액을 기록하세요. 코딩 에이전트 API 비용 가이드에서 토큰 요금만으로 판단하면 잘못된 결론에 이를 수 있는 이유를 설명합니다.
Pi를 이러한 모델에 어떻게 연결하나요?
Haimaker Connect를 사용하면 프로바이더 구성을 직접 작성하지 않고도 Pi를 연결할 수 있습니다. 먼저 Pi를 설치한 후, Connect를 실행하여 네이티브 파일을 구성하고 연결을 확인하세요.
새로 설치하는 경우, Pi의 퀵스타트는 아래 현재 npm 패키지를 사용하며 Node.js 22.19 이상이 필요합니다:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pi --version
권장: Haimaker Connect
설정 마법사를 실행하고 Pi를 선택하세요:
npx -y @haimaker/connect
위 Sonnet 추천과 함께 Pi를 사용하려면, 둘 다 명시적으로 선택하세요:
npx -y @haimaker/connect --pi --model anthropic/claude-sonnet-5-5
pi --provider haimaker --model anthropic/claude-sonnet-5-5
Connect는 브라우저 로그인을 열거나 기존 HAIMAKER_API_KEY을 사용합니다. Haimaker 프로바이더를 models.json에 작성하고, 키를 Pi의 auth.json에 저장하며, 요청 하나를 검증합니다. 이후 Pi가 Haimaker에 직접 요청을 보냅니다. 옵션은 Connect 패키지 문서를 참조하세요.
--model 없이 실행하면 Connect는 haimaker/auto을 구성합니다. 비교 시에는 라우팅이 요청마다 모델을 바꾸지 않도록 반드시 이름이 있는 모델을 지정하세요. Connect는 단일 모델 항목만 작성하므로, 여러 후보를 Pi의 피커에 유지하려면 아래 수동 구성을 사용하세요. 기존 파일은 백업하지만, models.json은 주석 없이 JSON으로 다시 작성합니다.
Haimaker Connect로 Pi를 구성한 후, 동일한 리포지토리 작업에서 모델을 비교해 보세요.
PI를 HAIMAKER에 연결수동 구성: 피커에 여러 모델 유지
Pi를 시작할 셸에서 키를 설정하세요:
export HAIMAKER_API_KEY=your-haimaker-key
이 프로바이더를 ~/.pi/agent/models.json에 추가하세요. 이미 기존 providers 객체가 있으면 병합하세요:
{
"$schema": "https://pi.dev/schemas/models.schema.json",
"providers": {
"haimaker": {
"baseUrl": "https://api.haimaker.ai/v1",
"api": "openai-completions",
"apiKey": "${HAIMAKER_API_KEY}",
"models": [
{
"id": "anthropic/claude-sonnet-5-5",
"name": "Claude Sonnet 5.5",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 128000
},
{
"id": "openai/gpt-6.1-sol",
"name": "GPT-6.1 Sol",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 922000,
"maxTokens": 128000
},
{
"id": "minimax/minimax-m3",
"name": "MiniMax M3",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 128000
}
]
}
}
}
위 제한 사항은 확인된 Haimaker 카탈로그 기준이며, 프로바이더의 직접 API와 다를 수 있습니다. Pi는 프로바이더 자격 증명에서 환경 변수 보간을 지원합니다. 자세한 내용은 모델 구성 가이드를 참조하세요. 대규모 리포지토리 컨텍스트를 보내기 전에 제한된 작업으로 먼저 시작하세요.
두 식별자를 모두 사용하여 모델을 선택하세요:
pi --provider haimaker --model anthropic/claude-sonnet-5-5
Pi 내에서 /model을 열어 구성된 다른 모델을 선택할 수 있습니다. 피커는 models.json을 다시 로드합니다. 요금은 수시로 변경되므로 이 예시에서는 커스텀 가격 메타데이터를 생략했습니다. 구성되지 않은 세션의 비용 표시를 측정된 제로 비용 실행으로 해석하지 말고, 프로바이더 청구서를 확인하세요.
이미 보유한 프로바이더 계정
내장 프로바이더의 경우, /login을 실행하고 Pi의 인증 플로우를 따른 후, /model으로 모델을 선택하세요. Pi의 프로바이더 레퍼런스에 API 키 변수와 프로바이더별 옵션이 나열되어 있습니다. 구독과 종량제 API 키는 접근 권한과 과금 방식이 다를 수 있으므로, 계정이 실제로 지원하는 연결 방법을 사용하세요.
추론 레벨을 어떻게 설정하고 모델을 전환해야 하나요?
모델 선택과 추론 노력은 별도의 변수로 관리하세요. 첫 비교에서는 지원되는 경우 중간 노력을 사용하고, 더 많은 추론이 필요한 작업에서 높이세요. Pi는 선택된 모델의 기능에 따라 레벨을 제한합니다. 노력 수준을 선택할 때는 토큰 사용량과 완료 결과를 함께 비교하세요. 프로바이더마다 동일한 레벨을 다르게 해석합니다.
Pi의 CLI 레퍼런스는 명시적 모델과 노력을 지원합니다:
pi --provider haimaker --model openai/gpt-6.1-sol --thinking medium
대화형 세션에서는 /thinking으로 노력을 변경하고, /scoped-models으로 Ctrl+P 순환에 포함할 모델을 선택합니다. 해당 순환에는 2개 모델로 시작하세요: 일상 작업 후보 하나와 더 강력한 대안 하나. 반복되는 실패를 해결할 때만 다른 모델을 추가하세요. 모델 피커에서 Ctrl+S을 눌러 시작 기본값을 저장할 수 있습니다.
모델을 수동으로 전환하면 선택이 눈에 잘 보입니다. Haimaker의 haimaker/auto은 API 측에서 라우팅합니다. Pi 내에서 라우팅하려면 확장을 통한 가상 모델 라우팅을 사용하세요. 해당 확장은 별도로 구성하고 테스트하세요. models.json에 여러 항목이 있으면 선택 가능한 모델 목록이 생기는 것이지, 목록 자체가 모델을 골라주지는 않습니다.
Pi는 또한 코딩 모델과 분류기 및 이미지 모델을 분리합니다. 현재 문서에는 Decisions API를 통한 GPT-6 Luna가 메인 대화 피커가 아닌 Codemode에서 사용하는 분류기로 나열되어 있습니다. 커뮤니티 추천을 따를 때는 모델의 API와 역할을 확인하세요. 특히 이전 Pi 버전에서 작성된 추천이라면 더욱 그렇습니다.
Pi와 함께 시도할 만한 로컬 모델은 무엇인가요?
워크스테이션급 메모리가 있고 로컬 추론을 원한다면 Qwen3.8 27B, Muse Glimmer 30B, Qwen3 Coder 30B를 비교해 보세요. 작은 머신에서는 Gemma 4 E4B 또는 Qwen3 8B를 사용하세요. 로컬 모델이 Pi의 도구를 올바르게 사용하고, 명령 실패 후 복구하는지 확인하세요.
Pi에는 GGUF 모델을 위한 문서화된 llama.cpp 라우터 통합이 있습니다. 이미 Ollama를 사용 중이라면, 별도의 OpenAI 호환 엔드포인트를 구성하세요. 머신에 맞는 모델을 내려받은 후, 정확한 태그를 models.json에 추가하세요:
ollama pull qwen3.8:27b
{
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434/v1",
"api": "openai-completions",
"apiKey": "ollama",
"models": [
{
"id": "qwen3.8:27b",
"name": "Qwen3.8 27B local",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 32768,
"maxTokens": 8192
}
]
}
}
}
플레이스홀더 키는 Pi가 로컬 프로바이더에 대한 인증을 해석할 수 있게 해줍니다. Ollama는 이 값을 무시합니다. 이 프로바이더를 기존 클라우드 구성과 병합한 후 선택하세요:
pi --provider ollama --model qwen3.8:27b
Qwen3.8의 Ollama 목록에 따르면 컨텍스트 상태와 런타임 버퍼를 제외하고 약 18GB를 다운로드해야 합니다. 24GB GPU 또는 32GB 이상 통합 메모리 머신이 제한된 세션의 시작점입니다. 이 예시의 32K 컨텍스트는 보수적인 시작 설정일 뿐, 적합함을 보장하지 않습니다. 작은 머신과 다른 후보는 Ollama 코딩 모델 가이드를 참조하세요.
로컬 추론은 모델의 프롬프트를 사용자의 머신에 유지합니다. 다만 외부 도구는 여전히 데이터를 다른 곳으로 보낼 수 있으며, cloud 태그가 있는 모델은 호스팅 추론을 사용합니다. 코드를 비공개로 유지하려면 엔드포인트와 활성화된 도구를 모두 확인하세요.
자주 묻는 질문
Pi 세션을 잃지 않고 모델을 변경할 수 있나요?
네. 기존 Pi 세션에서 /model을 사용하여 모델을 변경할 수 있습니다. Pi는 모델 및 추론 레벨 변경 사항을 기록하며, 재개 시 복원됩니다. /scoped-models를 사용하여 Ctrl+P로 순환할 수 있는 모델을 선택하세요.
커스텀 모델이 Pi에 표시되지 않는 이유는 무엇인가요?
Pi가 프로바이더 자격 증명을 확인할 수 있는지, 모델 ID가 models.json에 있는지 확인하세요. 환경 변수는 Pi를 시작하는 프로세스에 존재해야 합니다. 분류기 및 이미지 모델은 별도의 도구를 사용하며 메인 /model 피커에 표시되지 않습니다.
Pi가 Haimaker와 로컬 Ollama 모델을 지원하나요?
네. npx -y @haimaker/connect —pi를 사용하여 Pi의 네이티브 파일을 통해 Haimaker를 구성하거나, ~/.pi/agent/models.json에 프로바이더를 수동으로 추가하세요. Ollama는 http://localhost:11434/v1에서 정확한 로컬 모델 태그와 함께 별도의 로컬 프로바이더를 사용합니다.
검증된 리포지토리 작업 하나로 시작하고, Pi의 도구와 컨텍스트를 고정한 후, 두 모델을 비교하세요. 더 적은 대기 시간과 리뷰 작업으로 올바르게 완료하는 모델을 선택하세요. 새로운 릴리스가 실제로 겪은 실패를 해결할 때 이 비교를 다시 해보세요.