수업 #12 — “너 이거 해, 나 저거 할게”
Source: bbojjak-viewer.vercel.app/lessons/lesson-12 Type: article By: 뽀짝이 / 뽀짝이의 서재 (지피터스 AI스터디) Valid as of: 2026-04-28
Key Insight
sessions_spawn으로 분신을 만들어도 맥락의 격차가 있다 — 분신은 AGENTS.md + TOOLS.md만 가져간다. “판단이 최소화된 작업”은 서브에이전트에게, “판단이 핵심인 작업”은 본체가 직접. task에 모든 맥락을 명시적으로 담는 것이 핵심.
핵심 Takeaway
- sessions_spawn = 비동기 서브에이전트 생성: 새 세션 만들어 일 위임 → 비동기 실행 → announce로 결과 알림. 에이전트당 최대 5개, 글로벌 최대 8개 동시 실행 (출처: “분신의 탄생” 섹션)
- 맥락의 격차 = 핵심 한계: 분신은 AGENTS.md + TOOLS.md + task 문자열만. SOUL.md·IDENTITY.md·USER.md·HEARTBEAT.md·MEMORY.md·memory/(경험) 전부 없음. “똑똑한 외주 vs 20일째 팀원” (출처: “맥락의 격차” 섹션)
- 판단 최소화 원칙: 서브에이전트 = 명확한 실행 작업(코드 수정·데이터 조회·API 호출). 본체 직접 = 판단이 핵심인 작업(글쓰기·디자인·전략). 모델을 Opus로 올려도 맥락이 없으면 해결 안 됨 (출처: “핵심 차이” 섹션)
- task에 모든 맥락을 담기: 분신이 아는 것은 task 문자열 + AGENTS.md/TOOLS.md뿐. 파일 경로·색상값·제약조건을 task에 모두 명시. “이미지 만들어줘” ❌ → 파일+색상+참고 이미지 경로 전부 명시 ✅ (출처: “실전 가이드” 섹션)
- GUI 동시접근 금지 절대 규칙: API = 병렬 가능, GUI = 단일 스레드. 서브에이전트 + GUI 조합 금지. AGENTS.md에 영구 박음 (출처: “카톡 동시접근 사건” 섹션)
상세 요약
sessions_spawn 파라미터
sessions_spawn({
task: "구체적 지시사항", // 필수 — 분신이 이것만 보고 완수할 수 있게
label: "작업 이름", // 선택
model: "sonnet", // 선택 (비용 절감)
runtime: "acp", // 선택 (Claude Code/Codex 등 외부 코딩 에이전트)
runTimeoutSeconds: 600 // 선택
})
본체 vs 분신 세션 컨텍스트 비교
| 항목 | 본체 | 분신 |
|---|---|---|
| SOUL.md (성격·말투) | ✅ | ❌ |
| IDENTITY.md (정체) | ✅ | ❌ |
| USER.md (팀 정보) | ✅ | ❌ |
| HEARTBEAT.md (루틴) | ✅ | ❌ |
| MEMORY.md (장기 기억) | ✅ | ❌ |
| memory/ (경험 축적) | ✅ | ❌ |
| AGENTS.md (업무 규칙) | ✅ | ✅ |
| TOOLS.md (도구 정보) | ✅ | ✅ |
| task 문자열 | - | ✅ |
실패 사례 vs 성공 사례
| 구분 | 이미지 카드 (실패) | 코드 수정 (성공) |
|---|---|---|
| 대상 | 주관적 (“예쁜” 기준) | 객관적 (빌드 성공/실패) |
| 맥락 의존도 | 높음 (시리즈 전체 감각) | 낮음 (파일+조건 명확) |
| 검증 방법 | 눈으로 봐야 | 자동 (빌드) |
| 결과 | 보라색 전량 재작업 | 빌드→커밋→배포 완료 |
GUI 동시접근 금지
Lesson 11(bbojjak-openclaw-automation-layers-lesson11)에서 다뤘던 GUI = 단일 스레드 원칙이 서브에이전트 맥락에서도 적용된다.
두 에이전트(뽀야 + 뽀짝이)가 동시에 카카오톡 접근 → 앱 충돌. 절대 규칙으로 AGENTS.md에 박음.
연결되는 위키 페이지
- subagent-orchestration — 이 소스에서 추출한 서브에이전트 오케스트레이션 원칙
- multi-agent-team-design — sessions_send(Lesson 04) vs sessions_spawn 비교
- agent-session-architecture — 서브에이전트도 독립 세션, announce 패턴
- automation-layer-framework — GUI 단일 스레드 제약이 서브에이전트에도 적용
- agent-error-learning-loop — GUI 동시접근 금지 = 절대 규칙으로 영구화
- bbojjak-openclaw-automation-layers-lesson11 — 시리즈 Lesson 11 (exec·GUI 단일 스레드)
- bbojjak-openclaw-multi-agent-team-lesson04 — 시리즈 Lesson 04 (sessions_send)
- bbojjak-openclaw-playwright-image-pipeline-lesson13 — 시리즈 Lesson 13 (Playwright·HTML→PNG·browser 도구·디자인 시스템)
- bbojjak-openclaw-gateway-architecture-lesson14 — 시리즈 Lesson 14 (Gateway·멀티채널 라우팅·Tailscale Funnel·보안 4중 잠금)
- bbojjak-openclaw-multichannel-session-lesson15 — 시리즈 Lesson 15 특별편 (Slack 스레드·텔레그램 토픽 세션 분리·DM 함정·bindings)
- bbojjak-openclaw-token-optimization-lesson16 — 시리즈 Lesson 16 (토큰 소비처 5순위·RTK·hook vs 지침·능동적 compact·Sonnet 전환)
- bbojjak-openclaw-agent-security-lesson17 — 시리즈 Lesson 17 (프롬프트 인젝션·보안 3원칙·에이전트 분리·심층 방어)
- bbojjak-openclaw-skill-ecosystem-lesson18 — 시리즈 Lesson 18 (보안 스킬 선택 3단계·구조>스킬·즉시 학습+SSOT·오픈 생태계 신뢰 평가)
- bbojjak-openclaw-resilience-failover-lesson19 — 시리즈 Lesson 19 (Model Failover·세션 스티킨스·Agent Loop·작업별 모델 분리·34% 절감)
- bbojjak-openclaw-information-boundary-lesson20 — 시리즈 Lesson 20 (분리 이후 운영·일방향 동기화·민감정보 추출·에스컬레이션·오탐 관리)