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 트랙 →