Gemini CLI Plan 모드: 코드 망치기 전 AI가 먼저 설계하는 법
2026년 3월 11일 구글이 조용히 출시한 기능 하나가 바이브코딩의 판을 바꾸고 있습니다.
완벽한 실행 계획을 먼저 세우고, 여러분의 승인이 있어야만 코드를 건드립니다.
“일단 고쳐봤더니 다 망가졌다”는 경험, 이제 끝낼 수 있습니다.
✅ 무료 사용 가능
🔒 Read-only 안전 모드
🤖 Gemini 3.1 Pro 자동 라우팅
Plan 모드가 왜 지금 필요한가: 바이브코딩의 함정
2025년 하반기부터 한국에서도 폭발적으로 확산된 바이브코딩(Vibe Coding) 열풍은
비개발자도 AI와 대화하듯 앱을 만들 수 있다는 흥분을 가져왔습니다.
그런데 솔직히 말씀드리면, 실제로 써본 분들은 공통적인 좌절을 경험했을 겁니다.
AI가 “됐습니다!” 하고 코드를 고쳐놨는데, 고치기 전보다 더 망가진 상태—
이 악몽 같은 루프, 낯설지 않으시죠?
문제의 핵심은 AI가 이해하기도 전에 실행한다는 것입니다.
기존 Gemini CLI의 Auto-Edit 모드는 사용자가 요청하는 순간 파일을 수정하기 시작합니다.
의존성을 제대로 파악하지 못한 채로 코드를 바꾸면, 연쇄적인 에러가 발생하는 것은 당연합니다.
2026년 초 스택오버플로우 개발자 설문에서 AI 코딩 도구를 쓰는 개발자의 63%가
“AI가 만든 버그를 고치는 데 전체 개발 시간의 절반 이상을 쓴다”고 응답한 것은 우연이 아닙니다.
AI가 코드베이스 전체를 읽기 전용으로 탐색하고, 서브에이전트를 동원해 의존성을 지도처럼 그린 뒤,
여러분과 질문-답변을 주고받으며 완성된 청사진을 제출합니다. 여러분이 그 청사진을 승인해야만 비로소 한 줄이라도 코드를 건드립니다.
Plan 모드란 무엇인가: Read-only 설계의 원리
이 모드가 활성화되어 있는 동안, Gemini CLI는 파일을 읽고, 패턴을 검색하고,
문서를 탐색할 수 있지만, 단 하나의 파일도 수정할 수 없습니다.
단, 한 가지 예외가 있는데, 그것은 ~/.gemini/tmp/<project>/plans/
디렉토리에 저장되는 .md 형식의 계획 문서뿐입니다.
Plan 모드에서 허용되는 도구 목록
| 분류 | 허용 도구 | 역할 |
|---|---|---|
| 파일 읽기 | read_file, glob, list_directory |
코드베이스 탐색 (쓰기 불가) |
| 검색 | grep_search, google_web_search |
패턴 검색 및 외부 정보 수집 |
| 서브에이전트 | codebase_investigator, cli_help |
복잡한 의존성 분석 |
| 상호작용 | ask_user |
사용자에게 질문하여 목표 명확화 |
| 외부 컨텍스트 | 읽기 전용 MCP 도구 | GitHub 이슈, DB 스키마 등 조회 |
| 계획 문서 | write_file (plans/ 한정) |
Markdown 계획서 작성 |
이 구조는 매우 영리합니다. AI가 자유롭게 탐색할 수 있지만,
그 탐색이 절대 실수를 만들어내지 않습니다.
Plan 모드에서 AI는 말 그대로 “생각만 하고 손은 대지 않는” 상태입니다.
Gemini CLI 설치 및 Plan 모드 진입 방법
구글 계정으로 로그인하는 Personal API Key 방식은 하루 1,000회 무료로
① Gemini CLI 설치
npm install -g @google/gemini-cli
설치가 완료되면 터미널에서 gemini를 입력해 실행합니다.
최초 실행 시 구글 계정 로그인이 요구됩니다.
Plan 모드 자체는 무료 티어에서도 완전히 동작합니다.
② Plan 모드 진입 3가지 방법
Plan 모드는 기본값으로 활성화되어 있으며, 아래 세 가지 방법으로 언제든지 진입할 수 있습니다.
| 방법 | 명령 / 동작 | 설명 |
|---|---|---|
| ① 단축키 | Shift + Tab |
기본 → Auto-Edit → Plan 순으로 모드 전환 |
| ② 명령어 | /plan |
입력창에 직접 입력해 즉시 전환 |
| ③ 자연어 | “이 기능의 구현 계획을 세워줘” | AI가 의도를 인식해 자동 Plan 모드 진입 |
기본값을 항상 Plan 모드로 설정하고 싶다면 /settings 명령에서
Default Approval Mode를 Plan으로 바꾸거나,
CLI 실행 시 gemini --approval-mode=plan 플래그를 사용하면 됩니다.
/settings에서“Plan”을 검색해 토글을 끄면 됩니다. 그러면 Shift+Tab 순환에서도 제거되어
이전 방식 그대로 사용할 수 있습니다. 선택권이 온전히 사용자에게 있다는 점이 이 기능의 큰 장점입니다.
Plan 모드 핵심 도구 3가지 완전 해부
① ask_user: AI가 먼저 질문합니다
기존 AI 코딩 도구의 가장 큰 문제는 “AI가 추측한다”는 것입니다.
개발자의 의도를 정확히 파악하지 못한 채 구현에 뛰어드는 것이죠.
ask_user 도구는 이 문제를 근본적으로 해결합니다.
Plan 모드 중 Gemini CLI는 리서치를 멈추고 여러분에게 명확화 질문을 던집니다.
“이 DB 마이그레이션에서 롤백 전략은 어떻게 할까요?” 혹은
“기존 Logger 클래스를 재사용할까요, 새로 만들까요?”와 같이
핵심 아키텍처 결정을 개발자에게 위임합니다.
② codebase_investigator: 의존성 지도를 그리는 서브에이전트
대규모 코드베이스에서 단순 파일 읽기만으로는 복잡한 의존성을 파악하기 어렵습니다.
codebase_investigator는 전용 서브에이전트로서,
여러 파일 간의 관계, 함수 호출 체인, 모듈 구조를 체계적으로 분석합니다.
마치 시니어 개발자가 신규 입사자에게 코드 투어를 시켜주듯,
AI가 스스로 전체 구조를 이해하고 그 지식을 계획서에 녹여냅니다.
③ 읽기 전용 MCP 도구: 외부 컨텍스트까지 안전하게 수집
Plan 모드는 로컬 파일시스템에만 국한되지 않습니다.
읽기 전용 MCP(Model Context Protocol) 도구를 통해
GitHub 이슈 조회, PostgreSQL 스키마 확인, Google Docs 내용 참조 등
개발 스택 전체의 컨텍스트를 안전하게 수집할 수 있습니다.
중요한 것은 모든 외부 접근이 읽기 전용으로 제한되어
Plan 모드가 어떤 외부 시스템도 변경하지 않는다는 보장이 있다는 점입니다.
자동 모델 라우팅: Gemini 3.1 Pro가 계획을 세우는 이유
Plan 모드에서 가장 감탄스러운 기술적 장치 중 하나는 자동 모델 라우팅입니다.
| 단계 | 사용 모델 | 이유 |
|---|---|---|
| 🧠 Plan 모드 (설계) | Gemini 3.1 Pro | 고추론 모델로 아키텍처 결정의 정확성 극대화 |
| ⚡ 구현 단계 (실행) | Gemini 3.1 Flash | 고속 모델로 반복 작업의 속도 극대화 |
이 설계는 매우 실용적입니다. 아키텍처 결정에는 깊은 추론이 필요하고,
그 결정을 이미 내린 뒤 반복적인 코드 작성에는 속도가 필요하기 때문입니다.
Pro 모델로 Plan을 완성하고, Flash 모델로 구현을 질주하는 방식은
품질과 효율을 동시에 잡는 설계입니다.
2026년 3월 12일 한국에도 정식 출시된 Gemini 3.1 Pro는
복잡한 다단계 추론과 코드 아키텍처 설계에서 이전 3.0 대비 눈에 띄게 향상된 성능을 보여줍니다.
settings.json에서 "modelRouting": false로 설정해 직접 모델을 지정할 수 있습니다.
Conductor 확장: 대형 프로젝트를 위한 고급 플래닝
단순 기능 추가나 버그 수정이라면 기본 Plan 모드만으로 충분합니다.
하지만 DB 전체 마이그레이션, 레거시 코드 현대화, 복잡한 멀티스텝 기능 구현처럼
수십 개의 파일이 얽힌 대형 작업이라면 Conductor 확장이 필요합니다.
Conductor는 Gemini CLI의 공식 확장(Extension)으로,
작업을 여러 트랙(Track)으로 나누고 각 트랙마다 독립적인 계획을 세웁니다.
conductor/ 디렉토리에 모든 계획 아티팩트를 영속적으로 저장하기 때문에
세션이 끊겨도 이전 계획을 그대로 이어받을 수 있습니다.
Conductor의 작동 방식
1 enter_plan_mode 도구로 자동 전환하여 사전 점검 리서치를 수행합니다. →
2 ask_user로 마일스톤마다 핵심 결정을 개발자에게 확인합니다. →
3 승인 후 exit_plan_mode로 전환해 구현을 시작합니다.
이 사이클이 각 트랙마다 반복됩니다.
구글은 Conductor를 가까운 미래에 Gemini CLI 내장 모드로 통합할 계획을 밝혔습니다.
현재는 GitHub(gemini-cli-extensions/conductor)에서
설치할 수 있는 확장 방식으로 제공되고 있습니다.
개인적으로 Conductor는 혼자서는 엄두가 나지 않던 규모의 리팩토링 작업을
마치 옆에 시니어 개발자가 앉아 단계별로 가이드해주는 느낌으로 바꿔준다고 생각합니다.
Plan 모드 실전 활용 시나리오 3가지
🎯 시나리오 1: DB 마이그레이션 계획
PostgreSQL 스키마를 변경해야 하는 상황에서 Plan 모드를 켜고
“현재 user 테이블에 subscription_tier 컬럼을 추가하는 마이그레이션을 계획해줘”라고 입력합니다.
연관된 서비스 파일을 탐색한 뒤 ask_user를 통해
“롤백 전략을 어떻게 처리할까요?”라고 묻습니다.
모든 질문에 답하면 단계별 마이그레이션 계획서가 Markdown 파일로 생성되고,
여러분이 승인하면 비로소 파일 수정이 시작됩니다.
🎯 시나리오 2: 신규 API 엔드포인트 설계
“결제 콜백을 처리하는 새 엔드포인트를 추가하는 계획을 세워줘”라고 요청하면,
Plan 모드는 기존 라우터 파일, 미들웨어 구조, 에러 핸들링 패턴을 모두 파악합니다.
그런 다음 “기존 authMiddleware를 재사용할까요, 별도의 결제 전용 미들웨어가 필요할까요?”처럼
아키텍처 결정을 여러분에게 묻습니다.
AI가 이미 코드베이스 전체를 이해한 상태에서 질문하기 때문에
답변하기도 쉽고, 나온 계획서의 품질도 훨씬 높습니다.
🎯 시나리오 3: 읽기 전용 MCP로 GitHub 이슈 기반 플래닝
읽기 전용 GitHub MCP 도구를 연결하면 Plan 모드가 더욱 강력해집니다.
“이슈 #342에서 요구하는 기능을 구현하는 계획을 세워줘”라고 하면
AI가 직접 해당 GitHub 이슈를 읽고, 코멘트를 분석하고, 관련 코드를 탐색한 뒤
이슈의 요구사항을 완전히 반영한 계획서를 작성합니다.
GitHub 이슈와 실제 구현 계획 사이의 간극이 AI가 스스로 메우는 것입니다.
Q&A: 자주 묻는 질문 5가지
Q1. Plan 모드는 유료인가요? 무료로 충분히 쓸 수 있나요?
Plan 모드 자체는 Gemini CLI의 기능이며, 구글 계정만 있으면 무료로 사용할 수 있습니다.
무료 티어에서는 하루 1,000회 요청이 가능하고, Plan 모드에서는 Gemini 3.1 Pro가 자동으로
라우팅되므로 유료 구독 없이도 고성능 추론 모델을 사용한 플래닝이 가능합니다.
대용량 상업용 프로젝트라면 API 키 기반 유료 플랜을 검토하세요.
Q2. Plan 모드에서 AI가 실수로 파일을 바꿀 수 있나요?
절대 불가능합니다. Plan 모드는 정책 엔진(Policy Engine)이 내장된 plan.toml로
쓰기 도구를 원천 차단합니다. AI가 수정할 수 있는 유일한 경로는
~/.gemini/tmp/.../plans/ 경로의 .md 계획 파일뿐이며,
이마저도 여러분의 프로젝트 코드와 완전히 분리된 별도 공간입니다.
Q3. 계획서(Plan file)를 직접 수정할 수 있나요?
네, 가능하며 이것이 Plan 모드의 협업적 편집 기능입니다.
AI가 계획서를 제시하면 Ctrl+X를 눌러 외부 에디터(VS Code 등)로 직접 열 수 있습니다.
단계를 재정렬하거나, 불필요한 부분을 삭제하거나, “여기서 기존 Logger 클래스를 써야 하지 않나요?”처럼
인라인 주석을 달면 AI가 이를 자동으로 감지하고 계획서를 수정해 다시 제출합니다.
Q4. Gemini CLI를 설치하려면 어떤 환경이 필요한가요?
Node.js 20 이상과 npm이 설치된 환경이면 충분합니다.
macOS, Windows, Linux 모두 지원됩니다.
npm install -g @google/gemini-cli 한 줄이면 설치 완료이며,
구글 계정으로 로그인하면 즉시 사용 가능합니다.
선택적으로 Gemini API 키를 발급해 설정하면 호출 한도를 더 유연하게 관리할 수 있습니다.
Q5. Conductor는 기본 Plan 모드와 무엇이 다른가요?
기본 Plan 모드는 단일 작업에 대한 일회성 계획을 세우는 데 최적화되어 있습니다.
반면 Conductor는 대형 프로젝트를 여러 트랙으로 나눠 각각 독립적인 계획을 세우고,
모든 아티팩트를 프로젝트 conductor/ 디렉토리에 영속적으로 저장합니다.
세션이 끊겨도 이어서 작업할 수 있고, 마일스톤마다 승인을 요구하는 구조이기 때문에
수주에 걸친 장기 프로젝트에도 적합합니다. GitHub(gemini-cli-extensions/conductor)에서
현재 설치 가능하며, 구글은 곧 Gemini CLI에 내장할 계획입니다.
마치며: 설계 없는 코딩은 지도 없는 항해다
솔직하게 말씀드리면, Gemini CLI Plan 모드는 코딩을 더 복잡하게 만드는 기능이 아닙니다.
오히려 “일단 해보고 망가지면 고치자”는 관행에서 벗어나게 해주는 안전망입니다.
숙련된 개발자일수록 코딩 전에 설계에 더 많은 시간을 쓴다는 사실을 생각해보면,
Plan 모드는 AI를 더 ‘시니어스럽게’ 활용하는 방법이라고 할 수 있습니다.
특히 비개발자나 주니어 개발자에게 이 기능이 더 빛납니다.
의존성을 잘 모르더라도, 전체 코드베이스를 이해하지 못하더라도,
AI가 먼저 탐색하고 중요한 결정을 질문 형태로 제시해주기 때문입니다.
여러분은 그 질문에 비즈니스적 판단만 내려주면 됩니다.
2026년 3월 11일 출시된 이 기능은 아직 한국어 콘텐츠가 거의 없는 상태입니다.
지금 바로 터미널을 열고 npm install -g @google/gemini-cli를 입력하세요.
한 번 Plan 모드로 큰 기능을 설계해보고 나면, 이전 방식으로는 돌아가기 싫어질 것입니다.
※ 본 포스팅의 기능 설명은 2026년 3월 11일 구글 공식 발표 내용 및 공식 문서를 기반으로 작성되었습니다.
최신 정보는 geminicli.com 공식 문서를 참고하시기 바랍니다.











댓글 남기기