본문 바로가기
Code/길벗 학습단 20기 - AI 터미널 도구

길벗 학습단 20기 - AI 터미널 도구 - 3주차 학습인증

by Beyonder 2026. 2. 28.

 

 

AI 자율학습 클로드 코드·코덱스 CLI·제미나이 CLI 완전 활용법 | Dave Lee - 교보문고

AI 자율학습 클로드 코드·코덱스 CLI·제미나이 CLI 완전 활용법 | AI와 함께 일하는 법을 배우다 클로드 코드·코덱스 CLI·제미나이 CLI를 실무에서 활용하는 방법AI 코딩 도구를 처음 접하는 사람에

product.kyobobook.co.kr

 

3주차
11일
12일
13일
14일
15일
목차
7장 Codex CLI로 프로젝트 운영하기
7.2 세션 관리와 작업 이어 쓰기 기능
7.3 컨텍스트 관리와 토큰 최적화
8장 Codex CLI 고급 기능 활용하기
8.1 MCP 서버 연결하기
8.2 config.toml 심화 설정 가이드
8.3 세션 로그 이해하기 - 자동 기록 구조와 분석 방법
9장 Gemini CLI 시작하기
9.1 Gemini CLI 설치하고 인증하기
9.2 Gemini CLI 사용하기
9장 Gemini CLI 시작하기
9.3 명령과 실행 옵션 살펴보기
10장 Gemini CLI로 프로젝트 운영하기
10.1 GEMINI.md 파일 관리하기
10.2 세션 관리하기
10.3 사용자 정의 명령어 사용하기

 

7장 Codex CLI로 프로젝트 운영하기

7.1 AGENTS.md 파일 관리하기

7.1.1  AGENTS.md 위치와 적용 범위

  1. 프로젝트 루트 AGENTS.md - 프로젝트 기준 문서
  2. 서브폴더 AGENTS.md - 영역별 규칙 문서(선택)

7.1.2 AGENT.md에 포함해야 할 주요 항목

구분 내용
프로젝트 개요 기술 스택, 주요 기능 실행환경
개발 환경 설치 및 실행 명령(npm install, docker compose up 등)
코딩 규칙 ESLint/Prettier 규칙, 함수형 패턴, 변수명 규칙 등
테스트 설치 테스트 실행 방법, 기본 테스트 범위
리뷰 및 배포 지침 커밋 메시지, PR 제목 규칙, 배포 전 점검 항목
보안 및 예외 처리  API 키, 개인정보 처리, 대용량 데이터 처리 주의 사항

 

7.1.3 /init 명령으로 AGENTS.md 초안 생성하기

  1. 기존 프로젝트에서 초안 생성하기
  2. 새 프로젝트에서 개요를 제공해 생성하기
    • 프로젝트 개요를 간단히 알려준 뒤 /init 명령을 사용할 수 있음
  3. 자동 생성된 문서 다듬기

7.1.4 AGENTS.md 관리 원칙

  1. AGENTS.md는 간결하게 유지한다
  2. AGENTS.md와 상세 문서를 분리해 관리한다

7.1.5 AGENTS.md 템플릿 예시

7.1.6 AGENTS.md 문제 해결 가이드

  1. Codex가 문서의 규칙을 따르지 않는 것처럼 보일 때
    • AGENTS.md 분량이 너무 길지 않은지 확인
    • 중요한 규칙을 반드시 지켜야 할 규칙은 문서 상단이나 별도 섹션으로 분리
    • 요청 프롬프트에서도 한 번 더 규칙을 상기시키기
  2. 모노레포에서 규칙 충돌이 잦을 때
    • 루트 AGENTS.md에는 최소한의 공통 규칙만 유지
    • 영역별 규칙은 각 폴더 AGENTS.md에서 작성
    • 예외 구칙은 "이 폴더에서는 ...를 우선 적용한다."형태로 분명하게 선언
  3. AGENTS.md를 수정했는데 반영되지 않는 것처럼 보일 때
    • 대화형 세션을 종료하고 새로 시작
    • 필요하다면 새 쓰레드(/new)를 열어 작업 이어가기
    • 변경된 AGENTS.md 기준으로 작업해 달라고 명시적으로 요청

7.2 세션 관리와 작업 이어 쓰기 기능

7.2.1 기억을 보관하는 방식

  • 세션 안에서 작업 주제 전환하기
    • 기존 기록을 삭제하지 않고, 현재 다루고 싶은 주제에 집중.

 

/new

 

  • 세션 이어서 작업하는 세 가지 방법
    1. 최근 세션 이어가기
      • codex resume --last
      • codex --continue
    2. 세션 목록에서 직접 골라 불러오기:
      • codex resume
    3. 세션 ID로 정확하게 불러오기
      • codex resume <ID>
  • 여러 프로젝트를 오갈 때 기억 관리 방법

7.2.2 대화가 길어졌을 때 컨텍스트 최적화하기

  1. 대화 내용을 요약해 컨텍스트 정리하기
    • /compact 최근 대화의 핵심만 남기고 이전 내용을 요약해줘
  2. 새로운 작업으로 흐름 시작하기

7.2.3 세션 기록 정리하기

# 최근 10개 세션 확인
ls -lt ~/.codex/sessions/*/*/*.jsonl | head -10
# 30일 이상 지난 세션 삭제
find ~/.codex/sessions -name "rollout-*.jsonl" -mtime +30 -delete

7.2.4 세션 관련 문제 해결 가이드

  1. resume --last 실행 후 빈 화면이 뜰때
    • /status로 현재 활성화된 세션 상태를 확인
    • codex resume으로 세션 목록을 열고, 원하는 세션을 다시 선택
  2. 세션 목록이 너무 많아 원하는 작업을 찾기 어려울 때
    • 최근 작업만 이어가고 싶다면 codex resume --last 명령 활용
    • 일정 주기로 ~/.codex/sessions 폴더 정리
  3. Codex가 대화 흐름을 충분히 반영하지 못할 때
    • /compact로 이전 대화를 요약하고 컨텍스트를 정리
    • 중요 결정은 AGENTS.md 또는 docs/notes.md에 문서화
    • 작업 주제가 명확히 달라진 경우에는 새로운 작업 흐름으로 시작


7.3 컨텍스트 관리와 토큰 최적화

7.3.1 기억하는 정보의 구조

7.3.2 컨텍스트 점검과 최적화 루틴

  • 컨텍스트를 정리하는 두 가지 도구
    • /compact
    • /new
  • 토큰 낭비를 줄이는 다섯 가지 습관
    • AGENTS.md 간결하게 유지하기
    • 파일과 이미지는 필요한 만큼만 첨부하기
    • 요청을 묶어서 전달하기
    • 기능 단위로 세션 끊기
    • 사용하지 않는 MCP 서버 끄기

7.3.3 컨텍스트를 지키면서 공유 정보를 늘리는 방법

  1. AGENTS.md + resume 조합
  2. TODO 체크리스트로 진행 상황 기록
  3. 이미지 + 짧은 설명 함께 제공

8장 Codex CLI 고급 기능 활용하기

8.1 MCP 서버 연결하기

8.1.1 config.toml 파일 위치 확인하기

8.1.2 MCP 서버 연결 설정하기

8.1.3 MCP 서버 연결 실습: Playwright, GitHub, Context7

  • Playwright MCP 연결하기
  • GitHub MCP 연결하기
  • Context7 MCP 연결하기
    • 현재 Codex는 Supabase MCP는 지원하지 않음
    • 검색에 특화된 MCP
    • React, Next.js, TypeScript, Python 등 주요 기술 문서를 로컬 또는 서버에 인덱싱해 Codex에 제공하는 MCP 서버.

8.2 config.toml 심화 설정 가이드

8.2.1 config.toml의 전체 구조 이해하기

8.2.2 자주 사용하는 핵심 설정 항목

  • model - 기본 AI 모델 지정
  • model_reasoning_effort - 사고 깊이 조절
  • approval_policy - 명령 실행 전 승인 방식
  • sandbox_mode - 파일 접근 범위 제한
  • shell_environment_policy - 환경 변수 접근 제어

8.2.3 Codex의 설정 우선순위와 환경 변수 활용

  • 설정 적용 우선순위
  • 명령줄 플래그로 일시적 설정 변경하기
  • 환경 변수로 세션 단위 설정 변경하기

8.3 세션 로그 이해하기 - 자동 기록 구조와 분석 방법

8.3.1 세션 로그의 저장 위치와 관리 방식

8.3.2 로그 파일 구조와 주요 필드

8.3.3 세션 복원 원리와 자동 요약 구조

Part 4 Gemini CLI 완전 정복: 초대형 컨텍스트와 확장성으로 여는 차세대 개발 환경

9장 Gemini CLI 시작하기

9.1 Gemini CLI 설치하고 인증하기

9.1.1 Node.js 버전 확인하기

node --version
npm --version

9.1.2 Gemini CLI 설치하기

npm install -g @google/gemini-cli

 

macOS/Linux에서 Homebrew 사용시

brew install gemini-cli

 

Homebrew 환경에서는 업데이트나 제거가 간편.  다음 명령으로 최신 버전을 유지할 수 있음

brew update && brew upgrade gemini-cli

 

설치 완료 확인

gemini --version

9.1.3 실행하고 인증하기

  • 실습용 폴더 만들고 실행하기
  • 인증하기

9.1.4 Gemini CLI 설치 문제 해결 가이드

9.2 Gemini CLI 사용하기

9.2.1 Gemini CLI 기본 사용법

  • 명령 실행 방식
  • 기본 대화하기
  • 여러 줄 입력하기
    • 줄바꿈: Ctrl+J
  • 단축키 익히기
  • 다른 폴더 포함하기

9.2.2 세션 관리하기

  • 세션 종료와 재시작
  • 이미지 참조하기
  • 비대화형 모드로 일회성 작업 실행하기
  • 파일 참조하기: @

9.2.3 Gemini CLI 사용 문제 해결 가이드

9.3 명령과 실행 옵션 살펴보기

9.3.1 CLI 진입 명령

  • 기본 대화영 모드: gemini
  • 원샷 모드: gemini [query...]
  • 원샷 후 대화형 전환: gemini -i [query]

9.3.2 자주 사용하는 실행 옵션

  • 디버그 모드: -d, --debug
  • 샌드박스 모드: -s, --sandbox
  • YOLO 모드: -y, --yolo
  • 승인 모드 설정: --approval-mode <모드>
  • 도구 실행 권한 제어: --allowed-tools <도구명>
  • 워크스페이스 확장: --include-directories <경로>

9.3.3 환경 관련 옵션

  • 확장 목록 확인: -l, --list-extensions
  • 스크린 리더 모드: --screen-reader
  • 출력 형식 지정: -o, --output-format <text|json|md>
  • 버전 확인: -v, --version
  • 도움말: -h, --help

9.3.4 주요 슬래시 명령어

  • 워크스페이스 확장: /directory
  • 메모리 관리: /memory
  • 세션 진단: /stats
  • 환경 커스터마이징: /setting, /theme, /editor, /vim
  • 컨텍스트 최적화: /compress


10장 Gemini CLI로 프로젝트 운영하기
10.1 GEMINI.md 파일 관리하기

10.1.1 GEMINI.md의 위치화 활용 범위

  1. 프로젝트 루트 GEMIN.md - 프로젝트 컨텍스트 문서
  2. 서브폴더 GEMINI.md - 선택적 참고 문서

10.1.2 GEMINI.md 작성 방식과 기본 구조

10.1.3 GEMINI.md 작성 팁

  1. 기본 문서부터 작성하기
  2. 문서 다듬기 요청 활용하기
  3. 사용자 검토 및 직접 수정하기
  4. 실전 대화에서 효과 확인하기 

10.1.4 GEMINI.md 반영 상태 점검과 컨텍스트 관리

  1. 작업 요청에서 컨텍스트를 분명히 전달하기
  2. GEMINI.md 반영 여부는 작업 결과로 확인하기
  3. 문서 변경 시 자동 재적용을 기대하지 않기
  4. 컨텍스트 문서를 주기적으로 점검하기

10.2 세션 관리하기

10.2.1 세션 저장하고 복원하기

  • 세션 상태 지정: /chat save <이름>
  • 저장된 세션 목록 확인: /chat list
  • 세션 복원: /chat resume <이름>
  • 세션 삭제: /chat delete <이름>
  • 대화 내용 내보내기: /chat share <파일명>
  • 긴급 복구: /restore

10.2.2 실전 활용 시나리오

  • 안전한 대규모 리팩터링
#1. 리팩터링 시작 전 안전 지점 저장
/chat save pre-refactor
#2. AI에 대규모 변경 요청
@src/ 전체 폴더 구조를 디자인 패턴에 맞게 개선해줘
#3. 테스트 실행(실패 가정)
!npm test
#4. 테스트 실패 시 즉시 이전 상태로 복구
/chat resume pre-refactor
#5. (재시도 후) 성공 시 최종 상태 저장 및 문서화
/chat save refactor-complete
/chat share refactor-summary.md
  • 여러 접근 방식 비교 (A/B 테스트)
#1. 기준점 저장
/chat save baseline
#2. 첫 번째 방식(접근 A) 시도 및 저장
성능 최적화 위주로 코드를 고쳐줘.
/chat save approache_performance
#3. 기준점 복구
/chat resume baseline
#4. 두 번째 방식(접근 B) 시도 및 저장
가독성과 유지보수성 위주로 코드를 고쳐줘
/chat save approach_readability
#5. 두 세션을 비교해 최종 결정


10.3 사용자 정의 명령어 사용하기

10.3.1 사용자 정의 명령어의 저장 취치

  • 전역 명령어
  • 로컬 명령어
  • 명령어 우선순위 규칙

10.3.2 사용자 정의 명령어 파일 작성법

  • 네임스페이스로 묶기
  • 예시 1: 코드 리뷰 명령어(기본형과 인자형)
    • 기본형: 고정 프롬프트 버전
    • 인자형: 가변 프롬프트({{args}} 활용)
  • 예시 2: 테스트 코드 명령어(인자형)
  • 예시 3: 리팩토링 명령어 묶음(네임스페이스 활용)
    • 순수 함수 리팩터링 명령어 예시
    • 함수 추출 명령어 예시

10.3.3 사용자 정의 명령어 문제 해결 가이드