Track 02 — Intermediate

AI 편집기부터
CLI까지

AI가 직접 파일을 읽고 수정하는 환경에서 개발하는 방법을 배웁니다. Cursor 같은 AI 편집기부터 Claude CLI, Codex CLI까지 — 터미널 기초, 개발 루프, Git 관리, 그리고 배포까지 한 번에 익혀봅니다.

Cursor Windsurf Claude CLI Codex CLI Terminal Git Vercel

멈추고 읽어라 (Pause & Read): "Apply"를 무조건 클릭하지 마세요. AI가 수정한 코드는 반드시 직접 확인한 후 적용하세요. Intermediate 트랙의 핵심 원칙은 Consumer → Reviewer로의 전환입니다. 빠른 적용보다 정확한 이해가 먼저입니다.

뭐가 달라지나요?

핵심 차이는 단순히 "AI 성능이 좋아지는 것"이 아닙니다. AI가 내 프로젝트 파일을 직접 보고, 읽고, 수정할 수 있다는 것입니다. 복붙 없이 대화만으로 파일이 바뀝니다.

항목 Beginner 트랙 Intermediate 트랙
AI의 파일 접근 없음 (코드를 복붙해야 함) 직접 읽고 수정 가능
맥락 유지 매번 코드를 다시 붙여줘야 함 프로젝트 전체를 AI가 기억
여러 파일 작업 하나씩만 가능 여러 파일 동시 수정 가능
개발 도구 ChatGPT, Claude.ai 웹 브라우저 Cursor, Windsurf, Claude CLI
디버깅 속도 오류 복사 → 붙여넣기 반복 AI가 코드 읽고 바로 수정

주의: AI가 편하게 파일을 수정하는 만큼, "AI가 뭘 바꿨는지" 모르고 넘어가기 쉽습니다. 변경된 내용을 반드시 직접 확인하고 이해하는 습관이 더 중요해집니다.

바이브코딩 스택 한 눈에 보기

Intermediate 트랙에서 사용하는 세 가지 핵심 도구가 어떻게 연결되는지 파악하면 환경 설정이 훨씬 쉬워집니다.

AI
Cursor / Claude CLI — 코드 작성 도구 AI가 프로젝트 파일을 직접 읽고 수정합니다. 개발의 실질적인 엔진 역할
Git
Git / GitHub — 버전 관리 도구 AI가 이상하게 고쳐도 되돌릴 수 있는 안전망. 기능 완성 후 커밋하면 기록이 남습니다
배포
Vercel — 배포 도구 GitHub에 push하면 자동으로 인터넷에 반영됩니다. 코드 → 커밋 → 배포 자동화

어떤 도구를 쓸까요?

AI가 파일을 직접 수정하는 도구는 크게 두 가지 유형입니다. GUI 편집기와 CLI 도구. 처음에는 GUI 편집기로 시작하고, 익숙해지면 CLI 도구를 추가합니다.

🖱️

Cursor

VS Code 기반 AI 편집기. 가장 많이 씁니다. cursor.com에서 무료로 설치하고 바로 시작할 수 있습니다.

🌊

Windsurf

Codeium이 만든 AI 편집기. Cursor와 비슷합니다. codeium.com/windsurf에서 설치합니다.

⌨️

Claude CLI

터미널에서 실행하는 AI. 프로젝트 폴더 안에서 실행하면 파일을 직접 읽고 수정합니다. 이 페이지 후반에서 다룹니다.

GitHub Copilot

VS Code 플러그인으로 설치. 학생이면 무료. education.github.com에서 신청합니다.

추천: 처음 시작한다면 Cursor 무료 플랜을 써보세요. VS Code와 인터페이스가 거의 같아서 적응이 빠르고, AI 기능은 매달 일정량 무료로 제공됩니다.

Cursor 설치 방법

  1. 1
    cursor.com 접속 → Download for [OS] 클릭

    Windows/Mac 모두 지원합니다.

  2. 2
    설치 후 실행 → GitHub 계정으로 로그인
  3. 3
    File → Open Folder → 작업할 프로젝트 폴더 선택

    폴더를 열면 AI가 프로젝트의 모든 파일을 볼 수 있게 됩니다.

  4. 4
    Node.js가 없다면 먼저 설치합니다

    nodejs.org → LTS 버전 다운로드 후 설치. 터미널에서 node -v로 확인합니다.


코드보다 설계 먼저

가장 많이 하는 실수: 처음부터 "코드 짜줘"로 시작하는 것. 방향 없이 코드를 쌓다 보면 나중에 기능 추가가 어려워집니다.

대신 이렇게 시작하세요. 먼저 설계를 받고, 그 다음에 코드를 요청합니다.

💬 1단계: 설계 먼저 요청하기
동아리 신입부원을 위한 출석 체크 웹앱을 만들고 싶어.

기술 스택: React + Vite, 기본 CSS
기능: 이름 입력 → 출석 추가 / 중복 방지 / 삭제 / localStorage 저장
배포: Vercel

지금 코드는 필요 없고, 먼저:
1. 어떤 컴포넌트(파일)로 나눌지 구조
2. 각 파일의 역할
3. 개발 순서 (무엇을 먼저 만들면 좋은지)
를 정리해줘.
💬 2단계: 설계 확인 후 코드 요청
위에서 잡은 구조대로 개발을 시작할게.
먼저 App.jsx와 AttendanceForm.jsx를 만들어줘.

이번 단계에서는 기능보다 UI 레이아웃만 먼저.
스타일은 인라인으로 간단하게 넣어줘.
각 파일을 어디에 저장해야 하는지도 알려줘.

왜 설계를 먼저 받나요? 설계를 먼저 잡으면 기능을 추가할 때 어디에 넣어야 할지 명확해지고, 오류가 났을 때 어느 파일을 봐야 하는지도 분명해집니다.


4단계 루프 반복하기

어떤 AI 도구를 쓰든 이 루프를 반복합니다. 도구가 달라져도 흐름은 동일합니다.

목표 정의

  • 이번 단계에서 만들 기능
  • 누가 쓰는 서비스인지
  • 이번 단계에서 하지 않을 것
  • 완성 기준 (어떻게 보이면 OK?)

구현 요청

  • 구조 / 역할 정의 요청
  • 첫 버전 코드 생성
  • 수정 범위 명확하게 지정
  • 이전 맥락 함께 제공

실행 & 검증

  • 브라우저에서 직접 실행
  • 기능 하나하나 테스트
  • 오류 발생 시 즉시 처리
  • 모바일에서도 확인

개선 요청

  • 디자인 / 색상 조정
  • 예외 처리 추가
  • localStorage 저장
  • 컴포넌트 분리 정리

Cursor에서 AI에게 요청하는 두 가지 방식

💬

Chat 창 (Ctrl+L)

AI와 대화하며 코드를 제안받습니다. 제안을 수락하면 파일에 자동 반영됩니다. 여러 파일을 한 번에 수정할 수 있어요.

✏️

인라인 편집 (Ctrl+K)

수정하고 싶은 코드를 선택하고 Ctrl+K를 누르면 해당 부분만 AI가 수정해줍니다.

맥락을 잘 전달하기

❌ 맥락 없는 요청
중복 이름 방지 기능 추가해줘.
✅ 맥락 있는 요청
현재 React + Vite 프로젝트. App.jsx에 이름 입력 + 목록 표시가 있고, AttendanceForm.jsx에 폼이 있어. 이 구조를 유지하면서 중복 이름 방지 기능을 추가해줘.

오류 로그를 AI에게 잘 전달하는 법

Intermediate 트랙에서 가장 많이 막히는 순간은 AI가 코드를 수정한 뒤 새로운 오류가 생겼을 때입니다. 아래 3단계 루프를 반복하면 대부분의 오류를 해결할 수 있습니다.

오류 수집

  • 브라우저 F12 → Console 탭 열기
  • 빨간 오류 메시지 전체 복사
  • VS Code / Cursor 터미널 오류도 확인
  • 오류 메시지를 자르지 말고 전체 복사

컨텍스트 확보

  • 오류가 발생한 파일 이름 파악
  • 오류 직전에 내가 요청한 변경사항 파악
  • 관련 파일 코드 복사 준비
  • 어떤 동작을 했을 때 오류가 났는지 메모

AI에게 전달

  • 오류 메시지 + 관련 파일 코드 세트로 제공
  • "원인 설명 후 수정된 전체 코드 달라"고 요청
  • 수정 후 즉시 브라우저 테스트
  • 해결 안 되면 루프 반복

핵심 습관

  • 오류 전에 반드시 git commit 저장
  • 모듈식으로 요청: 한 번에 하나씩만
  • "왜 이렇게 수정했어?"를 항상 물어보기
  • 해결 후 원인을 이해하고 넘어가기
💬 오류 전달 템플릿
오류 메시지:
[브라우저 콘솔 또는 터미널에서 복사한 전체 오류]

직전에 요청한 변경사항:
[내가 방금 AI에게 시킨 작업 설명]

관련 파일 코드 (파일명.jsx):
[파일 전체 코드 붙여넣기]

오류 원인을 설명해주고, 수정된 전체 코드를 다시 써줘.

이것만 알면 시작할 수 있어요

CLI 도구를 쓰려면 터미널이 필요합니다. 처음에 필요한 명령어는 딱 6개입니다. 외우려 하지 말고, 참고하면서 쓰다 보면 자연스럽게 익혀집니다.

명령어
하는 일
예시
pwd
지금 내가 어느 폴더에 있는지 보여줌
/Users/me/Desktop/my-app
ls
현재 폴더 안에 뭐가 있는지 목록 보기
src/ public/ package.json
cd 폴더이름
해당 폴더로 이동
cd Desktop
cd ..
한 단계 위 폴더로 이동
cd .. (상위 폴더)
npm install
프로젝트에 필요한 패키지 설치
처음 프로젝트 받았을 때
npm run dev
개발 서버 실행 (브라우저에서 보임)
localhost:5173 에서 열기

터미널 여는 방법

🪟

Windows

시작 메뉴 → "Windows Terminal" 검색
또는 Cursor / VS Code에서 Ctrl+`

🍎

Mac

Spotlight (Cmd+Space) → "Terminal" 검색
또는 Cursor / VS Code에서 Ctrl+`

Vite + React 프로젝트 만들기

Terminal
# 원하는 위치로 이동
cd Desktop

# Vite + React 프로젝트 생성
npm create vite@latest my-app
# Framework: React / Variant: JavaScript 선택

cd my-app
npm install
npm run dev
# localhost:5173 에서 열립니다

팁: 터미널에서 막히면 AI에게 그대로 물어보면 됩니다. "내 터미널 pwd 결과가 이래. 프로젝트 폴더로 어떻게 이동해?" 처럼요.


Claude CLI / Codex CLI 사용하기

CLI AI 도구는 터미널에서 실행하는 AI입니다. 프로젝트 폴더 안에서 실행하면 AI가 그 폴더의 파일을 읽고 직접 수정할 수 있습니다. GUI 편집기보다 더 빠르고 강력하게 동작합니다.

Claude CLI 설치 (Claude Code)

  1. 1
    Node.js 18 이상 설치 확인

    node -v로 버전 확인. v18 미만이면 nodejs.org에서 최신 LTS 재설치.

  2. 2
    아래 명령어를 터미널에서 실행합니다
Terminal — Claude CLI 설치
# Claude CLI 설치
npm install -g @anthropic-ai/claude-code

# 설치 확인
claude --version

# 처음 실행 (Anthropic 계정으로 로그인)
claude

비용 주의: Claude CLI는 Anthropic API를 사용하므로 사용량에 따라 비용이 발생할 수 있습니다. 처음엔 소량만 써보고, Anthropic 대시보드에서 사용량을 확인하세요.

Codex CLI 설치 (OpenAI)

Terminal — Codex CLI 설치
# Codex CLI 설치
npm install -g @openai/codex

# OpenAI API 키 설정
# platform.openai.com → API Keys → Create new key
export OPENAI_API_KEY="sk-..."
# Windows: set OPENAI_API_KEY=sk-...

# 실행
codex

CLI에서 AI와 개발하는 흐름

프로젝트 폴더 안에서 CLI를 실행하면, AI가 그 폴더를 자동으로 읽기 시작합니다. 이후에는 대화하듯 요청하면 됩니다.

Terminal
# 프로젝트 폴더로 이동
cd my-app

# Claude CLI 실행
claude

# AI가 현재 폴더를 자동으로 읽기 시작합니다
# 이제 대화하듯 요청하면 됩니다
💬 CLI에서 이렇게 요청하기
이 React + Vite 프로젝트를 집중 타이머 앱으로 만들어줘.

기능: 25분 카운트다운 / 시작·일시정지·초기화 버튼 / 완료 시 메시지
스타일은 깔끔하게, 모바일에서도 잘 보이면 좋겠어.

작업이 끝나면:
1. 어떤 파일을 만들거나 수정했는지
2. 각 파일이 무슨 역할인지
3. 다음에 내가 직접 수정하려면 어디를 보면 되는지
를 요약해줘.

핵심 습관: "알아서 다 고쳐줘"라고 하지 마세요. "왜 이렇게 수정하는지 설명해줘"를 항상 붙이는 것이 실력을 키우는 방법입니다.


비용과 품질을 함께 지키는 법

AI에게 많은 정보를 제공하는 것이 항상 좋지는 않을 수 있습니다.
필요한 맥락만 전달하는 것이 더 빠르고, 비용 효율적입니다.

컨텍스트 창(Context Window)이란?
AI가 한 번의 대화에서 읽을 수 있는 텍스트의 한계입니다. 코드 파일 하나도 쉽게 수백~수천 토큰이 될 수 있고, 대화가 길어질수록 이전 내용이 모두 포함되어 비용이 늘어납니다. 불필요한 컨텍스트가 커질수록 응답 품질도 떨어질 수 있습니다.

토큰이 쌓이는 실제 구조

많은 사람이 "내 질문 길이 = 토큰 비용"이라고 생각하지만, 실제로는 다릅니다.
Claude는 매 응답마다 대화 시작부터 지금까지의 모든 내용을, 처음부터 다시 읽습니다.

그렇기에 대화가 길어지면 길어질수록, 사용되는 토큰이 폭발적으로 늘어납니다. 이 증가는 지수함수처럼 느껴지지만, 실제로는 2차 함수(quadratic) 구조입니다. 출력 토큰은 턴 수에 비례하지만, 입력 토큰은 턴 수의 제곱에 비례해 쌓이기 때문에 전체 비용이 가파르게 올라갑니다.

아래 시뮬레이터에서 모델과 설정을 바꾸며 비용이 어떻게 쌓이는지 직접 확인해보세요.

Claude API 대화 비용 시뮬레이터
15턴
500
800
1턴 비용
N턴 누적 비용
비용 배율
N턴 입력 토큰
누적 입력 비용
누적 출력 비용
주의 구간 (5배 초과)
비효율 구간 (15배 초과)
누적 비용 — 턴마다 쌓이는 입력·출력 비용 합계
한계 비용 — 해당 턴에서 새로 추가되는 비용

핵심: 토큰 비용의 대부분은 지금 쓴 질문이 아니라 쌓인 대화 이력에서 나옵니다. 가장 현실적인 비용 절감 방법은 컨텍스트를 자주, 적극적으로 초기화하는 것입니다.

비용만이 아닙니다 — 품질도 함께 흐려집니다

컨텍스트가 길어지면 Claude는 더 많은 텍스트를 처리해야 하고, 이 과정에서 무엇이 지금 중요한지 판단하는 능력이 흐려집니다.

우선순위 충돌

초반 요구사항과 지금 요구사항이 충돌할 때, Claude는 어느 쪽이 더 중요한지 판단하지 못하고 두 가지를 모두 반영하려다 어정쩡한 결과를 냅니다.

🔁

오래된 지시 재반영

10턴 전에 "빨간색으로 해줘"라고 했다가 나중에 "파란색으로 바꿔줘"라고 해도, 두 지시가 대화에 모두 남아 있으면 Claude가 헷갈립니다.

📢

핵심보다 잡음이 커짐

실패한 시도, 이미 해결된 질문, 반복 설명이 쌓이면 지금 필요한 맥락이 노이즈에 묻힙니다. 대화가 길수록 핵심 지침의 영향력이 줄어듭니다.

컨텍스트를 구성하는 3가지 레이어

컨텍스트는 하나의 덩어리가 아닙니다. 세 가지 레이어로 나뉘고, 각각 다른 방식으로 관리합니다.

💬

대화 이력

가장 빠르게 불어나는 레이어. 대화가 길어질수록 같은 질문을 해도 토큰이 누적 증가합니다. /clear 또는 /compact로 관리합니다.

📄

참조 파일 (@file)

코드 파일 하나가 수백~수천 토큰. 꼭 관련된 파일만, 필요한 순간에만 참조하세요. 전체 코드베이스 일괄 첨부는 절대 피하세요.

📋

시스템 지침 (CLAUDE.md)

매 대화 시작마다 자동으로 포함됩니다. 반복 설명을 없애는 장점이 있지만, 너무 길면 기본 토큰 부담이 됩니다. 핵심만 간결하게 유지하세요.

원칙: 컨텍스트는 많을수록 좋은 게 아닙니다. 관련성이 높을수록 좋습니다. 파일 10개를 통째로 붙이는 것보다, 핵심 파일 1~2개를 정확히 붙이는 게 더 좋은 답변을 만듭니다.

❌ 넓게 던지기
@src/ 폴더 전체 참조 + "로그인 버그 고쳐줘"

Claude가 수십 개 파일을 모두 읽고, 어디가 문제인지 스스로 추측해야 합니다
✅ 좁게 조준하기
@auth/useLogin.js 참조 + "이 훅의 토큰 검증 로직에서 만료 처리가 빠진 것 같아. 확인해줘"

Claude가 정확히 필요한 부분만 보고 즉시 답변할 수 있습니다

Claude Code 전용 컨텍스트 명령어

Claude Code(CLI)에는 컨텍스트를 직접 제어하는 전용 명령어가 있습니다. 이 세 가지가 가장 현실적인 비용·품질 관리 수단입니다.

명령어
하는 일
언제 쓰나요?
/clear
대화 이력 완전 초기화. 슬레이트를 지웁니다. CLAUDE.md는 유지됩니다.
새 기능 시작 / 주제 전환 / AI가 이전 맥락에 갇혀 같은 실수를 반복할 때
/compact
긴 대화를 요약본으로 압축. 대화 이력을 요약문 하나로 대체해 토큰을 줄입니다. 원본 이력은 사라집니다.
대화 흐름은 유지하되 토큰만 줄이고 싶을 때
/cost
현재 세션에서 사용한 토큰과 비용을 표시합니다.
얼마나 썼는지 확인할 때 / 비용 감각을 키울 때

/clear vs /compact 선택 기준: AI가 이전 맥락 때문에 잘못된 방향으로 가고 있다면 /clear. 현재 작업 흐름은 유지하되 토큰만 줄이고 싶다면 /compact. 확신이 없다면 새 주제마다 /clear가 기본값입니다.

/compact를 해야 할 타이밍

/compact는 "토큰이 많이 쌓이면 누르는" 명령이 아닙니다. 아래 신호 중 하나라도 보이면 즉시 압축하세요.

  1. 작업 주제가 바뀔 때

    하나의 기능 구현이 끝나고 새 기능으로 넘어가기 전. 지금까지의 탐색은 요약으로 남기고 새 주제를 깔끔하게 시작합니다.

  2. 같은 이슈를 오래 붙잡고 있을 때

    디버깅이 길어졌다면 이미 실패한 시도들이 많이 쌓인 상태입니다. 결론만 남기고 과정은 버리세요. 턴 수 기준으로는 짧은 대화(질문·답변이 짧은 경우) 8~10턴, 일반 대화 6~8턴, 파일을 자주 참조하는 긴 대화 4~5턴이 정리 기준입니다.

  3. 결정된 내용은 남기고, 탐색 과정은 버려도 될 때

    "React로 하기로 결정"은 남겨야 합니다. "Vue도 고려해봤는데…"는 버려도 됩니다. /compact가 이 판단을 자동으로 처리합니다.

  4. 응답이 느려지거나 엉뚱해지기 시작할 때

    Claude의 답변이 현재 맥락과 맞지 않거나 이전 내용을 자꾸 언급하면, 컨텍스트 과부하 신호입니다. 즉시 /compact 또는 /clear하세요.

/compact 직후에는 Claude가 맥락을 잃을 수 있습니다. 아래 4줄 템플릿으로 상태를 빠르게 재설정하세요.

💬 /compact 후 재진입 템플릿
현재 목표: 출석 앱에서 각 항목 삭제 기능 구현
유지할 제약: React + Tailwind, components 폴더 구조 유지, localStorage 로직 건드리지 않기
참고 파일: @AttendanceList.jsx
다음 액션: 각 항목 옆 삭제 버튼 추가, 클릭 시 해당 항목 제거

무엇을 남기고 무엇을 버릴지

컨텍스트 관리의 핵심은 "삭제"가 아니라 압축 기준입니다. /compact를 쓸 때든 새 대화를 시작할 때든 이 기준으로 판단하세요.

✅ 남길 것
  • ·현재 목표 (지금 만들려는 것)
  • ·결정된 제약 (스택, 규칙, 금지 사항)
  • ·관련 파일 위치와 구조
  • ·이미 검증된 코드와 사실
❌ 버릴 것
  • ·실패한 시도들의 긴 과정
  • ·이미 해결된 탐색 과정
  • ·반복된 설명과 재확인
  • ·채택하지 않은 대안들

새 대화를 시작해야 하는 경우

/clear/compact로도 해결이 안 될 때가 있습니다. 아래 경우는 명령어가 아니라 완전히 새 대화가 필요합니다.

1
프로젝트 주제가 완전히 바뀔 때 출석 관리 앱을 만들다가 타이머 앱으로 방향이 바뀌었다면, 이전 맥락은 도움이 아니라 방해입니다
2
초반의 가정이 많이 틀어졌을 때 처음에 잡은 구조나 기술 결정이 크게 바뀌었다면, 그 가정 위에 쌓인 대화 전체가 노이즈가 됩니다
3
현재 스레드가 오염됐을 때 /compact 이후에도 Claude가 계속 예전 맥락을 끌고 온다면, 스레드 자체를 새로 시작하는 게 낫습니다

도구별 지침 파일

반복 규칙을 저장하는 파일명은 도구마다 다릅니다. 아래 예시처럼 프로젝트 루트에 만들어두면 AI가 자동으로 읽고 적용합니다.

Claude Code: CLAUDE.md

프로젝트 루트에 생성. 매 대화 시작마다 자동으로 읽힙니다. 매번 말하는 반복 규칙을 여기에 옮기면, 그 내용은 대화 이력에서 완전히 사라집니다. 토큰 절약의 가장 확실한 방법입니다.

Codex CLI: AGENTS.md

프로젝트 루트에 생성. Codex CLI가 자동으로 읽는 프로젝트 지침 파일입니다. 스택, 규칙, 작업 방식을 여기에 정의합니다.

CLAUDE.md / AGENTS.md 예시
# 프로젝트 규칙
스택: React + Vite + TypeScript
스타일: Tailwind CSS만 사용 (인라인 스타일 금지)
컴포넌트: src/components/ 아래에 파일별로 분리
규칙: 새 기능 추가 시 기존 파일 구조 유지
금지: 불필요한 패키지 추가 금지

CLAUDE.md가 강력한 이유: "React + Tailwind 써", "컴포넌트는 components 폴더에 넣어"처럼 매번 반복하는 규칙을 CLAUDE.md에 한 번 저장하면, 그 후엔 대화에서 꺼낼 필요가 없습니다. 대화 이력이 아니라 별도 파일로 관리되지만, CLAUDE.md 자체는 매 요청마다 입력 토큰으로 소비되므로, 내용이 길수록 기본 비용이 높아집니다. .

컨텍스트 친화적 요청 쓰는 법

요청 자체를 컨텍스트 친화적으로 쓰면 Claude가 불필요한 추측 없이 바로 작업에 들어갑니다. 아래 4가지 요소를 갖추면 됩니다.

💬 컨텍스트 친화적 요청 템플릿
목표: AttendanceList에서 각 항목 옆에 삭제 버튼 추가
수정 범위: @src/components/AttendanceList.jsx 파일만
건드리면 안 되는 것: localStorage 저장 로직, 전체 레이아웃
참고 파일: @src/hooks/useAttendance.js (상태 관리 위치 확인용)
❌ 컨텍스트 낭비
우리 프로젝트는 React + Vite고, Tailwind 쓰고, 컴포넌트는 components 폴더에 있어. 색상은 blue-500 기준이고... 여기에 삭제 버튼 추가해줘.
✅ 지침 파일 + 4요소 활용
@AttendanceList.jsx 각 항목 옆에 삭제 버튼 추가해줘. localStorage 로직과 레이아웃은 건드리지 말고, 버튼 클릭 시 해당 항목만 제거.

긴 로그와 에러 출력 다루는 법

실제로 토큰을 가장 많이 잡아먹는 건 에러 로그 전문, 빌드 출력, 파일 전체 코드 붙여넣기입니다. 이 세 원칙을 지키세요.

1
전체 로그 대신 핵심 에러 10~30줄만 수백 줄짜리 빌드 로그 전체가 아닌, 빨간 에러 메시지 + 바로 위아래 문맥 정도면 충분합니다
2
전체 파일 대신 관련 함수 주변만 300줄짜리 파일 전체보다, 문제가 있는 함수 + 그 함수를 호출하는 부분 40~60줄이 Claude에게 더 유용합니다
3
배경 설명보다 재현 조건 먼저 "이 프로젝트는 원래..." 대신 "XXX 버튼을 눌렀을 때 YYY 에러가 뜹니다"처럼 재현 조건을 구체적으로 쓰세요
❌ 토큰 폭탄
[500줄 빌드 로그 전체]
[300줄짜리 파일 전체]

"이게 왜 안 되죠?"
✅ 핵심만 전달
에러: TypeError: Cannot read properties of undefined (reading 'map')
파일: @AttendanceList.jsx 32~48줄

"삭제 버튼 추가 후 목록 렌더링 시 위 에러 발생"

컨텍스트 정리 체크리스트

막힐 때마다, 또는 새로운 작업을 시작하기 전에 이 체크리스트를 확인하세요.


변경사항 저장 & 배포

AI가 파일을 수정할 수 있는 환경에서는 Git이 필수입니다. AI가 이상하게 고쳐도 이전 상태로 되돌릴 수 있어야 합니다.

꼭 기억하세요: AI에게 파일 수정을 요청하기 전에 반드시 git add . && git commit -m "수정 전 저장"을 해두세요. 그래야 AI가 이상하게 고쳐도 되돌릴 수 있습니다.

Git 기본 흐름

Terminal — Git 기본 사용
# 처음 한 번만: Git 저장소 초기화 + 이름/이메일 설정
git config --global user.name "내이름"
git config --global user.email "내이메일@example.com"
git init
git add .
git commit -m "initial commit"

# GitHub 저장소 연결 후 Push
git remote add origin https://github.com/내계정/내저장소.git
git branch -M main
git push -u origin main

# 이후 수정할 때마다
git add .
git commit -m "기능 추가: 중복 이름 방지"
git push
# → Vercel이 자동으로 재배포합니다

이상하게 바뀌었을 때 되돌리기

Terminal — 이전 상태로 복원
# 어떤 파일이 바뀌었는지 확인
git status

# 커밋 목록 보기
git log --oneline

# 특정 커밋으로 되돌아가기
git checkout 커밋ID

Vercel 배포 (처음 한 번)

  1. 1
    vercel.com → GitHub 계정으로 로그인
  2. 2
    Add New → Project → GitHub 저장소 Import
  3. 3
    설정 기본값 그대로 → Deploy 클릭

    Vite 프로젝트는 자동 인식됩니다. 1~2분 후 배포 완료.

배포 후 수정 사이클: 코드 수정 → git commit + push → Vercel 자동 재배포. 이 흐름이 반복됩니다. 배포 전에 항상 npm run build로 먼저 빌드를 테스트하세요.


빠지기 쉬운 함정들

⚠️

AI를 너무 믿는 것

"그럴듯한 코드"를 "정답 코드"로 착각하기 쉽습니다. 항상 실제로 실행하고 확인하세요.

📦

한 번에 너무 많이

10가지 기능을 한꺼번에 요청하면 꼬입니다. MVP를 먼저, 확장은 그 다음.

🔎

이유를 묻지 않는 것

AI가 고쳐줬을 때 "왜 이렇게 했는지" 안 물어보면 기초가 약해집니다. 항상 이유를 요청하세요.

💾

Git 커밋을 안 하는 것

AI가 이상하게 고쳐도 되돌릴 수 있으려면 자주 커밋해야 합니다. 기능 하나 → 확인 → 커밋 순서로.

핵심 기억: Intermediate 바이브코딩은 "프로젝트를 AI와 함께 공동 제작하는 방식"에 가깝습니다. 생산성은 높아지지만, 방향 통제와 검토 책임은 항상 나에게 있습니다.

← Beginner 트랙 다음: Advanced 트랙 →