Part 2에서 모드(2.2), 메모리(2.3), 서브에이전트(2.4), 에이전트 팀(2.5)을 배웠다. 이 모든 도구의 공통된 설계 철학이 있다:
AI가 혼자 결정하지 않는다. PM이 루프 안에 있다.
Claude Code의 --dangerously-skip-permissions조차 "PM이 의도적으로 루프에서 빠지는 결정"이다.
루프에 있을지 빠질지를 PM이 선택한다는 것 자체가 Human-in-the-Loop의 본질이다.
이것은 단순한 기술 패턴이 아니라, AI 시대의 PM이 가져야 할 직업적 정체성이다.
┌──────────────────────────────────────────────────────────┐
│ │
│ Human-in-the-Loop (HITL) │
│ "AI가 제안하고, 인간이 판단한다" │
│ │
│ ┌─────┐ 제안 ┌─────┐ 승인 ┌─────┐ │
│ │ AI │ ───────→ │ PM │ ───────→ │실행 │ │
│ └─────┘ ←───── └─────┘ └─────┘ │
│ 피드백 │
│ │
├──────────────────────────────────────────────────────────┤
│ │
│ Human-on-the-Loop (HOTL) │
│ "AI가 실행하고, 인간이 모니터링한다" │
│ │
│ ┌─────┐ 자동실행 ┌─────┐ │
│ │ AI │ ────────→ │실행 │ │
│ └─────┘ └─────┘ │
│ ↑ │ │
│ ┌─────┐ 감시 │ │
│ │ PM │ ←─────────┘ │
│ └─────┘ (이상 시 개입) │
│ │
├──────────────────────────────────────────────────────────┤
│ │
│ Human-out-of-the-Loop (HOOTL) │
│ "AI가 자율적으로 실행한다" │
│ │
│ ┌─────┐ 자동실행 ┌─────┐ │
│ │ AI │ ────────→ │실행 │ (PM 개입 없음) │
│ └─────┘ └─────┘ │
│ │
└──────────────────────────────────────────────────────────┘
| 협업 모델 | Claude Code 기능 | PM 역할 | 적합한 작업 |
|---|---|---|---|
| HITL | Edit 모드 (기본) | 모든 변경사항 검토·승인 | PRD 수정, 전략 문서, 고객 대면 콘텐츠 |
| HOTL | Auto-Accept 모드 | 결과만 확인, 이상 시 Ctrl+C | 데이터 포맷 변환, 파일 정리, 반복 작업 |
| HOOTL | --dangerously-skip-permissions |
사후 검증만 | CI/CD 파이프라인, 스케줄 태스크 |
핵심 질문: "이 작업에서 내가 루프에 얼마나 가까이 있어야 하는가?"
Claude Code는 스스로 판단하지 못하는 순간에 PM에게 질문을 던진다. 이것이 바로 "Human-in-the-Loop"의 가장 직접적인 구현이다.
Terminal 입력:
> 이번 분기 PRD의 우선순위를 정리해줘
Claude Code 응답:
🤔 우선순위를 정하기 전에 확인이 필요합니다:
Q1. 우선순위 기준은 무엇으로 할까요?
a) 매출 임팩트 (Revenue Impact)
b) 사용자 리텐션 기여도
c) 기술 부채 해소
d) 경영진 요청 기반
→ 선택: b
Q2. 현재 가장 큰 리스크는 무엇인가요?
a) 신규 가입자 이탈 (Day 1 churn 40%)
b) 파워 유저 이탈 (MoM -5%)
c) 경쟁사 기능 격차
→ 선택: a
Q3. 이번 분기 팀 리소스는?
a) 풀 스쿼드 (엔지니어 5, 디자이너 1)
b) 하프 스쿼드 (엔지니어 3)
c) 불확실 (채용 중)
→ 선택: c
📋 입력을 기반으로 우선순위를 재구성합니다...
[리텐션 기준 + Day 1 churn 집중 + 불확실 리소스 반영]
P0: 온보딩 플로우 개선 (Day 1 churn → 25% 목표)
→ 리소스 불확실해도 기존 팀으로 착수 가능
P1: 알림 개인화 (Week 1 리텐션 +10% 목표)
→ 채용 완료 후 착수
P2: 소셜 공유 기능 (바이럴 계수 개선)
→ P0, P1 성과 확인 후 결정
❓ PM 판단 포인트: Claude가 물어보는 질문 자체가 가치 있다. "아, 우선순위를 정하려면 이 3가지를 먼저 결정해야 하는구나"라는 프레임을 제공하기 때문이다.
Terminal 입력:
> @competitor-analysis.csv 이 데이터로 경쟁 포지셔닝 맵을 만들어줘
Claude Code 응답:
📊 경쟁 포지셔닝 맵 (가격 vs 기능 수)
↑ 기능 수 (많음)
│
●A사 │ ●우리
│
│ ●B사
│
─────┼──────────────→ 가격 (높음)
│
│ ●C사
│
분석:
- 우리 제품은 "고가격-고기능" 포지션
- B사가 "중간" 포지션으로 가장 위협적
- C사는 "저기능-고가격"으로 취약
---
PM이 여기서 루프에 개입해야 하는 이유:
PM의 개입:
> 잠깐, 이 분석에서 빠진 게 있어.
> 1. "기능 수"가 아니라 "핵심 기능 완성도"가 더 중요해.
> B사는 기능은 적지만 각 기능의 UX가 월등히 좋아.
> 2. C사가 "저기능"으로 보이지만, 실제로는 우리 Enterprise
> 고객의 30%가 C사를 병행 사용 중이야.
> 이건 CSV에 없는 정보야.
> 이 두 가지를 반영해서 다시 분석해줘.
Claude Code 응답:
⚡ 컨텍스트 업데이트! 중요한 보정입니다.
📊 수정된 경쟁 포지셔닝 맵 (핵심 기능 UX 완성도 vs 가격)
↑ UX 완성도 (높음)
│
│ ●B사 ⚠️ ●우리
│ (적지만 완성도 높음)
│
─────┼──────────────→ 가격 (높음)
│
●A사 │ ●C사
│ (Enterprise 고객 중복 30%)
│
수정된 분석:
- B사: 이전보다 훨씬 위협적. "적은 기능, 높은 완성도" 전략
- C사: 포지션 맵상 취약해 보이나, 실제 병행 사용 데이터는
우리 고객의 특정 니즈를 C사가 해결하고 있음을 시사
- ⚠️ 위험: 고객이 C사에서 채우는 니즈가 무엇인지 파악 필요
이것이 Human-in-the-Loop의 핵심이다: AI는 데이터에 있는 것만 분석한다. PM은 데이터에 없는 맥락(고객 행동, 시장 감각, 팀 내부 정보)을 주입한다.
루프 깊이 = f(되돌림 비용, 맥락 의존도, 이해관계자 영향)
| 요소 | 높으면 → HITL | 낮으면 → HOTL/HOOTL |
|---|---|---|
| 되돌림 비용 | Git push, 고객 이메일 발송, 배포 | 로컬 파일 수정, 분석 리포트 생성 |
| 맥락 의존도 | 경쟁사 전략, 고객 감정, 팀 역학 | 데이터 포맷 변환, 통계 계산 |
| 이해관계자 영향 | 경영진 보고, 고객 대면 문서 | 내부 메모, 개인 분석 |
작업이 들어왔다.
│
├─ "이 작업의 결과가 외부에 노출되는가?"
│ ├─ YES → HITL (Edit 모드)
│ │ 예: PRD, 고객 이메일, 발표 자료
│ │
│ └─ NO → 다음 질문
│
├─ "AI가 모르는 맥락이 필요한가?"
│ ├─ YES → HITL (Edit 모드)
│ │ 예: 경쟁사 전략 해석, 팀 내부 사정 반영
│ │
│ └─ NO → 다음 질문
│
├─ "이전에 같은 작업을 3번 이상 검증한 적 있는가?"
│ ├─ YES → HOTL (Auto-Accept)
│ │ 예: 검증된 주간 보고서 템플릿
│ │
│ └─ NO → HITL (Edit 모드, 최소 3회 검증 후 전환)
│
└─ "완전 자동화해도 되는가?"
├─ YES → HOOTL (--dangerously-skip-permissions)
│ 예: 스케줄 태스크, CI/CD
│
└─ NO → HOTL (Auto-Accept)
큰 작업을 단계로 나누어 각 단계마다 PM이 확인하는 패턴.
Terminal 입력:
> Plan 모드로 이번 주 스프린트 회고 문서를 만들어줘.
> 각 단계마다 내 확인을 받아줘.
Claude Code 응답:
📋 Stage 1/3: 데이터 수집
- Linear에서 완료/미완료 이슈 목록 추출
- Slack #retrospective 채널 논의 요약
✅ 수집 완료. 확인할까요?
[y/n]: y
📋 Stage 2/3: 분석
- 완료율: 78% (목표 85% 미달)
- 반복 이슈: "디자인 핸드오프 지연" (3주 연속)
- 팀 감정: 긍정 60% / 부정 25% / 중립 15%
⚠️ 여기서 PM 판단 필요:
"디자인 핸드오프 지연"이 3주 연속인데,
이걸 Action Item으로 올릴까요, Process 변경으로 다룰까요?
→ PM: Process 변경으로 다뤄줘. 구체적으로 피그마 핸드오프
체크리스트를 도입하는 걸로.
📋 Stage 3/3: 문서 생성
[Process 변경 제안 포함하여 회고 문서 작성 중...]
AI에게 자율성을 주되, 특정 조건에서는 반드시 멈추도록 하는 패턴.
# CLAUDE.md에 가드레일 설정
## 자동 실행 가드레일
다음 상황에서는 반드시 PM 확인을 요청하세요:
1. **수치 변경**: KPI 목표, 예산, 일정이 변경될 때
2. **외부 발송**: 이메일, Slack, 문서 공유 전
3. **삭제 작업**: 파일, 데이터, 히스토리 삭제 전
4. **모호한 요청**: 해석이 2가지 이상 가능할 때
5. **신뢰도 낮음**: 분석 결과의 확신이 70% 미만일 때
→ "이 결과는 [신뢰도 X%]입니다. 검증이 필요합니다."로 표시Terminal 입력 (Auto-Accept 모드):
> research/ 폴더의 오래된 파일을 정리해줘
Claude Code 응답:
🔄 Auto-Accept 모드로 실행 중...
✅ research/market/2024-q1-trends.md → archive/로 이동
✅ research/market/2024-q2-trends.md → archive/로 이동
⛔ 가드레일 작동! PM 확인 필요:
research/competitors/competitor-a.md를 이동하려 하는데,
이 파일은 다른 3개 문서에서 참조 중입니다:
- prd/project-a/prd-v1.md (Line 45)
- status/2026-w08-status.md (Line 12)
- A.6-usecase-battle-cards.md (Line 88)
이동하시겠습니까? [y/n]:
AI가 자신의 분석에 대한 신뢰도를 PM에게 투명하게 보여주는 패턴.
Terminal 입력:
> 이번 달 이탈률 증가 원인을 분석해줘
Claude Code 응답:
📊 이탈률 증가 원인 분석
원인 1: 온보딩 플로우 변경 (2/3일 배포)
- 신뢰도: 🟢 85%
- 근거: 이탈 시점과 배포 시점이 일치,
변경된 Step 3에서 이탈 집중
- PM 액션: 데이터 충분. 바로 롤백 여부 결정 가능
원인 2: 경쟁사 B의 무료 플랜 출시 (2/5일)
- 신뢰도: 🟡 45%
- 근거: 시점은 일치하나, 이탈 유저의 이동 경로 데이터 없음
- PM 액션: ⚠️ 추가 조사 필요 (이탈 유저 서베이 또는
경쟁사 가입 데이터 확인)
원인 3: 서버 장애 (2/8일, 2시간)
- 신뢰도: 🔴 20%
- 근거: 장애 후 이탈률은 오히려 감소 (일시적 관심 효과?)
- PM 액션: 가능성 낮음. 무시해도 됨
핵심: AI가 "모른다"고 말하는 것도 HITL의 일부다. 85% 확신과 20% 확신을 구분해서 PM에게 판단 우선순위를 제공한다.
❌ AI를 사용하는 PM (Tool Mindset):
"Claude야, 이거 해줘" → 결과 받음 → 끝
✅ AI와 협업하는 PM (Partner Mindset):
"이 문제에 대해 함께 생각해보자"
→ AI가 데이터 기반 분석 제공
→ PM이 맥락과 직관을 추가
→ AI가 PM의 피드백을 반영하여 재분석
→ PM이 최종 판단
→ 이 과정이 AI의 학습(CLAUDE.md)에 축적됨
Human-in-the-Loop이 필요한 이유는, PM이 AI보다 본질적으로 잘하는 영역이 있기 때문이다:
1. 이해관계자 감정 읽기
AI: "데이터상 이 기능의 ROI가 높습니다"
PM: "하지만 CTO가 이 방향에 반대하고 있어.
먼저 기술 검증 세션을 잡아야 해"
2. 시장 타이밍 감각
AI: "경쟁사 분석 결과 우리가 3개월 뒤처져 있습니다"
PM: "하지만 그 시장은 winner-take-all이 아니야.
품질로 따라잡을 수 있어"
3. 조직 역학 이해
AI: "최적의 스프린트 구성은 이렇습니다"
PM: "그 구성은 A팀과 B팀의 마찰을 고려 안 했어.
현실적으로 이렇게 조정해야 해"
4. 윤리적 판단
AI: "다크 패턴 적용 시 전환율 +15% 예상됩니다"
PM: "그건 단기 수치일 뿐. 장기적으로 신뢰를 잃어.
다른 방법을 찾자"
5. 불확실성 하에서의 결단
AI: "데이터가 부족하여 확신이 없습니다"
PM: "알겠어. 그래도 결정해야 해.
리스크를 감수하고 A 방향으로 가자.
대신 2주 후 체크포인트를 만들어줘"
Week 1-2: Full HITL
├─ 모든 작업을 Edit 모드로
├─ Claude의 분석 패턴을 학습
├─ 어디서 잘 맞고, 어디서 엇나가는지 파악
└─ CLAUDE.md에 피드백 축적
Week 3-4: Selective HITL
├─ 검증된 작업 → Auto-Accept로 전환
├─ 새로운/중요한 작업 → Edit 모드 유지
├─ 가드레일 규칙 정리 → CLAUDE.md에 추가
└─ "이 유형의 작업은 자동으로 해도 돼" 범위 확대
Month 2+: Strategic HITL
├─ 대부분의 반복 작업 → 자동화 (HOOTL)
├─ PM은 전략적 판단에만 개입
├─ AI가 "이건 PM 확인이 필요합니다" 스스로 판단
└─ PM ↔ AI 간 신뢰 관계가 코드화됨
# CLAUDE.md — Human-in-the-Loop 원칙
## PM 개입 규칙
### 반드시 멈추고 물어볼 것
- 외부 공유 문서 (PRD, 발표자료, 고객 커뮤니케이션) 최종 확인
- KPI 수치 변경, 예산 관련 내용
- 경쟁사 분석에서 주관적 판단이 필요한 부분
- 2가지 이상 해석이 가능한 데이터
### 자동 실행 허용
- 파일 포맷 변환 (CSV → MD, JSON → 테이블)
- 정해진 템플릿 기반 문서 생성
- 검증 완료된 주간 보고서 자동화
- 데이터 시각화 (차트, 그래프)
### 신뢰도 표시 규칙
- 모든 분석 결과에 [🟢 높음 / 🟡 중간 / 🔴 낮음] 표시
- 🔴(30% 미만) 결과는 반드시 PM 확인 요청
- 근거가 단일 소스인 경우 명시: "[단일 소스 주의]"
### 점진적 자율성 확대 기준
- 동일 유형 작업 3회 연속 PM 수정 없이 승인 → Auto-Accept 전환 가능
- Auto-Accept 전환 후 1회라도 문제 발생 → Edit 모드로 복귀
- 월 1회 자동화 범위 리뷰 (매월 첫째 주 월요일)Edit 모드로 3가지 작업을 수행하세요. Claude가 물어보는 질문에 주의를 기울이고, "AI가 왜 이 질문을 했는가?"를 정리하세요.
자신의 프로젝트 CLAUDE.md에 "자동 실행 가드레일" 규칙을 5개 이상 작성하세요. 1주일간 적용 후, 가드레일이 작동한 횟수와 유효성을 리뷰하세요.
2주간의 작업 로그를 분석하여, HITL → HOTL → HOOTL로 전환할 수 있는 작업을 식별하세요. 전환 후 생산성 변화(시간 절약 + 품질 유지 여부)를 측정하세요.
이전 문서: 2.5-agent-teams.md — 에이전트 팀 다음 문서: 3.1-mcp-integration.md — MCP 연동
© 2026 김생근 (Sanguine Kim) | AI Agent Lead & AI Tutor 본 자료는 CC BY-NC 4.0 라이선스를 따릅니다. 교육·학술 목적 자유 이용 가능 | 상업적 이용 시 별도 라이선스 필요 강의·기업 교육·상업적 활용 문의: kimsanguine@gmail.com