
2026.04.05 / 동준상.넥스트플랫폼 (naebon@naver.com)
(AWS SAA, AWS AIF, GCP GenAI Leader)
핵심 요약 (Executive Summary)

이번 포스트에서는 Google Cloud Tech의 “Vibe coding with Gemini CLI” 기술 세션 분석 및 Gemini CLI의 핵심 기능과 개발 워크플로우에 대해 알아봅니다.
Gemini CLI는 터미널 기반의 AI 코딩 에이전트로, 단순히 코드를 생성하는 것을 넘어 개발자가 AI의 컨텍스트를 제어하고 외부 도구와 통합하여 효율적으로 협업할 수 있도록 설계되었습니다.
이번 포스트의 주요 내용
- Vibe Coding의 정의: AI 모델의 확률적 특성을 이해하고, 컨텍스트 관리와 지시어 설계를 통해 에이전트의 출력을 정밀하게 제어하는 기술적 숙련도를 의미한다.
- 컨텍스트 엔지니어링:
gemini.md파일을 활용하여 사용자 수준(글로벌)과 프로젝트 수준(로컬)의 메모리를 구분하여 관리함으로써 에이전트에게 최적화된 배경 지식을 제공한다. - 확장성 (MCP 및 확장 프로그램): 모델 컨텍스트 프로토콜(MCP)을 통해 외부 서버(예: Gitia)와 통업하고, 확장 프로그램을 통해 고성능 모델(예: Nana Banana 이미지 생성 모델) 기능을 통합한다.
- SDLC 통합: 이슈 생성, 코드 푸시, 브랜치 관리 등 소프트웨어 개발 생명주기 전반을 AI 에이전트가 직접 수행하도록 지원한다.
Gemini CLI로 바이브코딩 시작하기 절차
| 단계 | 학습 주제 | 사용된 도구 및 익스텐션 |
| 준비 단계 | Google Cloud 환경 설정 및 크레딧 등록 | Google Cloud Console, Cloud Shell |
| 프로젝트 설정 | 실습용 프로젝트 복제 및 API 활성화 | Git, Artifact Registry |
| 권한 설정 | 서비스 계정 권한 부여 | IAM (Identity and Access Management) |
| CLI 설치 및 확인 | Gemini CLI 설치 및 기본 사용법 | Gemini CLI (GSLI) |
| 컨텍스트 관리 | 사용자 레벨 vs 프로젝트 레벨 메모리 차이 | gemini.md, skill.md |
| 도구 및 익스텐션 탐색 | 기본 제공 도구 및 익스텐션 확인 | Google Search, Read File |
| MCP 서버 연결 | Gitea MCP 서버를 통한 SDLC 관리 | MCP (Model Context Protocol), Gitea, settings.json |
| 이미지 생성 활용 | Nana Banana 익스텐션을 사용한 이미지 생성 | Nana Banana Extension, Gemini API Key |
| 코드 배포 및 완료 | 코드 수정, 푸시 및 이슈 종료 | Gitea, Python (local server) |

1. Gemini CLI 개요 및 개발 환경



Gemini CLI는 터미널 내에서 직접 작동하는 에이전트 도구로, 개발자가 “Vibe Coding”을 수행할 수 있도록 지원한다. 이는 단순한 코드 완성을 넘어 복잡한 개발 워크플로우를 관리하는 ‘터미널 내의 에이전트’ 역할을 한다.
1.1 개발 환경 구성
- Google Cloud Shell: 브라우저 기반의 원격 VM으로, VS Code와 유사한 에디터와 터미널을 동시에 제공한다. 파일 시스템이 영구적으로 유지되어 개발 환경으로 권장된다.
- 인증 및 설정:
gcloud auth list를 통해 인증하며, 개인 Gmail 계정 사용이 권장된다. (기업/교육 계정의 제한 사항 회피 목적) - Gemini CLI 설치: 한 줄의 명령어로 설치 가능하며, 무료 계정은 모델 사용량에 제한이 있을 수 있으나 유료 계정은 더 높은 한도를 제공한다.
1.2 주요 인터페이스 및 명령어
| 명령어 | 기능 설명 |
gemini | Gemini CLI 세션 시작 |
/help | 사용 가능한 도움말 및 명령 목록 표시 |
! (Exclamation mark) | Shell Mode: Gemini 에이전트를 거치지 않고 직접 터미널 명령(ls, cd, echo 등) 실행 |
tools | 현재 활성화된 내장 도구(Google Search, Read File 등) 목록 표시 |
memory show | 현재 로드된 메모리(컨텍스트) 내용 확인 |
quit / exit | 세션 종료 (종료 시 세션 ID가 제공되어 추후 복구 가능) |
2. 컨텍스트 엔지니어링 및 메모리 관리
AI 에이전트의 출력 품질은 제공된 컨텍스트에 직결된다. Gemini CLI는 이를 체계적으로 관리하기 위해 두 가지 계층의 메모리 구조를 사용한다.
2.1 메모리 계층 구조
- 사용자 수준 (User Level): 모든 터미널 폴더와 프로젝트에 전역적으로 적용되는 설정 및 지침이다.
- 프로젝트 수준 (Project Level): 특정 폴더 내에서만 유효한 정의와 컨텍스트이다.
.md파일(예:gemini.md)을 해당 폴더에 배치하여 관리한다.
2.2 지연 로딩(Lazy Loading) 및 효율성
- 메모리(Memory): 시스템 프롬프트처럼 항상 로드되어 에이전트의 행동 지침 역할을 한다.
- 스킬(Skills): 컨텍스트 윈도우의 낭비를 방지하기 위해 필요한 시점에만 동적으로 로드되는 ‘지연 로딩’ 방식을 취한다. (기술 상세는 다음 에피소드에서 다루어질 예정)
3. 확장성: MCP 서버와 확장 프로그램
Gemini CLI는 외부 도구 및 서비스와의 연결을 위해 두 가지 주요 메커니즘을 제공한다.
3.1 모델 컨텍스트 프로토콜 (MCP)
MCP는 에이전트와 도구 간의 통신 언어를 표준화하는 프로토콜이다.
- Gitia MCP 서버: 로컬 소스 제어 저장소 역할을 하며, 에이전트가 이슈 생성, 브랜치 관리, 코드 커밋 등을 수행할 수 있도록 도구를 노출한다.
- 설정 파일 (
settings.json): 커스텀 MCP 연결, 인증 설정, 훅(Hooks) 통합을 관리하는 통합 설정 파일이다.
3.2 확장 프로그램 (Extensions)
확장 프로그램은 Gemini CLI를 위한 패키지 매니저와 같다.
- Nana Banana 확장: 텍스트-이미지 생성 모델로, 고해상도(4K 등) 및 다양한 종횡비의 이미지를 생성한다. 프롬프트 준수 능력이 뛰어나 이미지 편집 및 생성에 강점을 가진다.
- 기타 확장: Google Maps, Google Workspace 등 다양한 외부 서비스와의 통합이 가능하다.
4. 실전 워크플로우 분석: “Shadow Blade” 프로젝트
소스 컨텍스트는 ‘Shadow Blade’라는 가상의 히어로 웹사이트를 구축하는 과정을 통해 실질적인 도구 활용법을 제시한다.
4.1 웹사이트 구축 및 이미지 통합
- 초기 생성: Gemini CLI에 “다크 퓨처리즘 테마”의 웹사이트 생성을 요청하면
index.html과style.css를 분리하여 생성한다. - 이슈 관리: 에이전트가 Gitia MCP 서버를 사용하여 “이미지 누락” 이슈를 스스로 생성한다.
- 이미지 생성: Nana Banana 확장을 호출하여 히어로 캐릭터의 초상화를 생성하고, 에이전트가 HTML 코드를 직접 수정하여 이미지를 웹사이트에 반영한다.
4.2 SDLC 자동화
- 개발자는 직접
git명령어를 입력하는 대신, Gemini CLI에 “코드를 푸시하고 이슈를 종료하라”고 지시한다. - 에이전트는 내부적으로
push_code,close_issue등의 도구를 호출하여 버전 관리 시스템의 상태를 업데이트한다.
5. 향후 과제 및 고도화 기술
본 분석의 대상인 세션 이후, 다음과 같은 고도화된 주제들이 예고되었다.
- 에이전트 스킬 및 훅(Hooks): 에이전트의 행동을 제어하고 가드레일을 추가하는 기술.
- 에이전트 배포: Cloud Run을 통한 에이전트의 클라우드 배포 및 에이전트 간 통신(A2A) 테스트.
- 평가 및 모니터링: CI/CD 파이프라인 내에서의 에이전트 성능 평가 및 테스트 자동화.