Claude Code 실무 활용

KIST 연구원을 위한 2시간 입문 워크숍 — 학습자 핸드아웃

PowerShell에서 claude 한 번 — 내 폴더에 산출물 1개 — 내일 출근해서 다시 시도.
오늘은 그 한 번을 손에 쥐고 가는 두 시간입니다.

두 시간 후 내 폴더에 남는 것 세 가지

  1. 첫 응답 화면 — PowerShell에서 claude 실행, 한국어 5줄 응답
  2. CLAUDE.md 5~10줄 — 매번 같은 톤·언어·형식을 한 번 적어두는 파일
  3. 시나리오 산출물 1개summary.md / cleaning-report.md / weekly-report.md / fix-notes.md 중 1개

강사. 황민호 수석 — 카카오 AI Studio · Forward Deployed Engineer

일시. 2026-04-28 · 120분 워크숍

환경. Windows + PowerShell · 작업 폴더 C:\work\kist-lab\

손이 먼저 움직이는 강의입니다. 막히면 옆자리·강사·TA에게 손을 듭니다. 그래도 안 풀리면 PowerShell 오류 메시지 전체를 그대로 Claude에게 복붙합니다.


120분 한눈에 보기

시간블록분량형식
00:00~00:07도입 — 약속 3개·환경 점검7분강의 + 토론
00:07~00:15Show then tell — 1분 시연 + 정체8분시연 + 강의
00:15~00:30실습 1 — PowerShell + claude 첫 응답15분실습
00:30~00:45실습 2 — CLAUDE.md 5줄15분강의 + 시연 + 실습
00:45~01:00실습 3 — 플랜 모드 + deny 1줄15분강의 + 시연 + 실습
01:00~01:07휴식7분휴식
01:07~01:32실습 4 — 페르소나 분기 (a/b/c/d)25분실습
01:32~01:42확장 — 스킬·서브에이전트·MCP·훅10분강의 + 시연
01:42~01:50보안·재현성·환각 — 사실 기반 정리8분강의 + 토론
01:50~02:00마무리 — 5문장 회수 + Q&A10분토론 + Q&A

치트시트 — PowerShell × Claude Code

강의실에서·내일·이번 주 — 손이 가장 먼저 가야 할 명령들. A4 한 장으로 압축.

1. 첫 세션을 여는 4줄

PS C:\Users\researcher> chcp 65001
PS C:\Users\researcher> New-Item -ItemType Directory -Path C:\work\kist-lab\demo01 -Force
PS C:\Users\researcher> Set-Location C:\work\kist-lab\demo01
PS C:\work\kist-lab\demo01> claude

한글 깨짐 방지 → ASCII 작업 폴더 생성 → 폴더 이동 → claude 실행. 첫 실행 시 브라우저 로그인.

2. 매 세션 권장 1회 설정 (한글 안전)

PS> chcp 65001
PS> $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
PS> [Console]::OutputEncoding = [System.Text.Encoding]::UTF8

PowerShell 5.1 기본 인코딩이 UTF-16LE이므로 위 1회 설정 없이는 한글 파일이 깨지기 쉽다.

3. 자주 쓰는 슬래시 커맨드 (세션 안에서)

명령역할
/help사용법 안내
/init현재 폴더 분석 후 CLAUDE.md 자동 생성
/memoryCLAUDE.md·auto memory 조회·편집
/plan <지시>변경 전 계획만 받기 (단발성)
/permissions현재 권한 규칙 표시·편집
/agents서브에이전트 관리
/mcpMCP 서버 상태 확인
/model모델 전환 (Opus 4.7 / Sonnet 4.6 / Haiku 4.5)
/effort low|medium|high|xhigh|max사고 깊이 조절
/clear컨텍스트 초기화 (시스템 프롬프트만 남김)
/compact대화 요약·압축
/resume <name>이전 세션 재개
/exit세션 종료

4. 권한 모드 6종 — 일상은 두 개만

모드자동 실행 범위언제
default읽기만시작·민감 작업
acceptEdits읽기 + 편집 + 일반 fs (mkdir/touch/mv 등)코드 검토하며 반복
plan읽기만 (편집 X)변경 전 계획 수립
auto모두 + 분류기 안전 검사긴 작업 (research preview)
dontAsk사전 승인된 도구만잠긴 CI
bypassPermissions거의 모두격리 환경 외 절대 금지
⚠ 절대 금지

--dangerously-skip-permissions 또는 bypassPermissions는 격리된 컨테이너·VM 외에서 절대 사용하지 않습니다. 데이터·자격 증명·시스템 설정이 통째로 위험에 노출됩니다.

5. 모델 한 컷 (2026-04 기준)

모델컨텍스트언제
Opus 4.71M 토큰 · 5/25 $/MTok가장 어려운 분석·다중 파일 변경
Sonnet 4.61M 토큰 · 3/15 $/MTok일상 코딩·문서·리팩토링
Haiku 4.5200K 토큰 · 1/5 $/MTok대량 분류·요약·간단 변환

세션 중 /model로 즉시 전환. CLAUDE.md에 기본값 명시 가능.

CLAUDE.md 템플릿 + 안전망 설정

한 번 적어두면 매 세션 자동 로드. 영구적인 지시·맥락 제공. 200줄 이내, 구체적으로, 검사 가능한 단어로.

위치별 스코프 4종

위치용도공유
C:\Program Files\ClaudeCode\CLAUDE.md조직 정책IT 배포
./CLAUDE.md프로젝트 공통git 팀 공유
~/.claude/CLAUDE.md개인 환경 전체본인 모든 프로젝트
./CLAUDE.local.md프로젝트 개인 설정본인 (gitignore)

오늘 실습은 ./CLAUDE.md 한 곳. 여러 위치에 동시에 두면 합쳐져 로드되며 가까운 위치가 우선.

페르소나별 5줄 템플릿 — 본인이 가까운 쪽을 골라 베끼기

A 시니어 실험 (신소재·표면처리)
# 신소재 표면처리 랩 규칙
- 모든 답변은 한국어로 한다.
- 인용 형식은 Vancouver. 출처 없는 인용은 절대 만들지 않는다.
- 표면처리 결과는 시료명·조건·n·평균±SD 표로.
- 단위는 SI. 길이는 nm/μm 명시.
- 그림 캡션은 "Fig N. 제목 (재료, 조건, n)" 양식.
B 시뮬레이션 (계산화학·MD)
# MD 시뮬레이션 분석 규칙
- 답변 언어는 한국어. 코드 주석은 영어.
- 분석 코드는 R(tidyverse) 또는 Python(numpy/pandas) 우선.
- 그림은 ggplot2 + viridis. 600dpi PNG로 저장.
- 데이터 폴더(`./raw/**`)는 절대 수정하지 않는다.
- 모든 분석 결과는 `./analysis/` 아래에 스크립트로 보존.
C 박후 (환경공학·미세플라스틱)
# 박사후 연구 노트 규칙
- 답변은 한국어. 영어 메일·논문 영문 수정 요청 시에만 영어.
- R 코드 디버깅 시 한 번에 한 가지만 고친다.
- 프로포절 글은 친절한 학자 어조. 과장 금지.
- 인용·수치는 사람이 검수해야 함을 매번 알려준다.
- 미발표 데이터는 외부 도메인으로 보내지 않는다.
D 정책 행정 (R&D 기획)
# 정책 기획 보고서 규칙
- 답변은 한국어. 보고서 톤은 정중·간결.
- 표는 마크다운으로. 숫자는 천 단위 콤마.
- 회의록 합칠 때 일자별 정렬.
- 인사·예산·기술 카테고리로 분류.
- 기관 비공개 자료는 외부로 가지 않게 표시(파일 상단에 "비공개").

안전망 1 — 플랜 모드

안전망 2 — settings.json deny 1줄

JSON은 반드시 single-quote here-string(@'...'@)으로. 큰따옴표가 PowerShell 변수 확장과 충돌하지 않도록.

PS> New-Item -ItemType Directory -Path .claude -Force
PS> @'
{
  "permissions": {
    "allow": ["Bash(git status)", "Bash(Rscript *)", "Read(./data/**)"],
    "ask":   ["Bash(git push *)"],
    "deny":  ["Bash(Remove-Item *)", "Read(~/.ssh/**)"]
  }
}
'@ | Out-File -Encoding UTF8 .claude\settings.json

평가 순서. deny → ask → allow. deny가 최우선. 경로는 gitignore 형식. Windows 경로는 POSIX로 정규화 (C:\/c/).

실습 체크리스트 — 한 줄씩 체크

실습 1·2·3은 전원 공통. 실습 4는 본인 페르소나에 가까운 분기 1개를 끝까지.

실습 1. PowerShell + claude 첫 응답 (15분)

실습 2. CLAUDE.md 5줄 (15분, 실습 8분)

실습 3. 플랜 모드 + deny 1줄 (15분, 실습 8분)

실습 4. 페르소나 분기 (25분, 1개 선택)

분기요약산출물추천 페르소나
4a논문 1편을 5섹션 표 요약 + 인용 검수 안내 1줄summary.mdA 시니어, C 박후
4bCSV 결측·이상치 보고서. 원본은 deny로 보호analysis\cleaning-report.mdA 시니어, B 시뮬
4c한글 회의록 3개 → 카테고리 분류 주간 보고서weekly-report.mdD 정책 행정
4d망가진 R/Python 스크립트 — 한 번에 한 가지 디버깅fix-notes.md + 수정본B 시뮬, C 박후

공통 4단계. (1) 분기 폴더 + CLAUDE.md → (2) /plan으로 계획 → (3) 승인 후 acceptEdits → (4) 결과 직접 검증.

마지막 자기 점검 (강의 종료 직전)

PowerShell 함정 + 자주 막히는 곳

강의실에서 손드는 빈도 높은 순. 이 한 페이지가 가장 많이 본인을 살린다.

자주 막히는 PowerShell 함정 (가져갈 자산)

함정안전한 패턴
한글 노트가 Out-File로 깨짐-Encoding UTF8 명시. 5.1은 $PSDefaultParameterValues['Out-File:Encoding']='utf8' 1회 설정
JSON 파일에서 변수가 확장됨@'...'@ (single-quote here-string) 사용. 큰따옴표는 변수 확장
here-string 종료 오류"@ 또는 '@ 줄 첫 글자로. 들여쓰기 금지
한글 디렉터리 경로 인코딩 오류작업 폴더는 C:\work\... ASCII. 한글은 콘텐츠에만
claude 명령 인식 안 됨새 PowerShell 창. PATH 반영 후 재시도. 그래도 안 되면 Git for Windows 설치 확인
Shift+Tab 두 번이 안 먹힘/plan <지시> 단발성으로 대체
.claude\settings.json 미적용Get-Content .claude\settings.json | ConvertFrom-Json로 JSON 검증. 오류나면 수정
alias lsGet-ChildItem 혼용 혼란한 시나리오 안에서는 한 가지로 통일 (본 가이드는 Get-ChildItem)
R 스크립트 here-string에서 $pH 변수로 확장백틱 이스케이프 (df`$pH) 또는 single-quote here-string
.claude 폴더가 탐색기에서 안 보임Get-ChildItem -Force 또는 탐색기 "숨김 항목 표시" 켜기

증상별 빠른 처방 (시나리오 1~3 통합)

증상원인처방
'claude' 용어가 인식되지 않습니다PATH 미반영새 PowerShell 창. Git for Windows 설치 확인
로그인 화면이 안 뜸브라우저 차단·사내 정책강사·TA에게 손. 사내 키 환경변수 또는 Bedrock 라우팅 안내
한글이 ?로 출력콘솔 인코딩 CP949chcp 65001 + Windows Terminal 사용
Get-Content CLAUDE.md가 깨짐5.1 BOM 또는 CP949 저장-Encoding UTF8 재생성. 또는 VS Code로 UTF-8 저장
Claude가 CLAUDE.md를 무시이전 세션 컨텍스트 살아있음/exit 후 새 세션. 또는 /memory로 로드 여부 확인
플랜 모드 진입 안 됨일부 터미널 키 캡처 이슈/plan <지시> 단발성 명령
플랜 모드인데 바로 변경 시도모드 표시 미확인화면 하단 모드 표시 plan 확인. 안 되면 /plan
Claude가 raw 파일 수정 시도settings.json 미적용/permissions로 현재 규칙 확인

5분 룰

혼자 5분 이상 안 풀리면 무조건 손 들기

혼자 푸는 게 미덕이 아닙니다. 손 들면 보통 1분 안에 해결됩니다. 짝꿍 → TA → 강사 순으로. 그래도 안 풀리면 PowerShell 오류 메시지 전체를 그대로 Claude에게 복붙해 물어봅니다. 이 메타 팁이 가장 빠른 해결법입니다.

망분리·인터넷 차단 환경 폴백

안 쓸 이유의 80%는 여기에

환각·재현성·데이터 학습·망분리 — 정직하게 다룬 네 가지 우려와 구체 완화책.

네 가지 우려에 대한 답변지

1. 환각 — 인용·수치는 사람이 검수

2. 재현성 — 코드를 보존

3. 데이터 학습 — API/사내 라우팅

4. 망분리·강제 차단

한 줄 요약

우려는 권한·플랜·코드 보존·라우팅 네 가지로 답합니다. "그냥 검토하면 돼요"가 아니라 구체적 완화책으로.

다음 1주 액션 카드

1내일 (10분)
  • 본인 폴더에서 claude 한 번 더
  • 오늘 만든 CLAUDE.md 1줄 추가
2이번 주 (1시간)
  • 다른 분기 시나리오 1개 더
  • 본인 슬래시 커맨드 1개 만들기
3다음 주 (1~2시간)
  • 스킬 1개 정의 → 동료와 공유
  • 망분리 환경에서 1개 워크플로우 정착

더 깊이 — 추가 학습 자료

자료URL
Claude Code 공식 개요code.claude.com/docs/en/overview
What's new (주간 디제스트)code.claude.com/docs/en/whats-new
Best practicescode.claude.com/docs/en/best-practices
Memory (CLAUDE.md)code.claude.com/docs/en/memory
Skillscode.claude.com/docs/en/skills
Subagentscode.claude.com/docs/en/sub-agents
MCPcode.claude.com/docs/en/mcp
Permission modescode.claude.com/docs/en/permission-modes
Commands referencecode.claude.com/docs/en/commands
Anthropic 사례 (PDF)"How Anthropic teams use Claude Code"
연구자 시각Patrick Mineault — "Claude Code for Scientists"

오늘의 마지막 5문장 (자기 점검)

  1. PowerShell에서 claude를 실행해 봤다
  2. 본인 폴더에 CLAUDE.md 5~10줄이 생겼다
  3. 플랜 모드를 켜 봤고 deny 1줄을 넣어 봤다
  4. 본인 시나리오 산출물 1개가 생겼다
  5. 보안 완화책 1개를 골라 두었다

오늘 함께한 분 모두 동료입니다. 내일 한 분이라도 1개를 시도하시면 강의는 성공입니다.
황민호 수석 · 카카오 AI Studio · Forward Deployed Engineer · 2026-04-28