원격 PTY 터미널의 WebSocket 실시간 스트리밍 및 다중 사용자 관찰 아키텍처
클라우드에서 에이전트를 실행하려면 컨테이너가 필요합니다. 브라우저로 관찰하려면 샌드박스의 아웃바운드 연결, 브라우저 소켓 백프레셔 제어, 명시적 종료 프레임이 필수적입니다.
에이전트를 클라우드로 옮기는 것은 쉬운 절반입니다. 제품의 사용성을 결정하는 핵심은 원격 머신과 브라우저 사이의 안정적인 연결 제어입니다.
화면이 더 이상 런타임이 아니다
에이전트를 클라우드로 옮기는 이유는 성능 때문이 아니라 실행을 특정 물리 기기로부터 분리하기 위함입니다.
모든 키 입력과 출력 바이트가 네트워크를 경유하게 됩니다.
샌드박스의 아웃바운드 연결
에이전트 머신에는 공개 엔드포인트가 없으며 제어 평면을 향해 단일 연결을 유지하고 모든 브라우저를 멀티플렉싱합니다.
따라서 도달 가능성보다 연결 유지 중 발생하는 혼잡 제어가 중요합니다.
첫 번째 은밀한 장애: 잘못된 소켓 측정
로그가 많은 빌드는 브라우저 렌더링 속도보다 빠르게 출력을 생성합니다.
샌드박스 로컬 소켓을 측정하면 제어 평면과의 고속 네트워크로 인해 버퍼 정체를 감지할 수 없습니다.
느린 수신측에서 감지하여 TCP 백프레셔를 샌드박스까지 역방향으로 전달해야 합니다.
공유 링크의 읽기 일시 중단은 수 밀리초 단위로 신속하게 제어되어야 합니다.
두 번째 은밀한 장애: 항상 응답하는 Ping
WebSocket ping은 OS 네트워크 스택이 자동 응답하므로 닫힌 탭도 응답하는 문제가 발생합니다.
제어 평면이 브라우저 종료를 샌드박스에 명시적으로 전달해야 합니다.
이것이 핵심인 이유
CLI를 컨테이너에 넣는 것은 간단합니다. 연결 상태를 정직하게 관리하는 것이 실용성의 핵심입니다.
파일 충돌 방지 보드는 별도 글에서, 비밀 정보 격리는 세 번째 글에서 다룹니다.
직접적인 답변
노트북을 닫아도 Claude Code가 계속 실행되나요?
네. 에이전트 프로세스와 저장소가 클라우드 머신에 있으므로 노트북을 닫아도 관람만 종료되고 실행은 계속됩니다.
클라우드 에이전트를 위해 로컬 네트워크 포트를 열어야 하나요?
아닙니다. 샌드박스가 제어 평면으로 아웃바운드 연결을 생성하므로 별도 포트 개방 없이 NAT 환경에서도 작동합니다.
관찰 중인 브라우저가 종료되면 작업은 어떻게 되나요?
작업은 계속 실행됩니다. 제어 평면이 샌드박스에 명시적으로 연결 종료를 통보하여 불필요한 출력을 방지합니다.