갈피노트
Back to Home
iOS Development • 2025년 12월 22일

Copilot CLI를 파헤쳐보자. 너 언제 나왔었니?

#GitHub #CopilotCLI #AI #개발생태계 #DevOps #터미널 #ClaudeSonnet #GPT5

*주의:

이 기능을 사용하려면 GitHub Copilot Pro, Business 또는 Enterprise 플랜이 활성화되어 있어야 하며,

조직 설정에서 Copilot CLI 정책이 활성화되어 있어야 할 수도 있습니다. 

너무 소리소문없이 나와서 온갖 ai툴들을 유료로 사용중이었는데, 소식도 못들었다.

알게 된 것도 터미널에서 사용가능한 ai툴들을 비교분석해달라고 조사했더니 튀어나온 녀석. 하하.

이미 제 터미널에는 Claude Code가 짱짱하게 돌아가고 있고, Gemini CLI도 사용중인 상태

그런데 2025년 9월, 깃허브(GitHub)가 Copilot CLI를 독립 실행형(npm install -g @github/copilot)으로 내놨다.

아무리 검색을 해봐도 2,3달 사용해본 사람들 후기가 보이질 않아서 일단 사용전에 AI를 통해 정리해보는 글.


예전에 gh copilot이라고 깃허브 CLI에 곁다리로 붙어있던 확장 프로그램이 있었습니다.

그건 그냥 명령어 자판기였고, 이번 건 에이전트입니다.

이미 다른 툴 대신 이걸 써야하는 이유는 제게는 명확합니다. 회사에서 돈내주고 있거든요.

그렇지 않은 분들을 위해 "굳이 이걸 또 깔아야 해?"라는 생각으로 며칠 굴려봤습니다.

결론부터 말하면 "엄청난 혁명은 아닌데, 깃허브 고인물이라면 갈아탈 만하다"입니다.

담백하게 장점과 단점을 털어보겠습니다.

1. "야, 너네도 Claude 쓰는구나?" (장점 1: 모델 스위칭)

기본 모델은 Anthropic의 Claude Sonnet 4.5입니다.

Gemini CLI나 Claude Code 쓰면서 느꼈던 거지만, 확실히 코딩 컨텍스트나 긴 로그 분석은 Claude 계열이 잘합니다.

깃허브도 이걸 인정한 모양새죠. 물론 /model 명령어로 GPT-5로 바꿀 수도 있습니다.

"평소엔 Sonnet으로 가성비 챙기다가, 머리 터질 것 같은 알고리즘 짤 때만 GPT-5 불러와라"는 식의 운용이 가능합니다.

이 유연함은 칭찬할 만합니다.

2. "내 터미널 붙잡지 마" (장점 2: 비동기 위임)

Claude Code 쓸 때 가장 불만이었던 게, AI가 뭐 좀 수정하고 테스트 돌린다고 제 터미널을 점유해버리는 거였는데요.

Copilot CLI에는 /delegate라는 명령어가 있습니다.

이걸 쓰면 제 로컬 코드를 스냅샷 떠서 깃허브 서버로 날려버립니다.

그럼 서버에 있는 에이전트가 알아서 지지고 볶고 한 다음, 초안 PR(Draft PR)을 딱 만들어놓고 알림을 줍니다.

로컬 리소스 안 잡아먹고 백그라운드에서 일 시켜놓을 수 있다는 건, 확실히 플랫폼을 가진 깃허브만이 할 수 있는 "치사하지만 강력한" 한 방입니다.

3. "팀원끼리 공유하는 에이전트" (장점 3: 커스텀 에이전트)

.agent.md 파일로 에이전트 성격을 정의해서 리포지토리에 박아둘 수 있습니다. 예를 들어 team-convention.agent.md를 만들어두면, 팀에 새로 들어온 신입도 /agent 명령어로 우리 팀 코딩 스타일을 완벽 숙지한 AI를 소환할 수 있죠. 이건 혼자 개발할 땐 몰라도, 협업할 땐 꽤 쏠쏠합니다.

까칠하게 보는 단점들

1. "돈 계산 복잡하게 시키네"

프리미엄 요청(Premium Requests)이라는 개념이 들어갔습니다.

GPT-5 같은 고성능 모델을 쓰면 할당량이 배로 차감됩니다.

Claude Code나 Gemini는 그냥 쓰면 되는데, 얘는 "아, 이 질문은 GPT-5 쓰면 너무 비싼가?" 하고 한 번 더 생각하게 만듭니다.

개발 집중하다가 토큰 계산기 두드리게 만드는 건 좀 별로입니다.

2. "플랫폼에 갇힌 느낌"

깃허브 생태계(이슈, PR, 액션) 안에서는 날아다니는데,

순수하게 로컬에서 파일 뚝딱뚝딱 만들고 빠르게 치고 빠지는 속도감은 Cursor의 터미널 모드나 Claude Code가 더 경쾌합니다.

깃허브를 헤비하게 안 쓴다면 굳이 매력을 못 느낄 수도 있습니다.

총평

Copilot CLI는 "깃허브라는 거대한 앞마당을 가진 금수저 에이전트"입니다.

이미 Gemini CLI나 Claude Code로 워크플로우가 잡혀있다면 굳이 무리해서 넘어올 필요는 없습니다.

하지만 팀 단위로 일하고, PR 기반으로 협업한다면 /delegate 기능 하나만으로도 찍먹해볼 가치는 충분합니다.


입니다만...

나는 iOS개발자잖아? 나에게 협업따위는 없죠.. 흑흑..

덧. 조금 특이한 기능이 있어서 좀 더 분석시켰다.

Copilot cli delegate


/delegate 기능은 Copilot CLI가 가진 가장 '플랫폼 깡패'다운 기능입니다. 로컬 컴퓨터의 리소스를 아끼면서 GitHub의 서버 자원을 끌어다 쓰는, 일종의 "외주 맡기기" 버튼이라고 보시면 됩니다.

기술적인 작동 방식과 실무에서의 활용 포인트를 자세히 뜯어보겠습니다.

1. 핵심 컨셉: "내 터미널을 블로킹하지 마라"

기존의 터미널 AI 툴(Gemini CLI, Claude Code 등)의 최대 단점은 AI가 코드를 짜고 테스트를 돌리는 동안 제 터미널이 멈춘다는 점이었습니다. 멍하니 커서 깜빡이는 걸 보고 있어야 하죠.

/delegate는 이 작업을 비동기(Asynchronous)로 처리합니다. 명령을 내리는 순간 제 터미널은 바로 자유를 되찾고, 실제 작업은 깃허브 서버 어딘가에 있는 컨테이너에서 돌아갑니다.

2. 작동 프로세스 (Under the hood)

사용자가 /delegate "이 모듈 테스트 짜고 통과시켜줘"라고 입력하면 다음과 같은 일이 벌어집니다.

  1. 스냅샷 패키징 (Context Snapshot): 단순히 커밋된 코드만 보는 게 아닙니다. 현재 작업 중인 디렉토리 상태, 아직 git add 하지 않은 Unstaged Changes까지 싹 긁어 모아서 패키징합니다.

  2. 클라우드 전송 및 브랜치 생성: 이 패키지를 GitHub 서버로 쏘고, 서버에서는 임시로 '작업 브랜치(Task Branch)'를 하나 팝니다.

  3. 격리된 환경에서 실행: GitHub 서버의 샌드박스 환경에서 에이전트가 코드를 분석하고, 수정하고, 테스트를 돌립니다. 내 로컬 CPU 팬이 돌 필요가 없습니다.

  4. 결과물 배달 (Draft PR): 작업이 끝나면 에이전트는 로컬 파일을 덮어쓰는 게 아니라, '초안 풀 리퀘스트(Draft PR)'를 생성합니다.

  5. 알림: 터미널에 "작업 끝났어. 여기 PR 링크 눌러봐"라고 알림이 뜹니다.

3. 이게 왜 좋을까? (실전 활용)

  • 리스크 없는 실험: 로컬 코드를 헝클어트리지 않습니다. 에이전트가 삽질을 하든 말든 내 로컬 파일은 안전합니다. 결과가 마음에 들면 PR을 머지(Merge)하면 되고, 아니면 닫으면 그만입니다.

  • 멀티태스킹: "A 기능 리팩토링해줘"라고 /delegate로 던져놓고, 나는 B 기능을 개발하면 됩니다. 개발자가 '싱글 스레드'에서 '멀티 스레드'로 일하게 되는 셈입니다.

  • 긴 작업 처리: 통합 테스트(Integration Test) 작성이나 마이그레이션처럼 시간이 오래 걸리고 지루한 작업을 맡기기에 최적입니다.

4. 주의할 점 (한계)

  • 네트워크 의존성: 로컬 상태를 패키징해서 업로드하는 과정이 필요하므로, 인터넷이 느리거나 프로젝트 사이즈가 엄청나게 크다면 업로드 자체에 시간이 좀 걸릴 수 있습니다.

  • 피드백 루프: 로컬에서 바로 고쳐주는 다른 툴들에 비해, PR 생성 -> 확인 -> 머지라는 과정이 추가되므로, "변수명 하나 바꿔줘" 같은 아주 사소한 수정에는 오히려 번거로울 수 있습니다.

한 줄 요약: "로컬 터미널 뺏기기 싫고 큰 작업 시킬 때, GitHub 서버로 일감(Context)을 택배로 부쳐버리고 결과물만 PR로 받는 기능입니다."

Comments