
GitHub Copilot app에서 새로운 세션으로 plan을 실행하는 방법
요약
GitHub Copilot의 사용량 기반 과금 체계에 대응하여 토큰 효율을 높이는 방법을 소개합니다. 특히 plan 모드에서의 리서치 기록을 제외하고 새로운 세션을 시작하기 위해 `create_session` 도구를 활용하는 테크닉을 다룹니다.
핵심 포인트
- 사용량 기반 과금 도입으로 토큰 최적화가 중요해짐
- plan 모드의 리서치 기록을 분리하여 토큰 낭비 방지
- create_session 도구를 통한 독립된 세션 생성 방법
- 세션 생성 시 kickoff_mode 및 모델 설정 가능
2026/06/03 시점의 정보입니다.
이러한 세세한 테크닉은 수명이 짧을 것이라 생각되므로, 이 기사를 읽는 시기에 따라 더 좋은 방법이 있을지도 모릅니다.
서론
최근 GitHub Copilot이 Usage-Based Billing (사용량 기반 과금) 방식으로 변경되었습니다.
지금까지는 프리미엄 요청(Premium Request)이라는 1턴의 상호작용에 대해 과금되었기 때문에, 토큰 효율이 나쁘더라도 한 번의 상호작용으로 많은 작업을 시키는 것이 가성비가 좋은 상태였으나, 앞으로는 효율적으로 토큰을 사용하는 것이 중요해집니다.
이를 위해서는 스코프(Scope)를 명확히 하기, 적절한 모델 선택하기, 세션을 적절히 나누기 등의 노력이 필요합니다.
Token Optimization Best Practises - Visual Guide에 구체적인 테크닉이 정리되어 있으니 꼭 참고하시기 바랍니다.
이 기사에서 하고 싶은 것
토큰 절감과 관련하여 항상 신경 쓰이는 점은, GitHub Copilot app에서 plan 모드를 사용하여 플랜을 세우면 많은 리서치(Research)가 실행된 후 최종적으로 플랜이 작성된다는 것입니다. 그 후 autopilot로 실행하는 흐름이 많을 것이라 생각되는데, plan 모드에서의 리서치는 autopilot로 실행할 때도 그대로 이어지기 때문에, autopilot 실행 전에 plan 모드에서의 리서치를 삭제해 두고 싶습니다. 머지않아 자연스러운 동선이 생기겠지만, 현재로서는 plan 모드에서의 리서치를 삭제하기 위해 plan 모드 세션에서 플랜을 파일이나 클립보드에 보관한 뒤, 새로운 세션에서 시작하는 방법을 사용해 왔습니다.
그렇게 생각하던 중, 오늘 GitHub Copilot app에 create_session이라는 도구가 있다는 것을 알게 되었습니다. 다음은 create_session에 대해 GitHub Copilot app으로부터 설명받은 내용입니다.
create_session 도구
프로젝트 내에 새로운 세션을 생성하기 위한 도구. Copilot CLI가 지정한 리포지토리(Repository) 하위에 새로운 워크스페이스(Worktree 또는 폴더 기반)를 준비하고, 그 안에서 독립된 Copilot 세션을 시작해 준다.
파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
project_id | string | ✅ | 세션을 생성할 대상 프로젝트의 ID. list_projects로 취득 가능. |
name | string | ❌ | 세션의 표시 이름 (최대 40자, Sentence case 권장). 브랜치명 slug가 아닌 자연스럽고 짧은 문장을 입력. |
base_branch | string | ❌ | 새 워크스페이스의 기준 브랜치. 통상적으로는 지정 불필요 (프로젝트의 기본 브랜치가 사용됨). Stack PR 등 기존 브랜치에 얹고 싶을 때만 지정. |
kickoff_prompt | string | ❌ | 세션 준비 완료 후 자동으로 전송되는 첫 번째 프롬프트(Prompt). 지정하면 세션이 자동 기동됨. |
kickoff_mode | enum | ❌ | 킥오프(Kickoff) 시의 모드. plan / interactive / autopilot. kickoff_prompt가 있는 경우의 기본값은 plan. |
model | string | ❌ | 기본 모델 이외의 모델로 구동하고 싶을 때 지정. |
reasoning_effort | string | ❌ | Reasoning 대응 모델에서만 유효. |
notify_on_idle | enum | ❌ | 생성된 세션이 idle/error 상태가 되었을 때의 알림 설정. once (최초 1회) / always (매번). 생략 시 알림 없음. |
사용 예시
{
"project_id": "c0262eb3-6b6f-4bd1-b5c4-150868a61124",
"name": "로그인 화면 리팩토링",
...
메인 세션에서 별도의 작업을 분리하고 싶을 때 (병렬로 구동하는 실험 브랜치, 장시간 소요되는 조사 태스크 등) 호출하면, 본 세션의 대화를 더럽히지 않고 독립된 문맥(Context)에서 작업을 진행할 수 있다.
이것을 사용하여 plan의 실행을 별도 세션에서 수행하기
create_session
도구를 사용하면 plan의 실행을 새로운 세션에서 수행할 수 있습니다.
실제로, 최근 만들고 있는 SkimDown이라는 markdown 읽기 전용 앱에서 plan의 실행을 새로운 세션에서 수행하도록 해보았습니다.
이번에 요청할 작업은 다국어화입니다. 현재는 영어만 대응하고 있지만, 일본어용 리소스를 만들어 달라고 요청할 예정입니다.
Claude Sonnet 4.6으로 plan을 세우고, GPT-5.4-mini extra high로 실행하도록 구성해 보았습니다. 각 모델의 요금은 다음과 같습니다. 실행 시 GPT-5.4-mini를 사용함으로써 비용을 억제할 수 있을 것이라는 계산입니다.
- Claude Sonnet 4.6: ↑$3.00(Cached $0.30), ↓$15.00(Cached $3.75)
- GPT-5.4-mini: ↑$0.75(Cached $0.075), ↓$4.50
그래서 GitHub Copilot app에 다음과 같이 요청해 보았습니다. 포인트는 Plan 모드 시작 시점에는 worktree를 끊지 않고 Local을 지정하는 것입니다.
plan을 세울 때는 눈치껏 잘 해주길 바라므로 Claude Sonnet 4.6에게 요청했습니다.

plan이 생성되면, 다음의 2번인 Exit plan mode and I will prompt my self를 선택합니다.

그리고 다음과 같이 부탁합니다.
plan을 gpt-5.4-mini extra high로 새로운 세션에서 autopilot로 실행해 주세요.
그러면 다음과 같이 plan을 세운 세션의 자식으로서 autopilot로 실행하는 세션이 만들어져 실행됩니다.

새로 생성된 세션으로 전환하면 다음과 같이 지정한 조건으로 실행이 이루어지고 있음을 확인할 수 있습니다.

잠시 기다리면 작업이 완료되고, 원래 세션으로 완료 통지가 옵니다. 완료 통지가 오면 원래 세션이 보고해 줍니다.

이 이후에는 자식 세션 쪽에서 PR을 만들고 merge를 하는 일반적인 작업을 수행할 수도 있고, 원래 세션에서 자식 세션에 작업의 다음 단계를 요청할 수도 있습니다. 원래 세션은 똑똑한 모델을 사용하여 plan을 세우고, 자식 세션에서는 저렴한 모델을 사용하는 방식을 취할 수 있다는 점도 좋습니다.
GitHub Copilot CLI나 VS Code에서도 서브 에이전트 (sub-agent)를 사용하여 비슷한 일을 할 수 있지만, GitHub Copilot app의 세션은 GUI로 확인할 수 있다는 점이 편리합니다. 또한, AI가 생성한 것은 단순한 세션이므로 중간부터 인간이 그대로 사용할 수도 있습니다.
편리하네요.
실제로 사용된 AI Credits
실제로 여러 세션에서 plan과 autopilot을 실행해 보며 AI Credit이 얼마나 사용되었는지도 확인해 보았습니다. 또한, 단일 세션에서 수동으로 plan과 autopilot을 동일한 조건으로 실행했을 때의 사용량도 확인해 보았습니다.
여러 세션 구성
- plan: 88.1 AI Credits
- 실행: 19 AI Credits
단일 세션 구성
- 단일 세션(plan + 실행): 66.6 AI Credits
개인적으로는 세션을 나누는 편이 사용하는 AI Credit이 더 적을 것이라고 생각했는데, 반대의 결과가 나오고 말았습니다...
다시 한번 동일한 태스크를 동일한 조건으로 시도해 보겠습니다. 이번에는 토큰 (token) 사용량을 조금 더 세밀하게 확인하겠습니다.
먼저 plan을 세운 시점의 AI Credits와 토큰 사용량입니다.
여러 세션 구성
- ↑429.5K, ↓7.3K 토큰, 34.6 AI Credits
단일 세션 구성
- ↑538.4K, ↓8.3K 토큰, 40.7 AI Credits
plan을 실행한 후의 사용량은 다음과 같았습니다.
여러 세션 구성
- 부모: ↑925.9K, ↓10.3K 토큰, 76.3 AI Credits
- 자식: ↑472.2K, ↓8.1K 토큰, 9.03 AI Credits
- 합계: ↑1.4M, ↓18.4K 토큰, 88.1 AI Credits
단일 세션 구성
- ↑1.7M, ↓28.2K 토큰, 91.9 AI Credits
이번에는 세션을 나누는 것이 더 적게 들었습니다. 이번 정도의 플랜(Plan)이라면, 플랜 실행 시의 토큰은 어차피 캐시 히트 (Cache Hit)가 발생하므로, GPT-5.4-mini의 비용이 낮아서 비용에 큰 영향을 주지 않을 수도 있습니다.
그리고 참고 삼아 동일한 태스크를 Claude Sonnet 4.6으로 실행했을 때의 사용량도 확인해 보았습니다.
단일 세션 구성 (Claude Sonnet 4.6으로 실행)
- ↑1.5M, ↓10.9K 토큰, 86.4 AI Credits
네가 제일 저렴한 거냐!
마지막으로, 자세히 확인한 두 번째 결과를 표로 정리해 두겠습니다.
| 방식 | 입력 토큰 | 출력 토큰 | AI Credits | 메모 |
|---|---|---|---|---|
| 다중 세션 구성 | ↑1.4M | ↓18.4K | 88.1 | 부모 세션 + 자식 세션의 합계 |
| ... |
이번 결과만 보면 토큰 사용량은 다중 세션 구성이 적었지만, AI Credits는 Claude Sonnet 4.6으로 단일 세션을 실행한 패턴이 가장 적다는 결과가 나왔습니다. 모델별 요금이나 캐시(Cache)가 적용되는 방식이 다르기 때문에, 단순히 토큰 수만으로는 판단할 수 없네요. 어렵습니다...
요약
결론적으로, 글을 쓰기 시작할 당시의 계획으로는 다중 세션 구성을 통해 엄청나게 절약할 수 있었다!라는 요약을 쓰고 싶었지만, 반드시 그렇지는 않다는 결과가 나왔습니다. 토큰 자체는 절약되고 있지만, 모델의 요금이나 캐시 적용 방식 등이 있기 때문에 AI Credits 측면에서 보면 반드시 절약되고 있다고는 말할 수 없네요. 좀 더 다양한 패턴으로 시도해 볼 필요가 있을 것 같습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기