사전 요구 사항
시작하기 전에 다음 항목을 준비하세요.- macOS 또는 Linux 터미널, Python 3.12 이상,
uv SANDBOX_USER액션이 포함된 CoreWeave API 액세스 토큰- Pi에서 지원하는 모델 공급자의 사용자 인증 정보. 이 가이드에서는 Serverless Inference를 사용하며, 이를 사용하려면 추론 크레딧이 필요합니다.
- 공개 Git 저장소 URL. 비공개 저장소를 사용하려면 샌드박스 내에서 별도로 Git 인증을 설정해야 합니다.
로컬 환경 준비하기
로컬 프로젝트를 만들고 Sandboxes SDK(소프트웨어 개발 키트)를 설치하세요.[API-ACCESS-TOKEN]을 CoreWeave API 액세스 토큰으로 바꾸세요.
샌드박스 생성
다음 스크립트를create_pi_sandbox.py로 저장하세요. 이 스크립트는 CPU 샌드박스를 생성하고 Pi 0.87.1을 설치한 다음 저장소를 복제합니다. 런타임과 Git은 Node.js 이미지에서 제공됩니다. 설정 중 실패가 발생하면 스크립트는 오류를 발생시키기 전에 샌드박스를 중지합니다.
create_pi_sandbox.py
[REPOSITORY-URL]을 사용 중인 저장소 URL로 바꾼 후 다음 명령을 실행하세요.
0.87.1이 출력됩니다. 스크립트가 종료된 후에도 샌드박스는 직접 중지하거나 4시간의 수명이 만료될 때까지 계속 실행됩니다. 수명에는 시작 시간도 포함됩니다.
터미널 연결하기
다음 코드를attach_sandbox.py로 저장하세요. 이 스크립트는 터미널 입력을 샌드박스의 Bash 셸로 전달하고, 셸이 종료되면 로컬 터미널 설정을 원래대로 복원합니다.
attach_sandbox.py
[SANDBOX-ID]를 실제 샌드박스 ID로 바꾸세요:
모델 공급자 선택
다음 옵션 중 하나를 선택하세요. 이 가이드에서는 샌드박스 인증과 모델 인증에 각각 별도의 사용자 인증 정보를 사용합니다. Pi는 자신의 프로세스에 제공된 사용자 인증 정보에 액세스할 수 있으며, 워크스페이스의 콘텐츠를 선택한 모델 공급자에게 전송할 수 있습니다.Serverless Inference 사용
이 워크스루에서는 Serverless Inference를 사용하는 것을 권장합니다. 예시에서는zai-org/GLM-5.2를 사용합니다. 작업에 더 적합한 모델이 있다면 모델 카탈로그에서 다른 모델을 선택하세요.
샌드박스 셸에 입력 내용이 표시되지 않는 프롬프트가 나타나면 추론 크레딧이 있는 계정의 Forge API 키를 입력하세요.
~/.pi/agent/models.json 파일이 생성됩니다. 따옴표로 감싼 heredoc은 환경 변수 참조를 그대로 유지하므로 파일에 키가 직접 저장되지 않습니다.
/workspace/project와 zai-org/GLM-5.2가 표시된 터미널 인터페이스가 열립니다. 모델 액세스를 확인하려면 Pi 실행 및 작업 결과 확인의 안내에 따라 작업을 제출하세요.
이 설정에서는 응답당 최대 8,192 토큰으로 제한됩니다. 모델을 변경하는 경우 공급자에 맞게 모델 ID와 기능을 업데이트하세요. 그 밖의 설정 옵션은 Pi 모델 구성을 참조하세요.
다른 공급자 사용
Anthropic 또는 OpenAI를 직접 사용하려면 해당 API 키를 선택하고 같은 샌드박스 셸에서 Pi를 시작하세요.- Anthropic
- OpenAI
/model을 사용해 해당 공급자에서 사용 가능한 모델을 선택하세요. 다른 공급자와 계정 로그인 옵션은 사전 요구 사항에 링크된 Pi 공급자 문서를 참고하세요.
Pi 실행 및 작업 결과 확인
Pi에 프로젝트 신뢰 프롬프트가 표시되면 안내에 따르세요. Pi가 복제된 저장소에서 파일을 생성하고 조회할 수 있는지 확인하려면 Pi에 다음 작업을 제출하세요./quit을 입력하여 샌드박스 셸로 돌아가세요. Pi는 pi --session 명령어가 포함된 To resume this session: 줄을 출력합니다. 나중에 이 대화를 다시 열 수 있도록 해당 명령어를 보관해 두세요.
파일을 직접 확인하세요:
Hello from CoreWeave가 포함되어 있어야 합니다.
Forge 설정으로 사용자 개입 없이 작업을 실행하려면 같은 셸에서 Pi를 print 모드로 실행하세요.
대화에 다시 연결하기
샌드박스가 실행 중일 때 다시 연결하려면attach_sandbox.py 스크립트를 다시 실행하세요. Pi를 시작하기 전에 이전 셸에서 입력했던 API 키를 다시 입력하고 /workspace/project 디렉터리로 이동하세요. 대화형 대화를 다시 열려면 [SESSION-ID]를 Pi 종료 시 출력된 To resume this session: 줄의 ID로 바꾸세요:
pi --continue를 사용하면 해당 프로젝트의 가장 최근 세션을 재개할 수 있습니다. 대화형으로 대화를 나눈 뒤 print 모드 예시를 실행했다면 print 모드 세션이 재개됩니다. 특정 대화로 돌아가려면 --session을 사용하세요.
결과 조회 및 중지
exit를 입력하여 샌드박스 셸을 종료하세요. 로컬 터미널에서 다음 코드를 collect_pi_result.py 파일로 저장하세요.
collect_pi_result.py
[SANDBOX-ID]를 사용자의 샌드박스 ID로 바꾼 다음 스크립트를 실행하세요.
stop_pi_sandbox.py로 저장하세요.
stop_pi_sandbox.py
문제 해결
다음 항목을 확인하여 일반적인 문제를 해결하세요.- 샌드박스 생성에 실패하면 샌드박스 사용자 인증 정보를 확인하고, 사전 요구 사항에 링크된 샌드박스 인증 요구 사항도 확인하세요.
- Pi가 인증하지 못하면 Pi를 시작하는 셸에서 모델 사용자 인증 정보가 export되어 있는지 확인하세요. Forge를 사용하는 경우 추론 크레딧과 모델 ID도 확인하세요.
- Pi가 공급자에 연결하지 못하면 공급자 엔드포인트에 대한 아웃바운드 액세스를 확인하세요. 설치 및 복제 작업에는 npm과 Git 호스트에 대한 액세스도 필요합니다.
- 연결이 끊기면 샌드박스가 실행 중일 때 다시 연결하세요. 터미널 연결이 끊겨도 프로세스가 계속 실행되어야 한다면
tmux와 같은 터미널 멀티플렉서를 사용하세요.