메인 칼럼 개발일지 작업물 연락처

PI agent 제대로 쓰기 — 기본 사용법부터 서브에이전트로 작업 분배까지

PI agent의 실제 사용법(@ 컨텍스트, ! 셸, 세션 관리)과 pi-subagents로 작업을 여러 자식 에이전트에게 분배하는 방법을 정리했습니다.

지난 포스팅에서 PI를 설치하고 Nvidia 무료 API 키까지 발급받았습니다. 이번엔 본격적으로 PI를 어떻게 쓰는지, 그리고 PI의 진짜 강점인 서브에이전트(subagent)로 작업을 나눠 맡기는 법까지 다뤄보겠습니다.

이 글은 PI 공식 문서를 기반으로 작성했습니다.


1. PI 실행하고 첫 작업 시키기

설치가 끝났다면 작업할 프로젝트 폴더로 이동해서 pi 만 입력하면 됩니다.

cd /path/to/project
pi

처음 실행하면 로그인을 요구합니다. 두 가지 방법이 있습니다.

① 구독 계정 연결 — 채팅창에 /login 을 입력하면 Claude Pro/Max, ChatGPT Plus/Pro, GitHub Copilot 같은 구독 제공사를 고를 수 있습니다.

② API 키 사용 — 지난 글에서 발급한 키처럼, 환경 변수로 키를 넣고 실행합니다.

export ANTHROPIC_API_KEY=sk-ant-...
pi

Nvidia 무료 키를 쓰신다면 지난 포스팅에서 등록한 그대로 /model 로 Kimi 2.6을 선택하시면 됩니다.

로그인이 끝나면 그냥 한국어로 시키고 싶은 작업을 입력하면 됩니다.

이 저장소가 뭐 하는 프로젝트인지 요약하고, 테스트는 어떻게 돌리는지 알려줘.

PI는 기본적으로 read(읽기), write(쓰기), edit(수정), bash(명령 실행) 네 가지 도구를 가지고 스스로 파일을 읽고 고칩니다. 파일을 수정할 때는 변경 내용을 먼저 보여주고 적용 여부를 물어보니, 마음에 안 들면 거절하면 됩니다.


2. 파일을 컨텍스트에 넣기 — @ 문법

“이 파일 좀 봐줘”라고 할 때는 @ 뒤에 경로를 붙입니다. 터미널에서 바로 한 줄로도 가능합니다.

pi @README.md "이 파일 요약해줘"
pi @src/app.ts @src/app.test.ts "이 둘을 같이 보고 리뷰해줘"

이미지도 넣을 수 있습니다.

pi @screenshot.png "이 화면에 뭐가 보여?"

여러 파일을 한 번에 던질수록 좋은 게 아니라, 필요한 파일만 골라 넣는 것이 응답 품질과 토큰 절약 모두에 유리합니다.


3. 셸 명령 실행 — ! 문법

인터랙티브 모드 안에서 셸 명령을 바로 돌리려면 앞에 ! 를 붙입니다.

!npm run lint

명령 결과를 모델에게는 보내지 않고 나만 확인하고 싶다면 !! 를 씁니다.

!!git status

터미널을 따로 열지 않아도 되니 작업 흐름이 끊기지 않습니다.


4. 프로젝트 규칙 주입 — AGENTS.md / CLAUDE.md

프로젝트 루트에 AGENTS.md 또는 CLAUDE.md 파일을 두면, PI가 매번 그 규칙을 지키며 작업합니다.

- 코드를 고친 뒤에는 항상 `npm run check` 를 실행할 것.
- 답변은 간결하게.
- 사용자에게 보이는 문구는 한국어로 작성할 것.

“매번 이거 하라고 시키기 귀찮은” 규칙들을 여기에 적어두면 됩니다.


5. 모델 전환과 세션 관리

자주 쓰는 슬래시 명령어와 세션 옵션입니다.

명령어역할
/model사용할 모델 전환
/settings사고(thinking) 수준·테마 등 설정
/new새 세션 시작
/resume이전 세션 불러오기
/compact길어진 대화를 요약해 컨텍스트 정리

터미널에서 세션을 이어가는 옵션도 있습니다.

pi -c                 # 가장 최근 세션 이어가기
pi -r                 # 세션 목록에서 골라 이어가기
pi --name "작업이름"   # 이름 붙여서 새 세션 시작

작업 하나가 끝나면 /new 로 깔끔하게 비우고 시작하는 습관을 들이면, 이전 맥락이 끼어들어 엉뚱한 답을 내놓는 일을 줄일 수 있습니다.


6. 핵심 — 서브에이전트로 작업 분배하기

여기서부터가 PI의 진짜 매력입니다.

먼저 알아둘 사실: PI는 기본 상태에선 서브에이전트(sub-agent)와 plan mode를 일부러 넣지 않았습니다. 공식 문서도 “Pi는 강력한 기본값을 제공하지만 서브에이전트와 plan mode 같은 기능은 빼두었다”고 밝히고 있습니다. 대신 필요하면 패키지로 끼워 넣는 방식입니다.

작업 분배 기능은 공식 pi-subagents 패키지로 추가합니다.

pi install npm:pi-subagents

설치하면 PI가 작업을 여러 개의 집중된 자식 에이전트에게 나눠 맡길 수 있게 됩니다. 자식 에이전트는 자기만의 임무를 가진 독립된 PI 세션이고, 일을 끝내면 결과를 부모에게 돌려줍니다.

제공되는 서브에이전트 역할

역할하는 일
scout코드베이스 빠른 정찰 — 관련 파일·진입점·데이터 흐름·위험요소 파악
researcher웹/문서 조사 후 출처와 함께 간결한 브리핑
planner기존 맥락을 바탕으로 구체적인 구현 계획 작성
worker승인된 변경을 실제로 구현 (파일 수정)
reviewer구현이 작업/계획과 맞는지 코드 리뷰 + 소소한 수정
context-builder더 강한 사전 조사 — 코드 맥락 수집 후 인수인계 자료 작성
oracle파일은 안 건드리고 방향성에 대해 제2의 의견을 주는 조언자
delegate부모 동작을 그대로 따르는 범용 자식 에이전트

어떻게 시키나? — 그냥 말로 하면 됩니다

복잡한 슬래시 명령을 외울 필요 없이, 자연어로 위임하면 됩니다. 공식 예시를 그대로 옮기면:

이 diff를 reviewer한테 리뷰 시켜줘.
지금 내 계획에 대해 oracle한테 제2의 의견을 물어봐줘.
scout로 이 코드를 파악한 다음, 모르는 건 나한테 질문해줘.
worker한테 이 승인된 계획을 구현시키고, reviewer 돌려서 수정사항까지 반영해줘.

여러 명을 동시에 — 병렬 실행

여러 관점이 필요할 땐 자식 에이전트를 동시에 띄울 수 있습니다.

reviewer 셋을 병렬로 돌려줘. 하나는 정확성, 하나는 테스트, 하나는 불필요한 복잡도를 봐줘.

PI가 각 결과를 구분선과 함께 한데 모아서 정리해 줍니다.

한 줄로 이어붙이기 — 추천 워크플로우

실전에서 자주 쓰는 흐름은 정찰 → 계획 → 구현 → 리뷰 순서입니다.

먼저 scout로 인증(auth) 관련 코드를 훑고,
그 내용으로 planner가 구현 계획을 세운 다음,
worker가 구현하고, 마지막에 reviewer가 점검해서 고쳐줘.

앞 단계의 결과가 다음 단계로 자연스럽게 넘어갑니다.

알아두면 좋은 옵션

  • 백그라운드 실행: 오래 걸리는 작업은 비동기로 돌려두고 다른 일을 할 수 있습니다.

  • 역할별 모델 지정: ~/.pi/agent/settings.json 에서 서브에이전트마다 다른 모델을 쓰도록 덮어쓸 수 있습니다. 예를 들어 리뷰는 더 똑똑한 모델로:

    {
      "subagents": {
        "agentOverrides": {
          "reviewer": {
            "model": "anthropic/claude-sonnet-4",
            "thinking": "high"
          }
        }
      }
    }
  • 설정 점검: 뭔가 잘 안 되면 /subagents-doctor 로 설치 상태를 진단할 수 있습니다.


마치며

이제 PI로 파일을 다루고(@), 명령을 돌리고(!), 세션을 관리하고, 나아가 여러 서브에이전트에게 작업을 나눠 맡기는 것까지 할 수 있게 됐습니다. 혼자서 모든 걸 처리하던 코딩 에이전트가, 정찰·계획·구현·리뷰를 분업하는 작은 팀처럼 움직이는 셈입니다.

다음 포스팅에서는 pi install 로 설치할 수 있는 다른 유용한 커뮤니티 패키지들과, 나만의 워크플로우를 패키지로 묶어 공유하는 방법을 살펴보겠습니다. 감사합니다!

김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.