/Part 7: 인프라/원격 실행 브릿지
⚙️
Part 7고급⏱ 약 45분 · 2개 섹션

원격 실행 브릿지

어디서나 실행

원격 실행 브릿지 대표 이미지
이 챕터에서 배울 것
  • WebSocket(기본) + HTTP POST(폴백) = HybridTransport
  • JWT + 디바이스 토큰으로 인증
  • CCR(Cloud Code Runner)에서 원격 세션 관리
전체 아키텍처에서 현재 위치
⚙️코어 엔진
🔧도구 시스템
🛡️보안
🧠컨텍스트
🤝멀티 에이전트
🌐생태계
인프라
1

브릿지 아키텍처

로컬 ↔ API ↔ 클라이언트 통신 흐름

HybridTransport세션 관리메시지 라우팅재연결|bridge/bridgeMain.tsbridge/replBridge.tsbridge/types.ts

Bridge 시스템은 로컬 CLI ↔ 원격 API ↔ 모바일/웹 클라이언트 간 통신을 관리합니다.

src/bridge/ — 브릿지 타입과 구조
1// src/bridge/bridgeMain.ts — 브릿지 진입점
2import { createBridgeApiClient } from './bridgeApi.js'
3import { createSessionSpawner } from './sessionRunner.js'
4import { getTrustedDeviceToken } from './trustedDevice.js'
5
6// src/bridge/types.ts — 핵심 타입
7export const DEFAULT_SESSION_TIMEOUT_MS = 24 * 60 * 60 * 1000 // 24시간💡
8
9export type WorkSecret = {💡
10 version: number
11 session_ingress_token: string
12 api_base_url: string
13 sources: Array<{
14 type: string
15 git_info?: { repo: string, ref?: string, token?: string }
16 }>
17 auth: Array<{ type: string, token: string }>
18 mcp_config?: unknown
19 environment_variables?: Record<string, string>
20 use_code_sessions?: boolean // CCR v2 셀렉터💡
21}
22
23export type SessionActivity = {
24 type: 'tool_start' | 'text' | 'result' | 'error'
25 summary: string // "Editing src/foo.ts"
26 timestamp: number
27}
2

전송 계층

SSE, WebSocket, Hybrid 전송 구현

SSEWebSocket폴백재연결 백오프|cli/transports/HybridTransport.tscli/transports/SSETransport.tscli/transports/WebSocketTransport.ts

HybridTransport는 WebSocket(기본) + HTTP POST(폴백)을 결합한 전송 계층입니다.

src/cli/transports/HybridTransport.ts
1// src/cli/transports/HybridTransport.ts — 하이브리드 전송
2
3// 쓰기 흐름:
4// write(stream_event) ─┐
5// │ (100ms 타이머)
6// ▼
7// write(other) ────► uploader.enqueue() (SerialBatchEventUploader)
8// │ 직렬, 배치, 무한 재시도,
9// │ maxQueueSize 도달 시 백프레셔
10// ▼
11// postOnce() (단일 HTTP POST)
12
13export class HybridTransport extends WebSocketTransport {
14 // stream_event 지연 버퍼
15 // 100ms 동안 content delta를 모아서 한 번에 POST
16 // → POST 횟수 감소 → Firestore 쓰기 충돌 방지💡
17 private streamEventBuffer: StdoutMessage[] = []
18
19 // 직렬화: 동시 POST 방지
20 // 왜? Bridge 모드에서 void transport.write() (fire-and-forget)💡
21 // 직렬화 없이 → 동시 Firestore 쓰기 → 충돌 → oncall 페이지
22 private uploader: SerialBatchEventUploader<StdoutMessage>
23
24 // 정상 종료 3초 유예
25 private static CLOSE_GRACE_MS = 3000
26}

💡 비유로 이해하기

각 행을 클릭하여 대응 관계를 확인하세요

🌍우편 배달 시스템
🤖Bridge 원격 실행
?

이해도 확인 퀴즈

HybridTransport가 WebSocket + HTTP POST를 결합하는 이유는?

학습 체크리스트

이해한 항목을 체크하고 학습 진도를 확인하세요

0/5 완료0%

📋 전체 교과서 최종 요약

이 챕터에서 배운 핵심 개념을 정리합니다

1
에이전트의 본질
LLM + 도구 + 상태 + 안전성 + 메모리. 단순 API 래퍼가 아닌 자율 시스템입니다.
2
대화 루프
QueryEngine이 입력→프롬프트→API→도구→결과→반복의 핵심 사이클을 관리합니다.
3
도구 시스템
Tool 인터페이스 + buildTool 팩토리 + 4단계 실행 파이프라인으로 50+ 도구를 통일합니다.
4
다계층 안전성
26개 권한 모듈, 131KB AST 파서, 8계층 규칙 소스로 보안을 다층 방어합니다.
5
컨텍스트 관리
4가지 컴팩션 전략과 4가지 메모리 타입으로 유한한 컨텍스트를 관리합니다.
6
멀티 에이전트
코디네이터-워커 패턴, 격리 수준, 재귀 방지로 에이전트 협업을 조율합니다.
7
확장 생태계
플러그인, MCP, 훅 시스템으로 기능을 무한히 확장할 수 있습니다.