오늘의 질문 — 무엇을 말로 지시하고, 무엇을 직접 확인할 것인가? 강사 한 줄 요약: "오늘은 CLAUDE.md, 내일은 스킬. 나머지는 명령어일 뿐."
#한눈에 보기
| 구간 | 세션 | 핵심 | 남는 파일 |
|---|---|---|---|
| 전반 | 1-1 · 1-2 · 1-3 | 바이브코딩의 뜻과 한계 · 설치 · 첫 대화 | 첫 결과물 1건 |
| 후반 ① | 1-4 | 역할 · 맥락 · 형식 · 제약 → CLAUDE.md | CLAUDE.md |
| 후반 ② | 1-5 | Pass 기준 · 출처 · 재계산 · 오류 해결 | Pass 기준 메모 |
| 마감 | 1-6 | 반복 절차를 커맨드 하나로 | .claude/commands/이름.md |
- 폴더가 중심 — 폴더 하나 = 업무(시스템) 하나
- CLAUDE.md = 프로젝트 수행 계획서, 매 대화마다 자동으로 읽힌다
- 지시는 역할 · 맥락 · 형식 · 제약 + 환각 방지 · 되묻기
- 검증은 출처 · 계산식 · 정량 기준으로, 최종 판단과 책임은 사람
- Day 1 완료 기준: 새 대화에서 커맨드 한 줄로 같은 결과가 나온다
#1. 바이브코딩 이해 (1-1)
#코드 대신 의도를 입력한다
| 기존 개발 | 바이브코딩 | |
|---|---|---|
| 입력 | 프로그래밍 언어 | 한국어 문장 + 자료 파일 |
| 필요한 것 | 문법 · 도구 사용법 | 업무 지식과 판단 기준 |
| 막히는 곳 | 오류 메시지 해석 | 지시가 모호할 때 |
| 결과 확인 | 작성자가 직접 테스트 | Pass 기준으로 사람이 확인 |
만드는 사람의 일이 작성에서 지시와 확인으로 바뀐다. 그래서 업무를 아는 사람이 유리하다. 코드를 읽지 못해도 결과가 맞는지는 판단할 수 있어야 한다.
#사람이 넘기지 않는 세 가지
| 역할 | 하는 일 | 과정에서 |
|---|---|---|
| 정의 | 무엇을, 어떤 자료로 만들지 정함 | 1-4 지시문 · CLAUDE.md |
| 판단 | 결과가 맞는지, 쓸 수 있는지 확인 | 1-5 Pass 기준 · 검증 |
| 책임 | 발송 · 승인 · 확정 같은 되돌릴 수 없는 일 | 2-5 승인과 권한 |
#잘 맞는 일 vs 주의할 일
- 잘 맞는 일 — 입력과 출력이 파일인 반복 업무: 자료 정리, 두 목록 대조, 정해진 형식의 회신 · 보고 초안, 혼자 쓰는 현황판
- 주의할 일 — 틀리면 피해가 큰 일: 외부 발송, 금액 확정, 개인정보, 여럿이 쓰는 운영 시스템 → 금지는 아니지만 초안까지만 맡기고 사람이 확정
#작동 원리 세 가지
| 원리 | 뜻 | 대응 |
|---|---|---|
| 다음 말 예측 | 정답을 찾는 게 아니라 그럴듯한 다음 말을 확률로 고른다. 같은 지시에도 매번 조금 다르다 | 조건을 구체적으로, 형식과 판정 값을 정해 준다 |
| Hallucination | 자료에 없는 수치 · 날짜 · 이름을 매끄러운 문장으로 채운다 | "자료에 없으면 확인 필요로 적어" + 출처 · 계산식 요구 |
| Context Window | 한 번에 볼 수 있는 양의 한도. 대화가 길면 앞 조건을 잊는다 | /context 확인 · /compact 요약 · 주제마다 /clear · 반복 조건은 CLAUDE.md |
모호한 지시는 틀린 답이 아니라 **"그럴듯한 답"**으로 돌아온다. 그래서 가장 찾기 어렵다.
#Claude Code의 구성
- 모델 — 다음에 할 일을 정함 (
/model,/status). Opus · Sonnet · Haiku 등, 큰 모델일수록 어려운 판단에 강하고 사용량이 크다 - 내장 도구 — 파일 읽기/쓰기 · 검색 · 명령 실행 · 웹 조회 (화면의
Read·Write·Bash줄) - 지침 — CLAUDE.md와 설정이 모든 대화에 적용 (
/memory,/permissions) - 확장 기능 — Skill · MCP · 서브에이전트 (Day 2)
Claude가 모르는 것(업무 기준일 · 사내 규정 · 팀 관행)은 묻지 않고 추정할 수 있다 → CLAUDE.md에 적어 준다.
#2. 환경 구성 (1-2)
#웹 채팅 vs Claude Code(CLI)
| 웹 채팅 | Claude Code | |
|---|---|---|
| 파일 입력 | 매번 올리거나 붙여 넣음 | data/ 폴더를 직접 읽음 |
| 결과 저장 | 사람이 복사해 저장 | report/에 직접 저장 |
| 규칙 유지 | 대화가 바뀌면 다시 입력 | CLAUDE.md를 매 대화에 적용 |
| 명령 실행 | 사람이 따로 실행 | 승인을 받아 직접 실행 |
→ 한 번 묻고 답하는 일은 웹 채팅, 반복 업무를 맡기는 일은 Claude Code.
#다섯 층 구조 — 문제가 생기면 ①부터 점검
| 층 | Windows | 확인 명령 |
|---|---|---|
| ⑤ 작업 폴더 | ~/work/vibe/트랙폴더 |
pwd · ls |
| ④ 인증 | Pro · Max · Team · Enterprise · Console | claude auth status |
| ③ Claude Code | 네이티브 설치 | claude --version |
| ② 실행 도구 | Python 3 · Git for Windows | python --version · git --version |
| ① 터미널 | 설치는 PowerShell, 실습은 Git Bash | echo $SHELL |
무료 claude.ai 플랜으로는 Claude Code에 로그인할 수 없다. (Pro 이상 또는 Console 계정 필요)
#Windows 설치 (네이티브 · 권장)
STEP 1. Git for Windows 설치 (git-scm.com, 기본 옵션) → Git Bash가 함께 설치된다
STEP 2. PowerShell(관리자 권한 불필요)에서 설치
git --version
irm https://claude.ai/install.ps1 | iexSTEP 3. 새 터미널 창을 열어 확인 (기존 창은 PATH가 반영되지 않음)
claude --version # 2.x (Claude Code)
claude doctor # 마지막 줄에 문제 없음
where claude # C:\Users\이름\.local\bin\claude.exeSTEP 4. 작업 폴더에서 첫 실행 → 브라우저 로그인 → "Yes, I trust this folder"
mkdir -p ~/work/vibe && cd ~/work/vibe/sales-quote
claude다른 설치 방법 (WinGet · npm · WSL2)
| 방법 | 명령 | 비고 |
|---|---|---|
| WinGet | winget install Anthropic.ClaudeCode |
업데이트는 winget upgrade 수동 |
| npm | npm install -g @anthropic-ai/claude-code |
Node.js 22 필요, sudo 금지 |
| WSL2 | wsl --install 후 Ubuntu에서 curl -fsSL https://claude.ai/install.sh | bash |
Linux 도구 체인이 필요할 때 |
| macOS | curl -fsSL https://claude.ai/install.sh | bash |
Homebrew: brew install --cask claude-code |
Git Bash를 못 찾으면 %USERPROFILE%\.claude\settings.json에 경로를 지정한다.
{ "env": { "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe" } }#경로 규칙
- 작업 폴더는 영문 · 공백 없는 짧은 경로 (
~/work/vibe/) - 피할 곳:
바탕화면/새 폴더 (2)(공백·괄호·한글),OneDrive(동기화 잠김),C:\Program Files(관리자 권한) - 경로는 직접 치지 말고 Tab으로 자동 완성
- 터미널 창 하나에 트랙 폴더 하나
#꼭 알아야 할 터미널 명령 8개
| 명령 | 기능 | 예 |
|---|---|---|
pwd |
현재 위치 | pwd |
ls |
폴더 내용 | ls data |
cd / cd .. |
폴더 이동 / 상위로 | cd ~/work/vibe/sales-quote |
mkdir -p |
폴더 만들기 | mkdir -p ~/work/vibe |
open / start |
파일 열기 (mac / Windows) | start report/결과.html |
Tab / Ctrl+C |
자동 완성 / 실행 중단 |
#권한 모드 (Shift+Tab으로 순환)
| 화면 표시 | 모드 | 묻지 않고 실행하는 범위 | 과정에서 |
|---|---|---|---|
⏵⏵ auto mode on |
auto | 전부 (분류 모델이 동작마다 검토) | 시작 모드 |
⏸ manual mode on |
default | 읽기만 | 실습 기본 — 승인 창을 직접 읽는다 |
⏵⏵ accept edits on |
acceptEdits | 읽기 · 파일 수정 · mkdir | 반복 수정 단계 |
⏸ plan mode on |
plan | 읽기, 수정 없이 계획만 | Day 2 (2-1) |
auto 모드에서도 기본 차단: 내려받은 스크립트 바로 실행(curl … | bash), 민감 정보 외부 전송, 대량 삭제 · 운영 배포 · 권한 변경.
강사 추천:
claude --dangerously-skip-permissions— 권한 승인을 모두 건너뛴다(화면에bypass permissions on). 밤새 일을 맡길 때 유용하지만 민감 데이터 · 운영 환경 · 키가 있는 폴더에서는 신중히. 대안은 위험 작업을 기본 차단하는 auto 모드.
#설치 오류 빠르게 찾기
| 증상 | 원인 | 조치 |
|---|---|---|
claude 명령을 찾지 못함 |
PATH에 .local\bin 없음 |
새 창 실행, 계속되면 $env:Path += ";$env:USERPROFILE\.local\bin" |
irm is not recognized |
CMD에서 PowerShell 명령 실행 | PowerShell 창에서 다시 실행 |
&& 토큰 오류 |
PowerShell에서 CMD 문법 사용 | 창 종류 확인 (PS C:\ = PowerShell, $ = Git Bash) |
| Git Bash를 찾을 수 없음 | Git 미설치 · 비표준 경로 | where.exe git → settings.json에 경로 지정 |
| 설치 스크립트 TLS 오류 | PowerShell TLS 설정 | [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 |
python3: command not found |
Windows의 Python 명령 차이 | python --version 또는 py --version |
| 연결 실패 · 인증서 오류 | 사내 프록시 · 보안 인증서 | HTTPS_PROXY · NODE_EXTRA_CA_CERTS 설정 (IT 부서 문의) |
| 로그인 브라우저가 안 열림 | 팝업 차단 · 원격 접속 | 터미널에서 c 키로 URL 복사 |
관리자 권한으로 다시 실행하지 않는다. 막히면
claude doctor부터.
#실습 L01 · 환경 점검과 트랙 폴더 첫 실행 (10분)
Pass 기준: Claude Code가 트랙 폴더의 파일 목록을 보고한다.
#3. 첫 대화와 화면 읽기 (1-3)
#에이전틱 루프
Claude Code는 정보 수집(Read · 검색) → 실행(Write · Edit · Bash) → 결과 확인을 반복한다. 세 단계가 섞여 진행되므로 방향이 다르면 기다리지 말고 Esc로 중단한다.
#화면에서 읽어야 할 것
| 화면 요소 | 확인할 것 |
|---|---|
입력란 › |
보낸 문장이 의도와 같은지 |
도구 호출 줄 ● |
읽은 파일 · 저장한 파일이 맞는지 — 답변보다 먼저 읽는다 |
| 본문 답변 | 숫자 · 날짜 · 파일명 |
| 승인 창 | 어느 파일에 무엇을 하는지 |
| 아래 표시줄 | 현재 권한 모드 (manual mode on인지) |
#승인 창의 세 가지 선택
| 선택 | 뜻 | 언제 |
|---|---|---|
| 허용 | 이번 한 번만 | 처음 보는 명령 · 실제 업무 폴더 |
| 이 세션 동안 계속 허용 | 같은 종류는 다시 묻지 않음 | 실습 폴더에서 같은 수정 반복 |
| 거부 | 실행 안 함 · 이유 입력 가능 | 대상이 다르거나 뜻을 모를 때 |
거부해도 파일은 손상되지 않고, 이유를 입력하면 그에 맞춰 다시 시도한다.
#필수 단축키
| 키 | 기능 |
|---|---|
Esc |
진행 중 작업 중단 (한 일은 남음) |
Esc Esc / /rewind |
되돌리기 (대화 · 파일을 이전 시점으로) |
Shift+Tab |
권한 모드 전환 |
Shift+Enter |
여러 줄 입력 |
Ctrl+C |
입력 · 응답 취소 (한 번으로는 종료 안 됨) |
↑ / ↓ |
이전 프롬프트 재사용 |
처음 익힐 조작은 Esc · /clear · Shift+Tab 세 가지.
#세션 시작 · 종료 · 재개
| 명령 | 기능 |
|---|---|
claude |
현재 폴더에서 시작 (반드시 작업 폴더 안에서) |
/exit · Ctrl+D |
종료 — 대화는 자동 저장 |
claude -c |
이 폴더의 직전 대화 이어가기 (점심 뒤 · 다음 날) |
claude -r |
이전 대화 목록에서 선택해 열기 |
/rename 이름 |
대화에 이름 붙이기 |
#자주 쓰는 슬래시 명령
| 명령 | 기능 |
|---|---|
/clear |
대화 비우고 새로 시작 (주제가 바뀔 때) |
/btw |
본 작업과 별개로 곁가지 질문 |
/init |
폴더 분석 후 CLAUDE.md 초안 생성 |
/memory |
적용 중인 지침(CLAUDE.md) 열기 · 편집 |
/rewind |
되돌리기 (코드+대화 / 대화만 / 코드만 / 요약) |
/compact · /context |
대화 요약 · 컨텍스트 사용량 확인 |
/model · /status |
모델 · 상태 확인 |
#입력 방법 세 가지 + α
@경로— 파일 · 폴더 지정 (Tab으로 완성). 지정하지 않으면 Claude가 스스로 찾느라 느리고 엉뚱한 파일을 읽을 수 있다- 이미지 붙여넣기 — 오류 화면 · 양식 사진은 글로 옮기지 말고 캡처 그대로
!명령— 셸 명령 바로 실행 (!ls report)
강사: "슬래시(/)와 골뱅이(@)만 잘 쓰면 다 끝난다."
#새 폴더에서는 질문이 먼저
- 전체 — "이 폴더에 무엇이 있는지 알려줘"
- 형식 — "data/의 파일은 열 이름이 어떻게 돼?"
- 용어 — "이 폴더에서 사용하는 용어를 표로 정리해줘"
- 한 건 — "문의 한 건이 초안이 되기까지 따라가 봐"
#실습 L02 · 트랙 자료로 첫 결과물 만들기 (15분)
Pass 기준: 결과 파일 1건이 생기고 data/는 변경되지 않았다.
| 트랙 | 읽을 자료 | 첫 지시 (일부러 짧게) | 결과 파일 |
|---|---|---|---|
| A · 영업 | inbox/견적문의_01.txt · data/단가표.csv |
이 문의에 답할 견적 회신 초안을 만들어줘 | outbox/drafts/회신_거래처.md |
| B · 인사 | data/직원명단.csv · 수료기록.csv · 교육과정.csv |
교육을 아직 듣지 않은 사람을 정리해줘 | report/교육이수.md |
| C · 재무 · 구매 | data/발주.csv · data/세금계산서.csv |
두 파일을 대조해 다른 건을 찾아줘 | report/대조.csv |
| D · 품질 · IT | data/불량보고/ |
이번 주 불량 보고를 요약해줘 | report/품질주간.md |
아래 시뮬레이터는 트랙 A 자료로 구성되어 있다. 일부러 제약 없이 지시해 보고 결과를 열어 보자.
#4. 지시문 작성 (1-4)
#기본 4요소
| 요소 | 작성할 내용 | 트랙 A 예 |
|---|---|---|
| 역할 | 누구의 입장에서 | 너는 영업지원 담당자야 |
| 맥락 | 무엇을 위한 것이고 자료는 어디에 | inbox/의 문의에 회신할 초안이야. 단가는 data/단가표.csv에 있어 |
| 형식 | 결과의 구성 · 순서 · 저장 위치 | 인사 → 품목·수량·단가·합계 표 → 납기 안내, outbox/drafts/에 저장 |
| 제약 | 하지 말 것, 모를 때의 처리 | 단가표에 없는 품목은 '확인 필요', 할인은 적용하지 마 |
네 줄 중 가장 자주 빠지는 것은 제약이고, 제약 한 줄이 결과를 가장 크게 바꾼다. 빠진 요소는 Claude가 스스로(그럴듯하게) 채운다.
#결과가 흔들릴 때 더하는 4기법
- 예시 — 원하는 출력 한 건을 그대로 보여 준다 (형식 설명보다 정확)
- 단계 — 1) 읽기 → 2) 계산 → 3) 작성처럼 순서를 나눈다 (중간 확인 가능)
- 환각 방지 — "자료에 없으면
확인 필요로 표기" - 되묻기 — "애매한 점은 시작 전에 물어볼 것"
환각 방지 + 되묻기 두 줄은 모든 지시에 넣는다.
#완성 예 (트랙 A)
역할: 너는 영업지원 담당자야.
맥락: inbox/견적문의_01.txt 에 회신할 초안이 필요해. 단가는 data/단가표.csv 에 있어.
형식: 인사 → 품목·수량·단가·합계 표 → 납기 안내 순서로 outbox/drafts/에 저장해줘.
제약: 단가표에 없는 품목은 '확인 필요'로 적고 금액을 만들지 마. 할인은 적용하지 마.
되묻기: 시작 전에 애매한 것이 있으면 먼저 물어봐.지시문 옆에는 Pass 기준 두 줄을 함께 적어 둔다 — ① 초안의 단가 = 단가표의 단가 ② 단가표에 없는 품목은 '확인 필요'.
#수정 요청은 한 번에 하나, 대상과 기대값으로
| ❌ 막연한 요청 | ✅ 수정한 요청 | 달라지는 점 |
|---|---|---|
| 좀 더 깔끔하게 해줘 | 표의 열을 품목·수량·단가·합계 네 개로 줄여줘 | 무엇을 바꿀지 정해짐 |
| 틀렸어, 다시 해줘 | 2행 합계가 단가×수량과 달라. 계산식을 같이 적어줘 | 틀린 위치와 기대값 전달 |
| 전체적으로 손봐줘 | 인사말만 두 문장으로 줄여줘. 표는 그대로 둬 | 수정하지 않을 범위가 정해짐 |
| 알아서 잘 해줘 | 애매한 점이 있으면 먼저 질문해줘 | 가정 대신 질문이 돌아옴 |
#강의 현장 팁
- 프롬프트 자체를 ChatGPT · Gemini에 **"바이브 코딩용 프롬프트 만들어줘"**로 생성해도 된다
- 참고 사이트 URL · 유튜브 링크를 주고 "이런 스타일로" 요청 가능
- 개발 표준 정의서(네이밍 · 폴더 구조)를 참조시켜 코드 생성
- "UX 관점에서 사용성 극대화되게 리팩토링해줘", "주석을 이해하기 쉽게 자세히" 같은 표현이 유용
- 마지막에 **"코드 리뷰 + 테스트까지 해줘"**를 붙인다
#실습 L03 ① · 지시문 다듬기
L02의 짧은 지시를 여섯 요소가 모두 들어간 지시문으로 고쳐 보자.
#5. CLAUDE.md ⭐ 오늘의 핵심
#개념
- 프로젝트 수행 계획서 — 개요 · 역할 · 자료 위치 · 형식 · 제약 · 업무 규칙
- 폴더 맨 위의 CLAUDE.md는 새 대화마다 자동으로 먼저 읽힌다 → 같은 지시를 반복하지 않아도 된다
- 기업 입장에선 재사용 가능한 내부 자산 (이것만 있으면 유사 시스템을 다시 만들 수 있다)
- 다른 도구에도 같은 개념이 있다 (예: Codex의
AGENTS.md)
#위치와 적용 범위
| 위치 | 적용 범위 |
|---|---|
~/.claude/CLAUDE.md |
모든 프로젝트 공통 개인 지침 (말투 · 언어 등, 간단하게) |
프로젝트폴더/CLAUDE.md |
해당 프로젝트 전용 지침 — 기본은 폴더 하나에 하나 |
| 하위 폴더별 | 대형 프로젝트일 때 분리 (예: 수신 / 여신 / 외환) |
#예시
# 견적 회신 도우미
## 역할
- 너는 영업지원 담당자다.
## 자료
- 단가: data/단가표.csv (수정 금지)
- 문의: inbox/
## 형식
- 인사 → 표(품목·수량·단가·합계) → 납기 안내
- 저장: outbox/drafts/회신_거래처.md
## 제약
- 단가표에 없는 품목은 '확인 필요'
- 할인 금지 · 발송 금지 · 기준일 2026-06-15#쓸 것 vs 쓰지 말 것 (200줄 이내)
| 구분 | ✅ 쓸 것 | ❌ 쓰지 말 것 |
|---|---|---|
| 사실 | 자료만 읽어서는 알 수 없는 기준일 · 단위 · 저장 위치 | 자료를 읽으면 알 수 있는 내용 |
| 형식 | 기본과 다르게 받고 싶은 형식 규칙 | "정확하게 작성한다" 같은 당연한 말 |
| 금지 | 수정하면 안 되는 폴더 · 하면 안 되는 약속 | 이번 한 번만 필요한 지시 |
| 변동 | 드물게 바뀌는 업무 규칙 | 자주 바뀌는 값 · 긴 설명과 사례 |
검토 기준: 줄마다 "이 줄이 없으면 AI가 실수하는가?" — 아니면 삭제. 길어지면(헤비해지면) AI가 규칙을 빠뜨린다.
#만들고 고치는 법 · 운영 사이클
| 방법 | 입력 | 언제 |
|---|---|---|
| 초안 만들기 | /init |
처음 한 번 |
| 대화로 수정 | "CLAUDE.md의 제약에 한 줄 추가해줘" | 규칙이 늘어날 때 |
| 직접 열기 | /memory |
내용 확인 · 편집 |
- 자료(수행 계획서 · 아키텍처 · 개발 표준) 확보 →
/init으로 초안 - 자료가 없으면 아이디어(기능 · 사용자 · 비즈니스 로직)를 주고 초안 요청
- 작업하며 함정을 발견할 때마다 제약 한 줄 추가 ("CLAUDE.md에 반영해줘")
- 안 쓰는 규칙은 주기적으로 클렌징
- 수정 후엔
/clear→ 새 대화에서 다시 실행해 확인
#실습 L03 ② · CLAUDE.md 완성하기 (20분)
Pass 기준: /clear 뒤 짧은 지시로도 같은 형식의 결과가 나온다. 아래 초안을 고쳐 점수를 8/8로 만들어 보자.
| 트랙 | 형식 | 제약 | 달라져야 할 점 |
|---|---|---|---|
| A · 영업 | 인사 → 표 → 납기 안내 | 단가표에 없는 품목은 '확인 필요' · 할인 금지 | 없는 품목에 금액이 없음 |
| B · 인사 | 부서별 이수율 표 → 미이수자 목록 | 기한이 지난 사람만 '지연' · 명단에 없으면 '확인 필요' | '지연'이 기준일로 판정됨 |
| C · 재무 · 구매 | 발주번호 · 두 금액 · 차액 · 판정 | 판정은 일치 · 금액 차이 · 계산서 없음 세 가지만 | 판정 값이 세 가지로 고정 |
| D · 품질 · IT | 요약 3줄 → 유형별 표 → 확인 필요 | 원인이 없으면 '원인 미기재' · 추정 금지 | 없는 원인이 채워지지 않음 |
#6. 검증과 오류 해결 (1-5)
#Pass 기준은 지시하기 전에
결과를 본 뒤에 기준을 정하면 결과에 기준을 맞추게 된다. 기준은 셀 수 있는 것(건수 · 합계 · 값의 종류)으로 쓴다.
- ❌ "대체로 맞는 것 같다" → 빠진 건을 찾기 어렵고 완료 시점을 정할 수 없다
- ✅ "대조표 행 수 = 발주 건수", "단가표 없는 품목은 '확인 필요'" → 확인이 몇 분으로 줄어든다
#결과를 확인하는 네 가지 방법
| 방법 | 요청 문장 | 잡아내는 것 |
|---|---|---|
| 출처 | 각 값이 어느 파일 몇 행에서 왔는지 열을 추가해줘 | 자료에 없는 값 (RAG와 같은 원리) |
| 재계산 | 합계마다 계산식을 같이 적어줘 | 계산 오류 · 단위 혼동 (AI는 계산에 약함) |
| 반례 찾기 | 이 결과가 틀렸다면 어디일지 세 곳을 알려줘 | 빠뜨린 행 · 경계 조건 |
| 새 대화 재실행 | /clear 뒤 같은 지시를 다시 실행 |
우연히 맞은 결과 |
"확실해?"라고 묻는 대신 확인할 수 있는 근거를 요구한다.
#트랙별 함정
| 트랙 | 함정 ① | 함정 ② | 드러나는 Pass 기준 |
|---|---|---|---|
| A · 영업 | 단가표에 없는 품목 | 수량이 박스 단위로 적힌 문의 | 없는 품목 · 단위는 '확인 필요' |
| B · 인사 | 명단에 없는 사번의 수료 기록 | 기한 뒤에 수료한 기록 | 이수 + 미이수 = 명단 인원 |
| C · 재무 · 구매 | 세금계산서가 없는 발주 | 부가세만큼 금액이 다른 건 | 대조표 행 수 = 발주 건수 |
| D · 품질 · IT | 원인이 적히지 않은 보고 | 같은 유형의 다른 표기 | 유형별 건수 합 = 보고 건수 |
함정에 걸렸다면 지시문에 제약 한 줄이 빠진 것이다.
#오류 해결 4단계
- 원문 전달 — 에러 메시지를 요약하지 말고 그대로 복사, 직전에 한 일을 한 줄로
- 원인 먼저 — 수정 전에 원인을 한 문장으로 설명하게 한다
- 한 곳만 수정 — 원인에 해당하는 곳만, 승인 창에서 범위 확인
- 다시 실행 — 같은 명령으로 Pass 기준 확인, 안 되면 1단계로
예)
UnicodeDecodeError: 'cp949' codec …→ "원인을 한 문장으로 설명하고 고칠 곳 한 군데만 알려줘" → 파일은 UTF-8인데 cp949로 읽었다 → "그 한 줄만 고치고 다시 실행해줘"세 번 고쳐도 안 되면
/rewind로 되돌리고 지시를 다시 쓴다.
#자주 막히는 네 가지
| 증상 | 원인 | 대응 |
|---|---|---|
| 고칠수록 다른 곳이 틀어짐 | 한 번에 여러 건 수정 | 한 프롬프트에 한 수정 + "표는 그대로 둬" |
| 한글 깨짐 | 인코딩 (UTF-8 vs CP949, 엑셀 CSV) | 깨진 화면을 그대로 보여 주고 원인 질문 |
| 새 대화에서 결과가 달라짐 | 조건을 말로만 줌 | CLAUDE.md에 한 줄로 옮기기 |
| '확인 필요'가 너무 많음 | 자료 위치 미기재 | 맥락에 파일 경로 명시 |
#되돌리기와 그 한계
Esc Esc 또는 /rewind → 시점 선택 → 다섯 가지 메뉴
| 선택 | 동작 | 언제 |
|---|---|---|
| Restore code and conversation | 파일과 대화를 그 시점으로 | 지시부터 잘못됐을 때 |
| Restore conversation | 대화만 (파일 유지) | 결과는 맞고 대화만 길어졌을 때 |
| Restore code | 파일만 (대화 유지) | 수정은 취소하고 논의는 이어 갈 때 |
| Summarize from here | 이후 대화를 요약 | 컨텍스트를 비우고 싶을 때 |
| Never mind | 아무것도 안 함 | 잘못 열었을 때 |
Bash로 변경한 것은 되돌릴 수 없다. 외부 메일 발송 · 외부 시스템 변경 · Git 푸시 · 인프라 작업은 맡기지 않거나 초안까지만. 키 정보가 있는 프로젝트는 Private 레포 +
.gitignore확인.
#실습 L04 · Pass 기준으로 함정 찾기 (25분)
Pass 기준: 함정 두 개가 결과에 표시되어 있다. 먼저 제약 없이 초안을 만들어 함정에 걸려 보고, 되돌린 뒤 제약을 넣어 다시 실행해 비교한다.
#7. 업무 도구 1호 · 커맨드 (1-6)
#커맨드 파일
.claude/commands/quote.md를 만들면 **/quote**로 실행된다. 파일 이름이 곧 명령 이름이다.
---
description: 견적 문의에 회신 초안을 만든다
---
1. inbox/에서 회신하지 않은 문의를 찾는다.
2. data/단가표.csv에서 품목별 단가를 찾는다.
3. CLAUDE.md의 형식으로 초안을 작성한다.
4. outbox/drafts/에 저장한다.
5. 처리한 문의 수와 '확인 필요' 품목을 보고한다.
대상 문의: $ARGUMENTSdescription—/목록에 표시되는 한 줄 설명- 본문 — 절차를 번호로 작성
$ARGUMENTS—/quote 정우테크처럼 뒤에 적은 말이 들어간다- 규칙은 쓰지 않는다 — "CLAUDE.md를 따른다"로만 (같은 내용을 두 곳에 쓰면 한쪽만 고치게 된다)
#CLAUDE.md vs 커맨드 vs 스킬
| 구분 | CLAUDE.md | 커맨드 | 스킬 (Day 2) |
|---|---|---|---|
| 성격 | 규칙 — 무엇을 지킬지 | 절차 — 어떤 순서로 할지 | 업무 프로세스 에이전트 |
| 읽히는 시점 | 매 대화 자동 | /이름으로 부를 때 |
요청 내용 · 이름으로 자동 |
| 위치 | 폴더 루트 | .claude/commands/이름.md |
.claude/skills/이름/SKILL.md |
| 수정하는 때 | 함정을 새로 찾았을 때 | 절차가 바뀌었을 때 | 계속 보완 |
| 재사용성 | 프로젝트 단위 | 낮음 (개인용) | 높음 (공유 · 스케줄링) |
강사 의견: 실무에선 커맨드보다 스킬로 만드는 경우가 훨씬 많다. 삼성전자 반도체 · LG전자 등은 스킬 개수 · 활용도를 성과 지표로 삼는 추세.
#트랙별 커맨드
| 트랙 | 커맨드 | 절차 | 보고 항목 |
|---|---|---|---|
| A · 영업 | /quote |
문의 읽기 → 단가 찾기 → 초안 작성 → 저장 | 처리 건수 · 확인 필요 품목 |
| B · 인사 | /training |
명단과 수료 기록 대조 → 이수율 표 → 미이수자 목록 | 미이수 인원 · 지연 인원 |
| C · 재무 · 구매 | /match |
발주와 세금계산서 대조 → 대조표 → 차이 목록 | 판정별 건수 · 차액 합계 |
| D · 품질 · IT | /weekly |
보고서 읽기 → 유형별 집계 → 주간 요약 | 유형별 건수 · 원인 미기재 건 |
#실습 L05 · 커맨드로 업무 도구 1호 만들기 (20분)
Pass 기준: 새 대화에서 커맨드 한 줄로 Pass 기준을 통과한다.
#Day 1 자가 점검
#8. 강의에서 나온 추가 이야기
#폴더 중심 작업 원칙
- 폴더 하나 = 하나의 시스템/목적 (데이터 분석과 웹 서비스를 한 폴더에 섞지 않기)
- 폴더별로 터미널을 여러 개 띄워 병렬 작업 가능 (토큰만 충분하면)
@는 실행 폴더 내부만 인식 → 외부 자료는 절대 경로로 지정하거나 폴더 안으로 복사- 새로 넣은 파일이 인식 안 되면 나갔다 들어오거나 새 대화
- ⚠️ 세션 간 격리가 완벽하지 않으니 엉뚱한 터미널에 지시하는 실수 주의
- VS Code: 터미널에서
code .로 현재 폴더 열기, 내장 터미널에서claude실행해도 된다 - 강사는 맥에서 alias(
c,c -c,c -r)로 등록해 사용
#운영 원칙 다섯 가지 (Day 2 2-5에서 권한 규칙으로 강제)
| 원칙 | 내용 | 이유 |
|---|---|---|
| 원본은 읽기만 | data/는 수정하지 않음 |
틀린 결과를 원본과 비교할 수 있어야 함 |
| Pass 기준 먼저 | 지시 전에 확인 문장 작성 | 기준이 없으면 완료 시점을 정할 수 없음 |
| 없는 값은 '확인 필요' | 자료에 없는 수치를 만들지 않게 | 그럴듯한 값이 가장 찾기 어려움 |
| 발송은 사람이 | 초안까지만 맡김 | 되돌릴 수 없는 일은 사람이 결정 |
| 가상 데이터만 | 실제 고객 · 직원 정보 금지 | 사내 AI 정책 확인 전에는 넣을 수 없음 |
#배포와 확장
- GitHub 연동 → "Private 레포 만들어서 올려줘"로 커밋 · 푸시까지 (최초 인증 필요)
- 무료 배포 옵션: Cloudflare(정적 · 서비스), Render(백엔드), Supabase · Firebase(DB), Streamlit Community Cloud, Hugging Face Spaces, Oracle Cloud Free Tier
- 로그인 기능이 필요하면 구글 로그인이 가장 간단
- cron 등 스케줄링과 결합 → 매일 자동 보고서를 만드는 에이전트로
- 강사 사례: 바이브코딩으로 학습 사이트(Tech Learning Hub)를 며칠 만에 Cloudflare에 무료 배포
#요금제 (강사 언급)
- Max는 Pro 대비 약 5배 사용량, 강사는 Max $200 플랜 사용
- 많이 시키면 토큰 한도에 도달해 리셋까지 대기 → 최신 요금은 공식 사이트 확인
#9. 실습 트랙과 폴더 구조
직무 트랙 네 개 중 하나를 Day 1에 정하고 이틀 동안 바꾸지 않는다. 절차는 같고 자료만 다르다.
| 트랙 | 폴더 | Day 1 · 업무 도구 | Day 2 · 에이전트 |
|---|---|---|---|
| A · 영업 | sales-quote |
견적 문의 회신 초안 | 미회신 문의를 찾아 초안까지 |
| B · 인사 | hr-training |
교육 이수 현황 리포트 | 미이수자 독려 초안까지 |
| C · 재무 · 구매 | fin-invoice |
발주 · 세금계산서 대조표 | 불일치 건 확인 요청 초안까지 |
| D · 품질 · IT 운영 | ops-quality |
불량 보고 주간 요약 | 반복 유형을 기억해 조치 요청 초안까지 |
~/work/vibe/sales-quote/
├── CLAUDE.md # 규칙 (1-4)
├── data/ # 원본 자료 · 수정 금지
├── inbox/ # 새로 들어온 요청
├── report/ # 결과물
├── outbox/drafts/ # 발송 전 초안 (사람이 확인 후 발송)
├── .claude/commands/ # 커맨드 (1-6)
├── .claude/skills/ # Skill (2-3)
├── tools/ # 도구 스크립트 (2-2)
├── memory/ # 기억 파일 (2-3)
└── scripts/ # 자동 실행 (2-4)#실습 일정 (L01 ~ L11, 총 245분)
| 실습 | 세션 | 내용 | 소요 |
|---|---|---|---|
| L01 | 1-2 | 환경 점검과 트랙 폴더 첫 실행 | 10분 |
| L02 | 1-3 | 트랙 자료로 첫 결과물 만들기 | 15분 |
| L03 | 1-4 | 지시문을 수정하고 CLAUDE.md로 옮기기 | 20분 |
| L04 | 1-5 | Pass 기준으로 확인하고 함정 찾기 | 25분 |
| L05 | 1-6 | 커맨드로 업무 도구 1호 만들기 | 20분 |
| L06 ~ L11 | Day 2 | Plan 모드 설계 · 도구 스크립트 · Skill · 자동 실행 · 권한 · 종합 | 155분 |
#10. 복습 퀴즈
#✅ 복습 체크리스트
#다음 시간 예고 (Day 2)
- 스킬 작성 · 활용 — 오늘 견적 회신 작업을
quote-reply스킬로 만드는 시연 - 외부 공개 스킬 가져다 쓰기
- 에이전트 구성 (Hermes, OpenClaw 등 — 강사는 AWS 소형 인스턴스에서 격리 운영)
- Plan 모드 설계 → 도구 스크립트 → Skill · Memory → 자동 실행 → 승인과 권한 → 종합 실습
- 아침에는
claude -c로 오늘 대화를 이어 갈 수 있다. 본인 업무 후보 하나를 생각해 오기