Claude Code에서 복잡한 아키텍처 설계를 요청하면, 로컬 터미널이 멈춘다. 모델이 생각하는 동안 아무것도 못 한다.
ULTRAPLAN은 이 문제를 해결하는 미출시 기능이다. 복잡한 계획 작업을 Anthropic의 Cloud Container Runtime(CCR)으로 보내서, 원격의 Opus 4.6 모델이 최대 30분간 독립적으로 돌린다. 그 사이에 로컬 터미널은 자유다. 결과가 나오면 브라우저에서 리뷰하고, 승인하면 로컬로 텔레포트하거나 클라우드에서 바로 PR을 만든다.
핵심은 지능 업그레이드가 아니라 워크플로우 업그레이드라는 점이다. 플랜 품질 자체가 일관되게 더 좋아지는 건 아니지만, "30분 기다리는 동안 딴 일 하기"와 "브라우저에서 인라인 코멘트로 리뷰하기"가 실질적 이점이다.
목차
- 4단계 동작 흐름
- Phase 1: 트리거 감지
- Phase 2: CCR 세션 생성
- Phase 3: Long-Poll
- Phase 4: 결과 전달 — 4가지 선택지
- 텔레포트 메커니즘
- 3가지 A/B 테스트 변형
- 브라우저 리뷰 인터페이스
- 일반 Plan Mode와의 차이
- 제약사항
- 요약
4단계 동작 흐름
ULTRAPLAN은 트리거 감지 → 원격 세션 → 폴링 → 결과 전달의 4단계로 동작한다.

Phase 1: 트리거 감지
keyword.ts 모듈이 사용자 입력을 스캔한다. 백틱, 따옴표, 태그, 괄호 안의 텍스트, ?로 끝나는 질문, 파일 확장자 등은 필터링해서 오탐을 줄인다.
재밌는 디테일이 있다. 프롬프트에서 "ultraplan"이라는 단어 자체를 제거한다.
replaceUltraplanKeyword(text): string
// "ultraplan" → "plan" (대소문자 보존)
// "Ultraplan" → "Plan"
모델이 자기 자신을 트리거하는 걸 막기 위한 설계다.
Phase 2: CCR 세션 생성
트리거가 감지되면 launchUltraplan()이 실행된다. detached pattern을 사용한다:
ultraplanLaunching=true를 동기적으로 설정해서 중복 실행을 방지- 적격성 검사 — OAuth, git repo, GitHub App, 정책 확인
- Haiku 모델로 제목/브랜치명을 빠르게 생성
- Git bundle 생성 및 업로드
POST /v1/sessions로 원격 세션 생성
각 세션은 격리된 Git 클론 환경에서 실행된다. GitHub 인증은 secure proxy를 통해 흐르고, 토큰은 sandbox에 진입하지 않는다. 아웃바운드 트래픽도 allowlist + audit logging이 적용된다.
Phase 3: Long-Poll
원격 세션이 돌아가는 동안 로컬 CLI는 3초 간격으로 폴링한다.
| 설정 | 값 |
|---|---|
| 폴링 간격 | 3초 |
| 최대 타임아웃 | 30분 |
| 연속 실패 허용 | 5회 |
| 틱당 최대 페이지 | 50 |
상태 전이도 추적한다:
running: 모델이 작업 중needs_input: 조용한 idle 상태 감지plan_ready: ExitPlanMode tool_use가 결과 없이 존재
Quiet-Idle 휴리스틱이 오탐을 방지한다. CCR이 tool turn 사이에 잠시 idle로 전환될 수 있기 때문에, 같은 틱에서 활동이 없을 때만 진짜 idle로 판정한다.
Phase 4: 결과 전달 — 4가지 선택지
브라우저에서 플랜을 리뷰한 뒤, 4가지 중 하나를 선택한다.
| 선택 | 동작 |
|---|---|
| 승인 + 클라우드 실행 | 같은 CCR 세션에서 구현, 완료 후 diff 리뷰 + PR 생성 |
| 승인 + 로컬 텔레포트 | 웹 세션 아카이브, 로컬 터미널로 플랜 전달 |
| 새 세션 시작 | 컨텍스트 클리어, 플랜만으로 새 세션 (claude --resume) |
| 취소 | 플랜을 파일로 저장, 나중에 사용 |
텔레포트 메커니즘
"텔레포트"가 이 시스템에서 가장 흥미로운 부분이다.
브라우저에서 "Teleport back to terminal"을 클릭하면, 브라우저가 is_error=true인 tool_result를 전송한다. 이 콘텐츠 앞에 센티넬 문자열 __ULTRAPLAN_TELEPORT_LOCAL__\n이 붙는다.
로컬 CLI의 ExitPlanModeScanner가 이 센티넬을 감지한다.
| 조건 | 판정 |
|---|---|
tool_result 없음 |
pending |
is_error=true + 센티넬 |
teleport |
is_error=true, 센티넬 없음 |
rejected |
is_error=false |
approved |
teleport로 판정되면 poll이 resolve되고, executionTarget: 'local'이 설정되어 로컬에서 UltraplanChoiceDialog가 뜬다. 원격에서 만든 플랜이 로컬 터미널에 "착륙"하는 것이다.
세션 영속성도 지원한다. 터미널을 닫아도 writeRemoteAgentMetadata()로 메타데이터가 저장되고, claude --resume으로 복원하면 CCR 세션이 살아있을 경우 폴링이 재시작된다.
3가지 A/B 테스트 변형
ULTRAPLAN은 내부적으로 3가지 변형을 A/B 테스트하고 있다. 사용자가 선택할 수 없고 자동 배정된다.
| 변형 | 특징 |
|---|---|
| simple_plan | 경량 단일 패스. Glob, Grep, Read만 사용. 서브에이전트 없음. 빠르지만 얕음 |
| visual_plan | simple_plan + Mermaid/ASCII 다이어그램 추가 |
| three_subagents_with_critique | 병렬 에이전트 3개가 아키텍처/수정 대상/리스크를 동시 탐색. 4번째 비평 에이전트가 합성 결과 검토. 30분 윈도우의 존재 이유 |
플랜 품질이 일관되지 않다는 커뮤니티 피드백이 있는데, 이 A/B 변형 자동 배정 때문일 가능성이 높다. 어떤 때는 상세한 다단계 분석이 나오고, 어떤 때는 얇은 아웃라인만 나온다.
브라우저 리뷰 인터페이스
브라우저에서의 리뷰는 단순한 텍스트 보기가 아니다.
- 인라인 코멘트: 특정 구간을 하이라이트한 뒤 코멘트를 달면, 해당 부분만 재생성된다. 전체 재생성이 아니다.
- 이모지 리액션: 섹션별로 승인/우려 신호를 보낼 수 있다.
- 아웃라인 사이드바: 긴 플랜 내에서 섹션 간 네비게이션.
일반 Plan Mode와의 차이
| 로컬 Plan Mode | ULTRAPLAN | |
|---|---|---|
| 실행 위치 | 로컬 터미널 | CCR 클라우드 |
| 모델 | 현재 세션 모델 | Opus 4.6 (전용) |
| 최대 시간 | 터미널 점유 | 30분 비동기 |
| 리뷰 방식 | 터미널 스크롤백 | 브라우저 인라인 코멘트 |
| 실행 선택 | 로컬만 | 클라우드 PR 또는 로컬 텔레포트 |
| 터미널 | 차단됨 | 자유 (다른 작업 가능) |
핵심 차이를 한 줄로 요약하면: ULTRAPLAN은 지능 업그레이드가 아니라 워크플로우 업그레이드다.
제약사항
소스코드와 커뮤니티 피드백에서 확인된 제약이 있다.
- GitHub 전용 — GitLab, Bitbucket, 로컬 전용 repo는 미지원
- CLI에서만 시작 가능 — 웹 인터페이스에서는 불가
- 커스텀 이미지 미지원 — CCR 환경이 고정
- A/B 변형 선택 불가 — 어떤 플래닝 전략이 적용될지 모름
- 공식 changelog 없음 — 피처 플래그 뒤에서 예고 없이 변경됨
요약
- ULTRAPLAN은 복잡한 계획 작업을 CCR의 Opus 4.6에 오프로드하는 미출시 기능이다
- 최대 30분간 비동기로 돌리고, 그 사이 로컬 터미널은 자유다
- 결과는 브라우저에서 인라인 코멘트로 리뷰, 승인하면 클라우드 PR 또는 로컬 텔레포트
__ULTRAPLAN_TELEPORT_LOCAL__센티넬로 원격 플랜이 로컬에 착륙한다- 내부적으로 3가지 A/B 변형을 테스트 중 — 플랜 품질 편차의 원인
- 지능 업그레이드가 아니라 워크플로우 업그레이드 — 비동기 + 브라우저 리뷰가 핵심
관련글:
- Claude Code KAIROS: 잠자는 동안 일하는 AI 백그라운드 에이전트의 구조 — KAIROS와 ULTRAPLAN은 같은 소스 유출에서 발견된 쌍둥이 기능
- Claude Code Buddy 리롤하는 법: buddy-pick으로 원하는 컴패니언 직접 고르기 — 소스 유출에서 발견된 또 다른 숨겨진 기능
'AI 코딩 에이전트' 카테고리의 다른 글
| Claude Code Undercover Mode: AI 흔적 없이 커밋하는 숨겨진 모드 (0) | 2026.04.08 |
|---|---|
| Claude Code 소스 유출에서 발견된 44개 숨겨진 피처 플래그 전체 목록 (0) | 2026.04.08 |
| Claude Code KAIROS: 잠자는 동안 일하는 AI 백그라운드 에이전트의 구조 (0) | 2026.04.08 |
| Claude Code Remote Control: 소파에서 폰으로 터미널 코딩하는 법 (0) | 2026.04.07 |
| Claude Code Statusline 커스터마이징: 터미널 하단을 나만의 대시보드로 (0) | 2026.04.07 |
