KIST 연구원을 위한 2시간 입문 워크숍 — 학습자 핸드아웃
PowerShell에서 claude 한 번 — 내 폴더에 산출물 1개 — 내일 출근해서 다시 시도.
오늘은 그 한 번을 손에 쥐고 가는 두 시간입니다.
두 시간 후 내 폴더에 남는 것 세 가지
claude 실행, 한국어 5줄 응답summary.md / cleaning-report.md / weekly-report.md / fix-notes.md 중 1개| 시간 | 블록 | 분량 | 형식 |
|---|---|---|---|
| 00:00~00:07 | 도입 — 약속 3개·환경 점검 | 7분 | 강의 + 토론 |
| 00:07~00:15 | Show 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&A | 10분 | 토론 + Q&A |
강의실에서·내일·이번 주 — 손이 가장 먼저 가야 할 명령들. A4 한 장으로 압축.
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 실행. 첫 실행 시 브라우저 로그인.
PS> chcp 65001
PS> $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
PS> [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
PowerShell 5.1 기본 인코딩이 UTF-16LE이므로 위 1회 설정 없이는 한글 파일이 깨지기 쉽다.
| 명령 | 역할 |
|---|---|
/help | 사용법 안내 |
/init | 현재 폴더 분석 후 CLAUDE.md 자동 생성 |
/memory | CLAUDE.md·auto memory 조회·편집 |
/plan <지시> | 변경 전 계획만 받기 (단발성) |
/permissions | 현재 권한 규칙 표시·편집 |
/agents | 서브에이전트 관리 |
/mcp | MCP 서버 상태 확인 |
/model | 모델 전환 (Opus 4.7 / Sonnet 4.6 / Haiku 4.5) |
/effort low|medium|high|xhigh|max | 사고 깊이 조절 |
/clear | 컨텍스트 초기화 (시스템 프롬프트만 남김) |
/compact | 대화 요약·압축 |
/resume <name> | 이전 세션 재개 |
/exit | 세션 종료 |
| 모드 | 자동 실행 범위 | 언제 |
|---|---|---|
default | 읽기만 | 시작·민감 작업 |
acceptEdits | 읽기 + 편집 + 일반 fs (mkdir/touch/mv 등) | 코드 검토하며 반복 |
plan | 읽기만 (편집 X) | 변경 전 계획 수립 |
auto | 모두 + 분류기 안전 검사 | 긴 작업 (research preview) |
dontAsk | 사전 승인된 도구만 | 잠긴 CI |
bypassPermissions | 거의 모두 | 격리 환경 외 절대 금지 |
--dangerously-skip-permissions 또는 bypassPermissions는 격리된 컨테이너·VM 외에서 절대 사용하지 않습니다. 데이터·자격 증명·시스템 설정이 통째로 위험에 노출됩니다.
| 모델 | 컨텍스트 | 언제 |
|---|---|---|
| Opus 4.7 | 1M 토큰 · 5/25 $/MTok | 가장 어려운 분석·다중 파일 변경 |
| Sonnet 4.6 | 1M 토큰 · 3/15 $/MTok | 일상 코딩·문서·리팩토링 |
| Haiku 4.5 | 200K 토큰 · 1/5 $/MTok | 대량 분류·요약·간단 변환 |
세션 중 /model로 즉시 전환. CLAUDE.md에 기본값 명시 가능.
한 번 적어두면 매 세션 자동 로드. 영구적인 지시·맥락 제공. 200줄 이내, 구체적으로, 검사 가능한 단어로.
| 위치 | 용도 | 공유 |
|---|---|---|
C:\Program Files\ClaudeCode\CLAUDE.md | 조직 정책 | IT 배포 |
./CLAUDE.md | 프로젝트 공통 | git 팀 공유 |
~/.claude/CLAUDE.md | 개인 환경 전체 | 본인 모든 프로젝트 |
./CLAUDE.local.md | 프로젝트 개인 설정 | 본인 (gitignore) |
오늘 실습은 ./CLAUDE.md 한 곳. 여러 위치에 동시에 두면 합쳐져 로드되며 가까운 위치가 우선.
# 신소재 표면처리 랩 규칙
- 모든 답변은 한국어로 한다.
- 인용 형식은 Vancouver. 출처 없는 인용은 절대 만들지 않는다.
- 표면처리 결과는 시료명·조건·n·평균±SD 표로.
- 단위는 SI. 길이는 nm/μm 명시.
- 그림 캡션은 "Fig N. 제목 (재료, 조건, n)" 양식.
# MD 시뮬레이션 분석 규칙
- 답변 언어는 한국어. 코드 주석은 영어.
- 분석 코드는 R(tidyverse) 또는 Python(numpy/pandas) 우선.
- 그림은 ggplot2 + viridis. 600dpi PNG로 저장.
- 데이터 폴더(`./raw/**`)는 절대 수정하지 않는다.
- 모든 분석 결과는 `./analysis/` 아래에 스크립트로 보존.
# 박사후 연구 노트 규칙
- 답변은 한국어. 영어 메일·논문 영문 수정 요청 시에만 영어.
- R 코드 디버깅 시 한 번에 한 가지만 고친다.
- 프로포절 글은 친절한 학자 어조. 과장 금지.
- 인용·수치는 사람이 검수해야 함을 매번 알려준다.
- 미발표 데이터는 외부 도메인으로 보내지 않는다.
# 정책 기획 보고서 규칙
- 답변은 한국어. 보고서 톤은 정중·간결.
- 표는 마크다운으로. 숫자는 천 단위 콤마.
- 회의록 합칠 때 일자별 정렬.
- 인사·예산·기술 카테고리로 분류.
- 기관 비공개 자료는 외부로 가지 않게 표시(파일 상단에 "비공개").
/plan "이 폴더 정리해줘"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개를 끝까지.
chcp 65001 + ASCII 작업 폴더 생성 + 폴더 이동claude --version이 한 줄로 버전 응답claude 실행 → 메인 프롬프트 진입 (또는 브라우저 로그인 완료)/exit로 세션 종료Get-Content CLAUDE.md로 5줄이 한글로 보이는지 확인.claude 폴더 생성 (New-Item -ItemType Directory -Path .claude -Force).claude\settings.json에 Bash(Remove-Item *) deny 1줄 작성 — JSON은 single-quote here-stringGet-Content .claude\settings.json으로 JSON 5줄 확인claude 실행 → /plan "이 폴더의 모든 노트를 합쳐서 weekly-summary.md로 만들어줘"| 분기 | 요약 | 산출물 | 추천 페르소나 |
|---|---|---|---|
| 4a | 논문 1편을 5섹션 표 요약 + 인용 검수 안내 1줄 | summary.md | A 시니어, C 박후 |
| 4b | CSV 결측·이상치 보고서. 원본은 deny로 보호 | analysis\cleaning-report.md | A 시니어, B 시뮬 |
| 4c | 한글 회의록 3개 → 카테고리 분류 주간 보고서 | weekly-report.md | D 정책 행정 |
| 4d | 망가진 R/Python 스크립트 — 한 번에 한 가지 디버깅 | fix-notes.md + 수정본 | B 시뮬, C 박후 |
공통 4단계. (1) 분기 폴더 + CLAUDE.md → (2) /plan으로 계획 → (3) 승인 후 acceptEdits → (4) 결과 직접 검증.
/plan으로 계획 받기 → 승인claude 첫 응답을 받았다 — LO-1C:\work\kist-lab\demo01\CLAUDE.md 5~10줄을 만들었다 — LO-2.claude\settings.json에 deny 1줄을 넣었다 — LO-3강의실에서 손드는 빈도 높은 순. 이 한 페이지가 가장 많이 본인을 살린다.
| 함정 | 안전한 패턴 |
|---|---|
한글 노트가 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 ls와 Get-ChildItem 혼용 혼란 | 한 시나리오 안에서는 한 가지로 통일 (본 가이드는 Get-ChildItem) |
R 스크립트 here-string에서 $pH가 변수로 확장 | 백틱 이스케이프 (df`$pH) 또는 single-quote here-string |
.claude 폴더가 탐색기에서 안 보임 | Get-ChildItem -Force 또는 탐색기 "숨김 항목 표시" 켜기 |
| 증상 | 원인 | 처방 |
|---|---|---|
'claude' 용어가 인식되지 않습니다 | PATH 미반영 | 새 PowerShell 창. Git for Windows 설치 확인 |
| 로그인 화면이 안 뜸 | 브라우저 차단·사내 정책 | 강사·TA에게 손. 사내 키 환경변수 또는 Bedrock 라우팅 안내 |
한글이 ?로 출력 | 콘솔 인코딩 CP949 | chcp 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로 현재 규칙 확인 |
혼자 푸는 게 미덕이 아닙니다. 손 들면 보통 1분 안에 해결됩니다. 짝꿍 → TA → 강사 순으로. 그래도 안 풀리면 PowerShell 오류 메시지 전체를 그대로 Claude에게 복붙해 물어봅니다. 이 메타 팁이 가장 빠른 해결법입니다.
claude 자체 로그인·API 호출은 외부 도메인 필요. 차단 시 강사가 사내 API 키 또는 Bedrock·Foundry·Vertex 라우팅 사전 안내환각·재현성·데이터 학습·망분리 — 정직하게 다룬 네 가지 우려와 구체 완화책.
(file:line) 인용 강제 스킬 활용permissions.deny로 위험 명령 강제 차단 (실습 3에서 했던 그것)우려는 권한·플랜·코드 보존·라우팅 네 가지로 답합니다. "그냥 검토하면 돼요"가 아니라 구체적 완화책으로.
claude 한 번 더| 자료 | URL |
|---|---|
| Claude Code 공식 개요 | code.claude.com/docs/en/overview |
| What's new (주간 디제스트) | code.claude.com/docs/en/whats-new |
| Best practices | code.claude.com/docs/en/best-practices |
| Memory (CLAUDE.md) | code.claude.com/docs/en/memory |
| Skills | code.claude.com/docs/en/skills |
| Subagents | code.claude.com/docs/en/sub-agents |
| MCP | code.claude.com/docs/en/mcp |
| Permission modes | code.claude.com/docs/en/permission-modes |
| Commands reference | code.claude.com/docs/en/commands |
| Anthropic 사례 (PDF) | "How Anthropic teams use Claude Code" |
| 연구자 시각 | Patrick Mineault — "Claude Code for Scientists" |
claude를 실행해 봤다
오늘 함께한 분 모두 동료입니다. 내일 한 분이라도 1개를 시도하시면 강의는 성공입니다.
황민호 수석 · 카카오 AI Studio · Forward Deployed Engineer · 2026-04-28