Claude Code 실무 활용 v2

KIST 연구원을 위한 2시간 워크숍 · Basic + Advanced

황민호 수석

Forward Deployed Engineer

2026-04-29 · 22개 기능

오늘의 약속 세 가지

  • 자기 폴더에 산출물 한 개를 들고 돌아가도록 끌고 갑니다
  • 모든 명령은 Windows PowerShell 기준. 한글 경로는 피하고 ASCII로
  • 모르는 게 떠오르면 바로 손을 들어 주세요

자리는 강의석이지만 톤은 동료의 시각입니다. 다양한 분야의 연구자 분들이 함께 들으시도록 분기를 준비했습니다.

강사 한 줄 소개

현장에 들어가서 이 도구로 진짜 일이 풀리는지 옆에서 같이 검증하는 게 제 일입니다.

— 황민호. Forward Deployed Engineer. 여러 팀의 Claude Code 도입 페어링.

Claude Code — 본인 폴더에서 직접 일하는 AI 동료

한 줄 정의. 터미널·IDE에서 실행되는 AI 코드 에이전트. 채팅창에 코드를 복붙하는 방식이 아니라, AI가 본인 폴더 안에서 파일을 직접 읽고 편집합니다.

  • 본인 환경 그대로. CLAUDE.md·git·실제 파일·폴더 구조를 그대로 컨텍스트로 사용
  • 터미널 + IDE 통합. PowerShell·VS Code·JetBrains 어디서나 한 명령으로 실행
  • 자동화 확장. Skills·Subagents·Hooks·MCP·Routines로 반복 작업 무인화

Claude 라인업 — Web · Desktop · Code 비교

Claude Web (claude.ai)

브라우저 채팅

  • 대화·요약·번역·아티팩트
  • 파일은 매번 업로드
  • 본인 폴더 직접 접근 불가

Claude Desktop App

데스크톱 앱 · Cowork

  • Mac·Windows 네이티브 앱
  • MCP로 외부 시스템 연결
  • 웹과 비슷한 UX, 일상·문서 중심

Claude Code

CLI · IDE 통합

  • 터미널·IDE에서 직접 실행
  • 본인 폴더의 파일을 읽고 편집
  • Skills·Hooks·Routines로 자동화

오늘 다루는 것은 가장 오른쪽 — 본인 폴더에서 직접 일하는 도구.

첫 시연

지금 화면. 회의록 3개 폴더에서 claude 한 번 실행. "이 회의록 3개 합쳐서 한 페이지 보고체로 요약해 줘. 한국어로."

행정·기획 일이 많은 분이 매주 한 시간씩 쓰는 작업입니다.

Basic 트랙 — 일상 도구 12가지

컨텍스트(CLAUDE.md) · 안전망(Plan·Permissions) · 반복 자동화(Skills·Subagents) · 세션 관리

  • 한 장에 한 개념. 12개 기능을 그림과 짧은 명령으로 50분에 압축
  • 다 외울 필요 없음. 본인 일상에 와닿는 1~2개만 머리에 담아 가면 충분
  • 여기까지가 일상. Advanced(자동화 본편)는 휴식 뒤에 욕심 있는 분만 깊게

도달 목표. 50분 후 본인 폴더에 CLAUDE.md 1개 · settings.json deny 1줄 · SKILL.md 1개를 가지고 휴식으로 갑니다.

BASIC 1/12

CLAUDE.md — 프로젝트의 시스템 프롬프트

  • 프로젝트 루트의 마크다운 한 파일. 매 세션 자동 로드
  • 4계층 cascade. managed(기관) → user(개인) → project(폴더) → local(개인 비공유)
  • @import로 다른 마크다운을 끼워 넣을 수 있어요 — 랩 공용 규칙도 한 줄로

강사 멘트. 이 한 파일이 매일 30분을 아낍니다. 매 세션 "이 폴더는 무슨 폴더야"를 다시 설명할 일이 없어요.

사용법

처음 만드는 CLAUDE.md — 명령 두 줄

PS C:\work\my-project> claude
> /init
> notepad CLAUDE.md
이 폴더에 CLAUDE.md를 만들어 줘. 답변은 한국어로, 원본 데이터 파일은 절대 건드리지 말고, 새로 만드는 파일은 _clean 접미사로. 본인 랩의 표기 규칙을 따르도록.
CLAUDE.md (5줄 예시)
# 본인 프로젝트
- 한국어로 답변
- 원본 데이터는 수정 금지, _clean 접미사로 새 파일
- 표는 마크다운 표로 출력
- 본인 랩의 표기 규칙 따르기

연구 시나리오

역할별 첫 CLAUDE.md 예시

실험 데이터

원본 보호

"원본 데이터 파일 잠그기 + 본인 랩 표기 규칙"

코드·시뮬레이션

코드 톤

"Python f-string + black 포맷 + 한국어 주석"

박사후·신진

영어→한국어

"R 코드는 그대로, 출력만 한국어"

정책·행정

보고체

"기관 보고체, 개조식, 줄당 50자 내"

실습

실습 본인 폴더에 CLAUDE.md 5줄

1. 본인 작업 폴더로 cd (한글 경로 피하기)

2. claude 실행 → /init

3. CLAUDE.md를 5~10줄로 정리. 역할 1줄 · 언어 1줄 · 출력 형식 1~2줄

4. 같은 프롬프트 두 번 — CLAUDE.md 적용 전 / 후 차이 메모

이 폴더의 역할과 출력 규칙을 정리한 CLAUDE.md를 5줄로 만들어 주세요. 한국어로 답변하고, 표는 되도록 마크다운 표로 보여 주세요.

BASIC 2/12

Auto Memory — 정정한 걸 다음에도 기억

Before

"그림 캡션 끝 마침표 빼" · 다음 세션에 또 마침표가 찍힘 → 또 정정 → 또 마침표

After

한 번 정정 → MEMORY.md에 자동 누적 → 다음 세션부터 마침표 없이 시작

강사 멘트. ChatGPT 메모리와 비슷하지만 내 디스크에 있는 마크다운 파일이라 직접 열어 보고 고치고 지울 수 있습니다.

사용법

Auto Memory 켜고 자연어로 정정 누적

PS C:\work> claude
> /memory                  # 토글 · 폴더 열기
> /memory off              # 일시 비활성
PS C:\work> $env:CLAUDE_CODE_DISABLE_AUTO_MEMORY=1   # 영구 비활성
앞으로 표는 항상 마크다운 표로 출력해 줘. 우리 랩 표기 규칙이야. 다음부터 그렇게 가 줘.
MEMORY.md 누적 결과
# Project Memory
- 표 출력은 마크다운 표 (본인 랩 표기 규칙)
- 원본 데이터 파일 수정 금지
- 답변은 한국어

시나리오 · 함정

Auto Memory 효과와 한 가지 주의

실험 그룹. "매일 같은 정정"이 자동으로 쌓임 → 한 달 뒤 본인 톤이 자동 적용

정책·행정. 보고체 톤(개조식·줄당 50자)이 쌓이면서, 매주 보고서 초안이 처음부터 본인 어투로 나옴

함정. 미공개 약어·내부 코드명이 누적될 수 있음. 민감 정정 직전 /memory off 또는 환경변수로 영구 비활성

BASIC 3/12

바꾸기 전에 계획만 받고, 내가 보고 승인한 뒤에 손대게 합니다.

— Plan Mode. 처음 쓰는 분의 절대 안전망. 환각 차단 1차 방어선.

사용법

Plan 모드 진입 — Shift+Tab 두 번

PS C:\work> claude --permission-mode plan
# 또는 세션 안에서
> /plan
# 또는 키보드
> (Shift+Tab 두 번)
이 보고서 12페이지를 8페이지로 줄여 줘. 어디를 어떻게 줄일지 먼저 계획만 보여 줘. 실행은 아직 하지 마.
Plan 응답 (요약)
  • 2장 배경을 0.5페이지로 (반복 정의 제거)
  • 4장 표 3개를 한 표로 통합
  • 6장 사례를 부록으로 이동
  • 승인 시 변경 적용

연구 시나리오

Plan 모드를 쓰는 순간

  • Reviewer 2 응답 — 본문에 손대기 전 구조부터 받기
  • R 코드 디버깅 — 처음 쓰는 분 — 어디를 고칠지부터 보고
  • 대용량 폴더 정리 — 200개 파일 이름 일괄 변경 전
  • 한글 인코딩 변환 — 깨질 가능성 있는 작업 전

제가 본 사례. 신입 엔지니어 첫 2주는 전부 Plan 모드 권장. 그 뒤에 default로 자연스럽게 넘어가게 합니다.

함정 · 팁

Plan 모드의 흔한 오해

읽기 명령은 실행됩니다. Plan 모드라도 Get-ChildItem · Get-Content 같은 읽기는 동작합니다. 변경(Remove·Set-Content 등)만 보류.

탈출. Shift+Tab 두 번 더 눌러 acceptEdits로 한 번에 적용. 또는 Plan 화면에서 "승인" 한 마디.

BASIC 4/12

권한 6단계 다이얼 — 일상은 두 개만

plan
default
acceptEdits
auto
dontAsk
bypass

강사 멘트. 일상은 default·acceptEdits 두 개만 알면 충분해요. bypass는 격리 환경 외에는 절대 금지.

사용법

settings.json·키보드·CLI — 세 가지 진입

PS C:\work> claude --permission-mode acceptEdits
# 또는 세션 안에서
> (Shift+Tab 한 번)
# 또는 settings.json에 영구
{ "defaultMode": "acceptEdits" }
내 .claude/settings.json을 만들어 줘. deny에 Bash(Remove-Item *)Read(~/.ssh/**), ask에 Bash(git push *), allow에 Bash(git status)·Bash(Rscript *)·Read(./data/**). defaultMode는 acceptEdits. JSON으로 통째로 출력해 줘.
결과 settings.json
{
  "defaultMode": "acceptEdits",
  "permissions": {
    "deny": ["Bash(Remove-Item *)","Read(~/.ssh/**)"],
    "ask":  ["Bash(git push *)"],
    "allow":["Bash(git status)","Bash(Rscript *)","Read(./data/**)"]
  }
}

자리별 진입점

역할별 권장 권한 모드

매일 작업하는 시니어

acceptEdits

변경은 자동, 터미널 명령은 묻기

헤드리스 자동화

dontAsk (야간만)

야간 잡 — Advanced에서 봅니다

처음 쓰는 분

plan

처음 1주 안전모드

보고서·계획서 중심

default

매번 확인 — 가장 안전

실습 · 함정

실습 settings.json에 deny 한 줄

1. .claude\settings.json 만들기 (없으면 생성)

2. deny에 본인이 가장 무서운 명령 1줄 추가 — 예. "Bash(Remove-Item -Recurse *)"

3. 그 명령을 일부러 시켜보고 차단되는지 확인

bypassPermissions·--dangerously-skip-permissions는 격리 환경 외 절대 금지. 본인 노트북에서는 쓰지 않습니다.

BASIC 5/12

Skills — 한 번 정의 · 매일 한 줄

1
SKILL.md 한 파일
/스킬-이름
매일 호출 한 줄
0
평상시 토큰 (description만 색인)

강사 멘트. 매 세션 시스템 프롬프트 복붙은 이제 그만. 한 번 정의한 절차를 /스킬-이름 한 줄로 부릅니다.

사용법

SKILL.md를 자연어로 만들기

PS C:\> mkdir ~/.claude/skills/pdf-요약
PS C:\> notepad ~/.claude/skills/pdf-요약/SKILL.md
# 그리고 호출
PS C:\work> claude
> /pdf-요약 ./이 문서.pdf
내 ~/.claude/skills/ 아래에 본인이 자주 하는 작업 이름으로 스킬을 만들어 줘. PDF 한 편을 인자로 받아서 (1) 한 문장 요약 (2) 5단락 한국어 요약 (3) 핵심 인용 5개(페이지 번호 포함) (4) 시사점 3개 순서로. allowed-tools는 Read, Grep만. paths는 **/*.pdf. shell은 powershell. SKILL.md 전체를 보여 줘.
SKILL.md 결과 (요지)
---
name: pdf-요약
description: PDF 한 편을 받아 한 문장+5단락+인용5+시사점3으로 요약
allowed-tools: [Read, Grep]
paths: ["**/*.pdf"]
shell: powershell
---
# 절차
1. PDF 읽기
2. 한 문장 요약
...

시나리오

역할별 SKILL.md 한 개 예시

/pdf-요약

매일

PDF 한 편 → 표 한 장

/표-그림

주 1회

CSV 결과 → 그림 + 요약

/en-edit

매일

한국어 단락 → 영어 + 변경 이유 표

/meeting-summary

주 1회

회의록 3개 → 한 페이지 보고체

실습

실습 5줄짜리 SKILL.md 만들기

1. ~/.claude/skills/요약/SKILL.md 만들기 (notepad)

2. 5줄로 — name · description · allowed-tools(Read만) · 본문 1문장

3. claude 실행 후 /요약 호출 → 작동 확인

이 폴더의 .md 파일을 모두 읽고 한 줄씩 요약해 주세요. 결과는 표로 보여 주세요.

BASIC 6/12

Subagents — 전문 분야 동료 한 명 더

  • 별도 컨텍스트에서 작업하고 요약만 메인 세션에 돌려줌 (메모리 격리)
  • .claude/agents/<name>.md YAML — name·description·tools·model·isolation
  • 통계 검토만 잘하는 동료 · 영문 첨삭만 잘하는 동료를 따로 둠

강사 멘트. 한 사람이 모든 걸 잘할 필요 없어요. 역할을 나누면 품질이 올라갑니다.

사용법

Subagent 정의 — frontmatter + initialPrompt

PS C:\work\my-project> mkdir .claude\agents
PS C:\work\my-project> notepad .claude\agents\deep-reviewer.md
# 호출
> @deep-reviewer 이 문서를 검토해 줘
.claude/agents/ 아래에 'deep-reviewer'를 정의해 줘. 역할은 까다로운 심사 위원 시각으로 통계 가정·표본 크기·인용 누락·논리 비약을 지적하는 거야. tools는 Read, Grep, Glob만, model은 opus, isolation은 worktree로. initialPrompt에 "이 폴더의 .md 초고를 찾아 검토 시작"을 적어 줘. 프론트매터+본문 통째로.
결과 (요지)
---
name: deep-reviewer
description: 까다로운 심사 위원 시각 검토
tools: [Read, Grep, Glob]
model: opus
isolation: worktree
initialPrompt: "이 폴더의 .md 초고를 찾아 검토 시작"
---
# 검토 4관점
- 통계 가정
- 표본 크기 ...

연구 시나리오

Subagent 활용 — 다관점 검토 4명

statistics-reviewer

통계 가정·표본

citation-checker

인용 누락·중복

logic-reviewer

논리 비약·반증

english-editor

영문 첨삭·논조

한 본문을 네 명에게 동시에 보내면 Reviewer 2 시뮬레이션이 됩니다. 논문을 자주 쓰시는 분의 핵심 활용처.

함정

Subagent 사용 시 흔한 실수 두 가지

1. tools 누락. 화이트리스트를 빠뜨리면 통계 에이전트가 파일까지 수정해 버립니다. 항상 명시.

2. isolation 누락. isolation: worktree 깜빡하면 메인 세션 오염 — 메모리·환경변수가 공유됩니다.

팁. 한 번 잘 만든 에이전트는 다른 프로젝트에서도 그대로 import. ~/.claude/agents/에 두면 user 계층으로 모든 프로젝트에서 쓸 수 있습니다.

BASIC 7/12

내가 만든 동료들의 관제 화면. 지금 누가 일하고 있고 누가 대기 중인지 한 화면에서 봅니다.

— /agents — Library 탭(정의된 목록)과 Running 탭(라이브 인스턴스)을 한 곳에서.

사용법

/agents 화면 — Library와 Running 탭

PS C:\proj> claude
> /agents             # 두 탭 토글
# Tab 키로 Library ↔ Running
code-reviewer 서브에이전트한테 이 폴더의 초고를 검토하라고 시켜 줘. 끝나면 결과만 메인 세션에 요약해 줘.
/agents 화면 (요지)
=== Library (5) ===
- statistics-reviewer
- citation-checker
- logic-reviewer
- english-editor
- code-reviewer        [running]

=== Running (1) ===
code-reviewer · 1m23s · 초고.md

시나리오

/agents에서 동시에 일하는 5명 보기

  • 논문 리뷰 — reviewer 다섯 명 인스턴스를 동시에 돌리고, 메인은 통합만
  • 코드 리뷰 — code-reviewer 두 인스턴스(Python 한 명, R 한 명)로 분리
  • "내 컴퓨터가 다섯 명 몫 일을 하고 있다"는 실감

팁. Running 탭에서 Esc로 특정 인스턴스만 멈출 수 있습니다.

BASIC 8/12

/compact · /clear — 컨텍스트 관리

컨텍스트가 차면

"세션이 점점 느려지고 답이 산만" — 한참 전 분석을 잊거나 헷갈림

/compact 한 마디

지금까지의 대화를 요약 압축, CLAUDE.md는 자동 재주입. 같은 세션을 그대로 이어감

강사 멘트. 긴 분석 세션의 필수기. /clear는 새 작업이면 초기화, /compact는 같은 작업 이어가기.

사용법

/clear와 /compact의 차이

> /compact      # 압축 (이어가기)
> /clear        # 초기화 (다른 일)
지금까지 분석 흐름을 5문장으로 요약하고 컨텍스트를 압축해 줘. 표·코드·이미지 경로는 그대로 남겨 두고.
결과 (요지)
요약 5문장
1. 본인 데이터에서 그룹 간 18% 차이
2. 핵심 변수의 안정 구간 식별
...
[컨텍스트 압축 완료 · 토큰 사용량 78% → 22%]

시나리오 · 함정

긴 세션에서 /compact 쓰는 시점

MD 시뮬레이션 그룹. LAMMPS 후처리 + 그림 + 보고서를 한 세션에서. 중간에 /compact 한 번.

함정. 압축 후에 세부 일부가 사라지기도 합니다. 직전에 "표 X, 그림 Y, 결론 Z는 그대로 남겨 줘" 한 줄을 적어 두세요.

BASIC 9/12

/usage — 영수증을 숫자로

$4.20
회의록 8개 합치기 1회
12.4k
오늘 토큰
3
활성 세션

강사 멘트. 비용이 부담스러우신 분의 "비싸면 어쩌지" 라는 우려를 숫자로 풀어 줍니다.

시나리오

/usage로 비용·세션 점검

> /usage
> /extra-usage    # 더 자세히 (세션·시간대별)
이번 주 /usage 결과를 표로 정리해 주고, 비용 많이 나간 세션 톱3이랑 그 이유를 같이 짚어 줘.
결과 (요지)
주간 톱3
1. PDF 5편 요약 · $2.10 · Read 토큰 비중 큼
2. 코드 디버깅 · $1.45 · 반복 실행
3. 회의록 합치기 · $0.85
권장. (1)에서 /pdf-요약 스킬로 절차화 → 30% 절감

BASIC 10/12

오전 세션을 오후에 이어 가기. 회의·실험으로 끊겨도 한 줄로 살려 냅니다.

— --continue · --resume · --fork-session — 세션의 기억을 살려 두고 분기.

사용법

세션 부활 — --continue·--resume·이름

PS C:\proj> claude --continue   # 직전 세션
PS C:\proj> claude --resume 2026-Q2-paper   # 이름으로
PS C:\proj> claude -n 2026-Q2-paper          # 새 세션 명명
PS C:\proj> claude --fork-session 2026-Q2-paper   # 분기
# Ctrl+A 를 누르면 모든 프로젝트의 세션 목록
오전에 시작한 논문 요약 세션 이어서 가 줘. 다음 단계는 표로 비교하는 부분이었어.
화면
이어서 — 마지막 컨텍스트 복구
"논문 5편 표로 비교, 각 핵심 5문장씩"
계속 진행할까요? (Y/n)

일상 시나리오

일과 흐름에 --resume 적용

  1. 오전. claude -n 분기-분석로 분석 시작 (본인이 정한 이름)
  2. 회의·점심으로 끊김 — Ctrl+C로 종료
  3. 점심 후. claude --resume 분기-분석로 같은 맥락에서 이어감
  4. 다른 결론을 시도하고 싶을 때. claude --fork-session으로 분기

BASIC 11/12 · 실험 기능

Agent Teams — 한 lead, 여러 동료

lead 에이전트 한 명이 teammate 여러 명을 띄우고 공유 task list로 협업합니다.

활성화. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 · 실험 기능 · 토큰 소비 큼

강사 멘트. Basic에서는 "있다는 것만". 욕심 있는 분은 휴식 뒤에 직접 켜 보세요.

사용법

Agent Teams 활성화와 호출

// .claude/settings.json
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}
내 논문 초고를 통계·인용·영문 reviewer 세 명이 동시에 검토하도록 팀 짜 줘. lead는 통합 보고만 맡고.
팀 응답
lead → spawn statistics-reviewer
     → spawn citation-checker
     → spawn english-editor
공유 task list. [3/3 완료]
통합 결과 ↓
- 통계. 2장 표본 크기 부족 ...
- 인용. 7개 누락 ...
- 영문. 도입부 hedging 과다 ...

시나리오 · 함정

Agent Teams 사용 전 주의

  • 논문을 쓰시는 분 — reviewer 다섯 명 팀(통계·인용·논리·영문·구조)
  • 토큰 소비 큼. /usage로 실시간 모니터링
  • 실패 시 — lead만 답하고 teammate가 멈춰 있을 수 있습니다. /agents에서 확인하세요

강사 멘트. 본격 도입은 본인 페이스로. Basic 트랙에서는 "이런 게 있구나" 정도면 충분합니다.

BASIC 12/12

.claude/rules/ — 필요할 때만 로드

  • CLAUDE.md를 토픽별로 쪼개서 .claude/rules/<topic>.md 마크다운 파일로 분리
  • 각 룰에 paths: 글롭 — 해당 파일이 작업에 들어올 때만 자동 로드
  • 토큰 절약 + 정확도 — raw 데이터를 만질 때만 무결성 룰이 떠 줌

강사 멘트. CLAUDE.md가 1000줄을 넘어가면 이쪽으로 옮기세요.

사용법

paths 글롭으로 룰 자동 로드

PS C:\work\my-project> mkdir .claude\rules
PS C:\work\my-project> notepad .claude\rules\data-files.md
이 .claude/rules/data-files.md 좀 짜 줘. data 폴더의 원본 파일은 절대 건드리지 말고, 새 파일은 _clean 접미사로. paths 글롭은 본인 원본 데이터 폴더로.
data-files.md (예시)
---
paths: ["data/원본/**"]
---
# 원본 데이터 무결성
- 원본 폴더의 파일은 절대 수정 금지
- 정제 결과는 _clean 접미사로 새 파일
- 헤더 변경 시 README에 한 줄 기록

시나리오

.claude/rules/ — 팀 작업 보호

여러 명이 같은 폴더에서 작업할 때. 누가 원본 데이터를 실수로 건드려도 룰이 자동으로 떠서 차단

제가 본 사례. 한 팀이 이 한 줄로 6개월간 데이터 사고 0건 유지

실습

실습 .claude/rules/ 룰 한 줄

1. .claude\rules\ 폴더 만들기

2. data.md에 paths 한 줄 + 룰 본문 3줄

3. 매칭 파일 만지면서 룰이 자동 로드되는지 확인

이 폴더에 .claude/rules/data.md를 만들어 주세요. data 폴더의 원본 파일은 수정 금지, 정제 결과는 _clean 접미사라는 규칙을 paths 글롭과 함께 적어 주세요.

Basic 트랙 마무리

12
기능 봤음
3
본인 폴더 산출물 — CLAUDE.md · deny · SKILL.md
7분
휴식. 줄이지 않습니다

다음. 휴식 뒤에 Advanced — 헤드리스 · 훅 · MCP · Routines 같은 자동화 본편 48분.

REST

휴식

휴식

트러블 있으시면 강사 자리로. 망분리·로그인 1대1.

RETURN

복귀 — Advanced 트랙 시작

Advanced 트랙 — 자동화 본편

자동화·헤드리스에 욕심 있으신 분 깊게. 다른 분들은 "있다는 것만" 모드로 편하게.

Advanced 트랙 — 자동화 10가지

헤드리스 · 훅 · MCP · 플러그인 · Routines · 다중에이전트 · /loop · /schedule · /effort · UX 보조

랩장 자리

두 개

/ultrareview · Plugins(랩 표준)

시뮬레이션 자리

전부

자동화 본편

처음 쓰는 분

두 개

/powerup · /effort

행정·정책 자리

세 개

Routines · MCP · /schedule

도달 목표. "내 파이프라인 어디에 끼워 넣을지"가 한두 개 보이면 성공.

ADV 1/10

셸 한 줄로 AI를 파이프라인에 끼우기. 야간 잡 후처리의 표준 패턴.

— claude -p (--print) · stdin 파이프 입력 + JSON 구조화 출력. CI·스크립트의 표준.

사용법

셸 파이프에 claude -p 한 줄 끼우기

PS C:\> Get-Content build-error.txt | claude -p "근본 원인 두 줄"
PS C:\> Get-Content data.csv | claude -p "표를 KIST 분기보고서 문체로" --output-format json --json-schema schema.json
PS C:\> claude -p "..." --max-budget-usd 1.00
내 PowerShell에서 실행할 한 줄 명령을 만들어 줘. 이 CSV를 stdin으로 claude -p에 흘려보내서 "헤더를 본인 표준 컬럼명으로 통일하고 결측은 NA로 표기한 깨끗한 CSV로 변환"하도록 시키고, 결과를 data\clean.csv로 저장. --max-budget-usd 1.00 캡도. 한 줄로.
결과 한 줄
Get-Content data\input.csv | claude -p "헤더를 표준 컬럼명으로 통일·결측 NA·CSV로 출력" --max-budget-usd 1.00 | Set-Content data\clean.csv

연구 시나리오

헤드리스 활용 — CI·일괄 변환

  • 시뮬레이션 자리. 야간 LAMMPS 잡 끝나면 후처리 한 줄로 — 아침에 정제 CSV가 와 있음
  • 행정·정책 자리. 매주 표 → 보고체 두 단락 변환을 한 줄로
  • --output-format json + 스키마 — 결과를 다음 단계 스크립트가 그대로 받음
  • CI 통합. GitHub Actions·GitLab CI에 한 줄로 끼워 넣을 수 있어요

실습 · 함정

실습 claude -p 한 줄로 CSV 변환

1. 본인 폴더의 CSV 1개 — 또는 강사 제공 샘플

2. Get-Content sample.csv | claude -p "표를 KIST 분기보고서 문체로 두 단락 요약"

3. --max-budget-usd 1.00 캡 추가

함정. --max-budget 빠뜨리면 야간 잡에서 비용이 폭주합니다. 한글 인코딩은 PowerShell 7+의 UTF-8을 확인한 뒤에 진행하세요.

ADV 2/10

Hooks — 라이프사이클에 핸들러

PreToolUse
도구 실행
PostToolUse
Notification

강사 멘트. 30+ 라이프사이클 이벤트에 본인 핸들러를 붙입니다. 이 명령은 차단 · 이 변경 뒤에는 자동 포맷 · 이 응답 끝나면 알림.

사용법

Hooks 등록 — settings.json 한 블록

// .claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash(Remove-Item *)",
        "command": "powershell -c \"exit 2\""
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Edit",
        "command": "prettier --write {file}"
      }
    ]
  }
}
settings.json에 PowerShell Remove-Item * 명령을 PreToolUse에서 막는 hook 하나 넣어 줘. exit 2로 차단.
동작
> rm -rf *
[hook 차단됨 · exit 2]
사용자 확인 필요. 진짜 진행할까요?
(취소)

연구 시나리오

자주 쓰이는 Hook 패턴

  • 시뮬레이션 자리. PostToolUse Edit → black 자동 포맷 + git commit
  • 행정·정책 자리. 응답이 끝나면 데스크톱 알림(toast)
  • 모두. 원본 데이터 수정 명령은 PreToolUse에서 차단 → 데이터 무결성
  • 학생 코드 자동 로깅. 모든 Edit를 jsonl 로그로 누적

함정

Hooks 사용 시 두 가지 치명적 함정

1. 무한 루프. PostToolUse가 같은 도구를 다시 호출하면 안 됩니다. 트리거 보호 한 줄을 꼭 넣으세요.

2. 보안 누수. hook 안에서 외부 호출(curl 등)은 기관 정책 검토 필수. allowManagedHooksOnly=true로 화이트리스트.

여기까지가 Advanced. 실제 운영 도입 전에는 기관 정책 협의 권장.

ADV 3/10

MCP — 외부 시스템과 한 채팅

Claude Code
↓ MCP
기관 위키 · 메신저 · 드라이브 · LIMS · DB

강사 멘트. 오픈 표준으로 외부 시스템과 연결합니다. 기관 시스템도 직접 어댑터를 짤 수 있어요.

사용법

MCP 서버 한 줄 등록

PS C:\proj> claude mcp add github --transport http --scope project --env GITHUB_TOKEN=$env:GH_TOKEN -- https://api.github.com/mcp
PS C:\proj> claude mcp list
PS C:\proj> claude
> /mcp           # 상태 확인
기관 위키에서 본인이 자주 보는 페이지를 가져와서 5줄로 요약해 줘. 그 요약을 기관 채널에 바로 올려 줘.
결과 흐름
1. wiki MCP → 페이지 fetch
2. summarize · 5줄
3. slack MCP → 채널 post
완료. 메시지 ts: 1719...

연구 시나리오

역할별 MCP 한 개 예시

BibTeX

매일

기관 논문 DB MCP — 인용 자동 정리

LIMS · 슈퍼컴

매일

큐 상태 + 실험 메타 자동

Drive

주 1회

학회 슬라이드 폴더 한 채팅에서

위키 · Slack

매주

회의록 5개 → 한 페이지 → 부서장 슬랙

함정

MCP 사용 전 보안 검토

망분리 환경. 외부 MCP 서버 호출 가능 여부를 기관 정책으로 먼저 확인하세요.

화이트리스트. allowedMcpServers · allowManagedMcpServersOnly로 기관 승인 서버만 허용.

인증. OAuth 토큰은 환경변수로. settings.json에 평문으로 적는 것은 절대 금지.

ADV 4/10

랩 표준을 학생 다섯 명에게 한 줄 명령으로 배포합니다.

— Plugins. 스킬·서브에이전트·훅·MCP·LSP를 한 패키지로. plugin.json + 마켓플레이스.

사용법

Plugin 명령 — install·validate·tag

PS C:\> claude plugin install my-lab@private-marketplace
PS C:\> claude plugin list
PS C:\> claude plugin validate
PS C:\> claude plugin tag my-lab@2026.04
PS C:\> claude plugin prune     # 안 쓰는 플러그인 정리
내 ~/.claude/skills/ 랑 ~/.claude/agents/를 묶어서 'my-lab' 플러그인의 plugin.json 짜 줘. 버전은 2026.04로.
plugin.json (요지)
{
  "name": "my-lab",
  "version": "2026.04",
  "skills":   ["pdf-요약","meeting-summary"],
  "agents":   ["statistics-reviewer","english-editor"],
  "hooks":    [".claude/hooks/raw-protect.json"],
  "mcp":      [".mcp.json"]
}

연구 시나리오

본인 표준을 Plugin 한 묶음으로

  • 팀장 자리. 본인 환경 → 플러그인 → 팀원에게 한 줄 install
  • 온보딩. 신규 합류자 첫날 — claude plugin install my-lab 한 줄로 동일한 환경
  • 업데이트. tag 한 번이면 모든 팀원 환경이 동기화
  • 기관 마켓플레이스. private git repo로 운영. 외부 노출 0

함정

Plugin 사용 시 이름 충돌과 보안

이름 충돌. 본인 스킬 요약이랑 다른 플러그인 요약이 겹치면 : 네임스페이스로 — /my-lab:요약

보안. 기관 마켓플레이스는 private repo로 가는 걸 권장. 외부 공개 시 보안 검토 필수

ADV 5/10

Routines — 노트북이 꺼져도

Anthropic 클라우드에서 영구로 도는 작업.

스케줄 + API endpoint + GitHub 트리거 — 셋의 조합.

사용법

Routines 등록 — /schedule 한 줄

> /schedule weekdays 8am, 어제 부처 보도자료 5개 요약하고 위키에 게시
> /schedule list
> /schedule update [id] [새 자연어]
/schedule을 써서 매주 월요일 오전 8시에 도는 routine을 등록해 줘. (1) 지난주 부처 보도자료 5건을 기관 위키에서 찾아 (2) 각 1줄 + 우리 부서 시사점 1줄로 요약하고 (3) 결과를 기관 위키 '주간동향' 페이지에 새 항목으로 추가. 노트북이 꺼져 있어도 돌아야 해.
결과
등록됨. routine_id: rtn_4f8a...
다음 실행. 2026-05-04(월) 08:00 KST
연결. wiki MCP · scope cloud
환경변수. WIKI_TOKEN (검증 OK)

트리거

Routines 트리거 — 세 가지 방법

cron

"매주 월 9시" — 자연어 → 크론

API endpoint

전용 토큰으로 외부 시스템에서 직접 호출

GitHub event

pull_request.opened 등 GitHub 이벤트로 깨움

셋을 조합할 수 있어요 — 매주 + PR open 시 + 외부 알림 시.

시나리오

역할별 Routines 시나리오

매주 월 9시

부처 보도자료 → 부서 시사점 → 위키

매일 8시

어제 회의록 통합 보고체

GitHub PR

pull_request.opened → reviewer 자동 추가

야간 큐 종료

슈퍼컴 큐 끝 → API 트리거 → 후처리

함정 · 실습

선택 실습 Routine 한 개 등록

네트워크. 클라우드에서 도는 작업이라 기관 시스템 접근에는 별도 토큰·VPN 설정이 필요해요

비용. 영구로 도니까 비용이 누적됩니다. --max-budget-usd 캡이나 routine 종료일을 설정하세요

망분리. 외부 클라우드가 정책상 막히면 폴백 — 본인 노트북의 /loop

선택 실습 — 작은 routine 한 개 등록 (망분리 환경이면 강사 시연만 보고 통과).

ADV 6/10

/ultrareview · /ultraplan — 다중 병렬 검토

  • 클라우드에서 여러 서브에이전트가 병렬로 PR 리뷰 또는 큰 계획을 짭니다
  • 브라우저 검토 화면 — 여러 관점을 한 화면에서 비교
  • Reviewer 2 시뮬레이션. 의도적으로 관점 분산

강사 멘트. Subagents의 클라우드 자동화 버전. 본인이 에이전트 정의를 직접 짜지 않아도 돼요.

사용법

/ultrareview와 /ultraplan의 차이

> /ultrareview               # 현재 변경 다관점 검토
> /ultrareview 142            # PR #142 검토
> /ultraplan <지시>        # 큰 계획 다관점 수립
/ultraplan 본인 프로젝트의 다음 단계 작업을 단계별 계획으로 짜 줘. 보안·테스트·롤백 세 관점에서.
브라우저 화면 (요지)
3관점 병렬 진행 중...
[보안] 토큰 저장·갱신 ...
[테스트] 통합 테스트 셋 ...
[롤백] 이전 버전 복귀 절차 ...
통합 단계 표 ↓

시나리오

다관점 검토 활용 사례

  • 논문 자리. 논문 초고를 통계·인용·논리·영문 네 관점으로 자동 검토 — Reviewer 2 시뮬레이션
  • 코드 자리. PR 리뷰 자동 — 보안·성능·테스트 세 관점
  • 회수율. 본 게재 후 reviewer 코멘트 절반이 미리 잡힘 (제가 본 사례)

함정

/ultra* 의 클라우드 의존 주의

망분리에서는 동작하지 않습니다. 폴백 — Subagents 직접 정의 + 메인 세션에서 병렬 호출

토큰 소비 큼. 에이전트 N명 × 본문 = 비용이 빠르게 쌓입니다. /usage로 모니터링

ADV 7/10

한 프롬프트를 인터벌마다 반복. 큐 폴링 · CI 감시의 표준.

— /loop. fixed · dynamic · maintenance 3모드. 7일 자동 만료.

사용법

/loop의 세 가지 사용 모드

> /loop 5m queue 상태 확인하고 끝났으면 알려 줘
> /loop queue 상태 확인          # dynamic — Claude가 인터벌 결정
> /loop maintenance              # 주기적 유지 점검 모드
# 종료
> (Esc 두 번)
/loop 10m queue 상태 확인해 주고, 끝났으면 후처리 시작해 줘. 다 되면 내가 Esc로 멈출게.
동작
[loop · 5m] queue 확인 ...
대기 중. 다음 5m 후
[loop · 5m] queue 끝남 → 후처리 시작
완료. loop 자동 종료

시나리오

/loop이 적합한 폴링 작업

  • 시뮬레이션 자리. LAMMPS 큐 종료 감시 — 끝나면 후처리 자동 시작
  • 박사후·신진. 새 논문 알림 메일 폴링 — 오면 요약하고 노트에 남김
  • 모두. CI 감시 — 빌드 끝나면 결과 요약

함정

/loop의 인터벌 한도

50회 도달. 자동 종료. 더 길게 가야 하면 routine으로 옮기세요

Esc 두 번. 진행 중인 발화 전에 중단

dynamic. Claude가 적절한 인터벌을 스스로 정함 — 변화가 빠르면 짧게, 안정되면 길게

ADV 8/10

"매주 월요일 9시" 한 마디면 끝. 자연어로 cron 등록.

— /schedule. Routines와 통합. 최소 1시간 인터벌.

사용법

/schedule 명령 — list·update·delete

> /schedule daily PR review at 9am
> /schedule list
> /schedule update rtn_xxx [새 자연어]
> /schedule delete rtn_xxx
/schedule 매주 금요일 오후 5시에 이번 주 commit 5개 요약해서 README에 붙여 줘.
결과
등록됨. rtn_8c2b...
실행. 매주 금 17:00 KST
다음 — 2026-05-08(금) 17:00

시나리오 · 함정

/schedule 한 줄로 등록

  • 행정·정책 자리. 매일 8시 부처 보도자료 요약 → 위키
  • 코드·논문 자리. 매주 금 17시 commit 요약 → README
  • 최소 1시간. 더 잦은 폴링은 /loop로 가세요
  • Routines 통합. 같은 routine — /schedule list에 모두 표시됨

ADV 9/10

/effort — 추론 강도 다이얼

low
단순 변환 — 빠르게
medium
기본
xhigh
Reviewer 반박 — 깊게 (Opus만)

강사 멘트. 5단계 — low/medium/high/xhigh/max. 단순 작업은 low, 복잡한 추론은 xhigh.

사용법

/effort 진입 — 세 가지 방법

> /effort               # 슬라이더 UI
> /effort xhigh         # 직접 지정
PS C:\> claude --effort high
# 스킬 프론트매터에서 강제
---
effort: high
---
이건 심사 위원 통계 지적 반박이야. /effort xhigh로 깊게 가 줘. 핵심은 표본 크기 지적이야.
결과 차이
[low]  표본 30이 적다는 비판은 ... (3줄)
[xhigh] 표본 30의 근거는 효과 크기 d=0.8 추정에 ...
        통계검정력 0.8 보장 ... 검정력 분석 표 ...

작업 매트릭스

작업별 권장 추론 강도

그림 캡션

low

빠르게 다섯 개

통계 반박

xhigh

심사 응답

CSV 변환

low

단순 매핑

보고서 초안

medium

기본 — 무난

함정 · 팁

Auto 모드와 스킬별 오버라이드

Auto 모드. 분류기가 작업을 보고 자동으로 결정 — 일상은 이걸 권장합니다

스킬별. SKILL.md 프론트매터 effort: high로 스킬 호출 시 강도 고정

비용. high 이상은 1.5~3배 비용. /usage로 조정

ADV 10/10

UX 보조 5종 — 진입 장벽 + 일상 편의

/powerup

인터랙티브 튜토리얼 — Claude Code 첫 사용자용

/focus

강의·시연 화면 깔끔하게 — 부가 UI 숨김

/copy

마지막 응답 통째로 클립보드에

/terminal-setup

새 노트북 첫 세팅 — 폰트·색상

/less-permission-prompts

자주 묻는 read-only 명령을 한 번에 영구 허용

사용법

UX 보조 5종 시연

> /powerup           # 첫 사용자 인터랙티브 가이드
> /focus             # 사이드 패널 숨기고 본문만
> /copy              # 마지막 응답 클립보드
> /terminal-setup    # 폰트·색상 추천
> /less-permission-prompts
/less-permission-prompts 내 트랜스크립트 보고 자주 거치는 read-only 명령들 한 번에 영구 허용으로 바꿔 줘.
/less-permission-prompts 결과
최근 30일 트랜스크립트 분석
자주 묻힘. Bash(git status) · Read(./data/**) · Bash(Get-ChildItem)
allow에 추가할까요? (Y/n)
완료. settings.json 업데이트

시나리오

역할별 UX 보조 활용

  • 처음 쓰는 분. /powerup 한 번 — 5분 인터랙티브 학습
  • 회의록 자주 다루는 분. /copy로 응답 한 번에 복사 → 워드에 붙여넣기
  • 모두. /focus는 강사 시연·영상 녹화 때 화면이 깔끔해져요
  • 새 노트북. /terminal-setup으로 첫 세팅 5분

처음 쓰는 동료에게

/powerup 한 마디. Claude Code를 처음 쓰는 동료에게 — 5분 가이드

/less-permission-prompts. 한 주 써 본 뒤 한 번 — 매번 묻는 게 절반으로 줄어요

Advanced 트랙 마무리

22
총 본 기능 (Basic 12 + Adv 10)
1~2
본인 파이프라인에 끼울 후보
11분
남은 종합 회수

회수 · 보안 한 컷 · Q&A.

5문장 회수 — 본인 점검

  1. LO-1. 나는 PowerShell에서 claude를 열고 첫 응답을 받을 수 있다
  2. LO-2. 나는 내 폴더에 CLAUDE.md를 두고 효과 차이를 안다
  3. LO-3. 나는 Plan 모드와 deny 한 줄로 안전망을 갖췄다
  4. LO-4. 나는 내 시나리오 한 개를 Claude Code로 끝까지 수행할 수 있다
  5. LO-5. 나는 환각·재현성·보안 우려에 한 문장씩 답할 수 있다

다섯 개 중 네 개 이상이면 오늘 자리는 충분히 회수.

마지막 한 컷 — 보안 · 재현성 · 환각

보안. API 모드는 데이터 학습을 하지 않습니다. 컨슈머 Pro와 다릅니다. 기관 망분리 환경에서는 Bedrock·Vertex·Foundry 라우팅 가능

재현성. permissions.deny + .claude/rules/ paths + git으로 변경 추적. 코드 보존 의무

환각. 인용 검수 룰 + Plan 모드 + /ultrareview 다관점 — 한 사람 검수보다 단단함

출처. anthropic.com/legal/privacy · docs.anthropic.com/claude-code

더 알아볼 것 · 강사 채널

  • 공식 문서. docs.anthropic.com/claude-code
  • 이번에 못 다룬 기능. Output Styles · Status Lines · Channels · Worktree · TDD 사이클 · GitHub Actions 통합
  • 본 핸드아웃. A4 6면 — 체크리스트 · 시나리오 · 보안 한 컷
  • 강사 채널. 황민호 수석 · Forward Deployed Engineer · robin.hwang@kakaocorp.com

도입 페어링·후속 질문 환영합니다. 메일이나 기관 메신저로 주세요.

Q&A

질문 받습니다

질문 받습니다. 아니면 강사 자리로 와 주세요.

오늘 함께해 주셔서 감사합니다. — 황민호