IT/코딩툴

GitHub Copilot의 토큰 소비량을 줄이기 위한 사용 방법

개발자 두더지 2026. 7. 26. 22:44
728x90

일본의 한 블로그 글을 번역한 포스트 입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있다면 지적해주시면 감사하겠습니다.

 

 2026년 6월 1일부터 GitHub Copilot 요금이 크게 변경됐다. 지금까지는 프리미엄 리퀘스트 수로 인한 관리에서 토큰 소비량 베이스의 " GitHub AI Credits "제도로 바꼈다. 

 주의해야할 점은 Output토큰 ( Copilot 가 생성하는 문장)의 가격이 Input의 5배라는 점이다. 대량의 코드를 생성하면 할 수록 코스트가 기하적으로 늘어나게 된다.

 이 글에선 토큰 소비를 억제하면서 재작업을 줄이며 개발하는 진행하는 플로우를 소개하도록 하겠다.

 

 

 왜 "Agent에 전부 던지면" 코스트 대비 효율이 나쁜가


GitHub Copilot의 Agent 모드는 매우 유용하다. 지시를 내면 자율적으로 코드를 작성하고 파일을 편집하고 오류가 있으면 스스로 수정을 시도한다.

하지만 Agent가 내가 생각한 의도와 다른 구현을 해 버렸을 때에 문제가 생깁니다.

  • 되돌리기로 재구성 → Output 토큰이 2배 소비
  • 수정 지시 → Input·Output 모두 소비
  • 컨텍스트가 늘어날수록 다음 요청 비용이 높아진다

 나 또한, Agent 모드에만 의존했던 결과, 월 중반에 프리미엄 요청이 상한에 도달해버리고 말았다.

 또한 GitHub의 공식 블로그에서 "플랜 모드를 사용하여 태스크의 효율성을 높인다. 플랜 모드는 태스크의 성공률도 향상된다"라고 말하고 있다. 즉, 갑작스럽게 Agent를 구현하는 게 아니라 먼저 계획 모드로 AI와 합의한 후에 Agent를 사용하는 것이 품질과 비용 측면에서 권장된다고 할 수 있다.

 

 

효율적인 개발 흐름


전체 이미지

① /init로 .github/copilot-instructions.md를 자동생성한다
② Plan모드로 태스크 설계, 합의한다
③ Agent모드로 구현한다(재작업은 /undo 로 바로 리커버리)
④ /review로 품질을 확인한다
⑤ /context로 토큰 사용량을 확인한다
⑥ /compact・/clear로 컨텍스트를 관리한다
※ 작업중 살짝 조사할 때는 /ask 로 컨택스트를 소비하지 않고 진행한다

① /init에서 .github/copilot-instructions.md자동 생성

프로젝트 루트에 .github/copilot-instructions.md놓으면 Copilot은 항상 내용을 참조한다. 수동으로 작성해도 좋지만 우선 /init실행하는 것이 좋다.

/init

Copilot은 리포지토리의 디렉토리 구조, 사용 언어 및 프레임 워크를 자동으로 분석하고 .github/copilot-instructions.md생성 및 업데이트한다. 기존 파일이 있는 경우는 차분으로 추기해주므로, 프로젝트 구성이 바뀌었을 때의 갱신으로도 사용할 수 있다.

② Plan 모드에서 태스크 설계 및 합의

VSCode에서 Copilot Chat 또는 Copilot CLI 모드를 Plan으로 전환한다. Plan 모드에서 Copilot은 코드를 작성하지 않고 작업 계획 제안과 상담만 수행한다. Plan모드에서의 작업 진행은 다음과 같다.

# Plan 모드 진행 방법

1. 작업을 전달한다
   ‘사용자 목록 페이지에 페이지네이션을 추가하고 싶다’

2. Copilot이 작업 계획을 제시한다
   (예) 아래 파일을 수정합니다:
   - src/components/UserList.tsx
   - src/hooks/usepagination.ts (새로 만들기)
   - src/app/users/page.tsx」

3. 합의가 되면 Agent 모드로 전환한다

이 단계에서 어긋남을 발견하면 Output 토큰을 낭비하지 않고 방향을 수정할 수 있다. /new에서 컨텍스트를 재설정한 후 시작하는 것도 좋다. 불필요한 대화 이력이 컨텍스트에 남지 않고 토큰 소비를 줄일 수 있다.

③ Agent 모드로 구현하기

계획에 동의하면 Agent 모드로 전환하여 구현을 요청한다.이 때 작업을 작게 나누고 전달하는 것이 중요하다.

# 좋은 예(작게 분할)
「usePagination.ts를 작성해주세요.
사양은 Plan에서 확인한대로 해주세요.」

# 나쁜 예(크게 전달)
「유저 관리 기능을 전부 만들어주세요.」

 큰 작업을 한 번에 전달하면 Agent가 여러 파일을 동시에 처리하므로 컨텍스트 창 사용량이 증가하는 경향이 있다. /context 명령으로 확인할 수 있도록 하기 위해 파일 수가 많을수록 System/Tools 소비량이 늘어나는 것이다. 따라서 작업은 작게 전달하여 토큰 소비를 분산시킬 수 있다.

 의도와 다른 구현을 했을 경우는, /undo로 직전의 파일 변경을 되돌릴 수 있다. 수정 지시를 거듭하여 토큰을 소비하는 것보다, /undo로 리셋하고 지시를 다시 내리는 것이 효율적이다.

/undo

또, 모델의 구분도 유효하다. 나는 다음과 같이 구분하여 사용한다.

용도모델

복잡한 아키텍처 설계 및 어려운 버그 수정 Claude Sonnet 4.6 / Claude Opus 4.6
간단한 구현 Claude Haiku 4.5
코드 보완(무제한·신용 불필요) Auto(모델 자동 선택)

④ /review로 품질 확인

구현이 끝나면 즉시 병합하지 않고 Copilot이 /review에서 확인하도록 한다. 리뷰는 조금 시간이 걸리므로, 어느 정도 정리하고 나서 리뷰 시키면 효율적이다. 또한 /review [prompt]와 같이 프롬프트를 추가하여 검토의 관점을 지정할 수 있다.

/review 세큐리티의 문제가 없는지 중점저그올 체크하세요.
/review 퍼포먼스에 영향이 가는 부분이 없는가 확인하세요.
/review 에러 핸들링이 적절한지 확인하세요.

⑤ /context에서 토큰 사용량 확인

/context를 실행하면 현재 컨텍스트 창의 사용을 시각적으로 확인할 수 있습니다.

Context Usage

claude-haiku-4.5 · 20k/168k tokens (12%)

○ System/Tools:  19.5k (12%)
● Messages:          0  (0%)
· Free Space:    109.7k (65%)
⊙ Buffer:         38.8k (23%)

 이와 같이 사용중의 모델·총 토큰수·내역을 한눈에 알 수 있다. 컨텍스트가 부풀어 있는 상태에서 구현을 의뢰하면, 그만큼 Input 토큰의 비용이 올라간다. 구현을 의뢰하기 전에 /context상황을 파악하고 부풀어 오르면 /compact압축하고 나서 진행하는 것이 좋다.

⑥ /compact로 /clear컨텍스트 관리

긴 세션을 계속하면 컨텍스트가 점점 커진다. 컨텍스트가 클수록 다음 요청의 Input 토큰도 늘어나므로 정기적으로 정리가 필요하다.

명령 용도
/compact 대화를 요약하고 컨텍스트를 압축
/clear 컨텍스트를 완전히 재설정
/new 새 세션 시작

기준으로 하나의 작업이 끝나면 /clear또는 /new재설정하는 것이 좋다. 다음 태스크에 이전 태스크에 대한 정보는 필요하지 않기 때문이다.

덤 /ask으로 문맥을 더럽히지 않고 조사물을 한다

작업중에 「이 함수의 인수는 뭐야?」라고 약간의 확인을 하고 싶은 것은 자주 있다. 그러나 일반 채팅으로 질문하면 대화 이력에 남아 컨텍스트를 소비하게 된다.

그럴 때는 /ask(experimental) 가 편리합니다. 질문과 답변이 대화 기록에 추가되지 않으므로 컨텍스트를 소비하지 않고도 조사를 할 수 있다.

# experimental모드를 유효화(처음에만. 시험 중인 슬래시 명령을 위해 활성화가 필요.)
/experimental on

# 대화 이력을 남기지 않고 질문
/ask Array.prototype.reduce의 인수를 알려줘

 

 

요약


6월 1일부터의 종량 과금제에 의해, 재작업을 줄이는 궁리가 그대로 코스트 삭감에도 연결되게 된다.

  • /init에서 프로젝트 토대 자동 생성
  • Agent에 둥글게 던지지 않고 Plan 모드에서 합의한 후 구현
  • 작업은 작게 나눠서 전달됩니다 /undo.
  • /context에서 토큰 사용량을 파악한 후 구현 요청
  • 컨텍스트를 정기적으로 재설정
  • 조사물은 /ask에 문맥을 소모하지 않고 한다. 원래 대화를 더럽히지 않고 질문 할 수 있습니다.
  • 용도에 따라 모델을 구분

참고자료

https://dev.classmethod.jp/articles/shoma-minimize-token-consumption-and-implementation-rework-github-copilot-development-flow/

728x90