RakuAI는 어떻게 작동하는가 — 처음부터 끝까지
폰으로 방을 스캔한다. 30초 후, 3D Gaussian splat이 존재한다. 이제 Claude에게 — 또는 ChatGPT, Gemini에게 — 그것을 조회하고, 주석을 달고, 안의 것들을 옮겨달라고 요청한다. 그것이 이 이야기의 전부다. 이 글은 각 단계가 실제로 어떻게 작동하는지, 오늘 무엇이 실제로 배포되어 있는지, 그리고 여전히 GPU 크레딧에 막혀 있는 것은 무엇인지에 대한 정직한 설명이다.
이번 글은 블로그에서 좀 다른 종류의 글이다. 평소 토요일 글들은 해결한 특정 문제나 버텨낸 특정 한 주에 대한 것이다. 이번 글은 전체 그림으로 물러난다 — RakuAI가 무엇인지, 그 조각들이 어떻게 연결되는지, 그리고 처음부터 끝까지 따라가 봤을 때 해자가 실제로 무엇인지. 진짜 이야기를 원하는 개발자 파트너에게 이걸 처음 설명해야 했을 때, 이런 글이 있었으면 좋았을 것 같다는 생각으로 쓴다. 피치덱 버전 말고.
한 문장으로 된 전제
당신은 폰으로 실제 장소를 스캔한다. 그 스캔은 3D Gaussian splat이 된다 — 수백만 개의 작고 투명한 타원체로 이루어진 사진같이 사실적인 재구성물이다. 그 splat은 어떤 LLM이든 호출할 수 있는 도구로 노출하는 런타임을 통해 서빙된다. LLM은 씬을 조회하고, 그 안에 무엇이 있는지 추론하고, 올바른 권한 하에서라면 그것을 변형할 수 있다. 게임 엔진 라이선스도 없다. 벤더별 통합도 없다. 모델 종속도 없다.
그것이 “스캔하라. 그리고 대화하라.”라는 아이디어다. 이제 그 사슬의 각 조각이 어떻게 작동하는지 살펴보자.
1단계: 캡처 — 폰 비디오에서 원본 프레임으로
진입점은 rakuai.com/capture-app/에 있는 프로그레시브 웹 앱(PWA)이다. 설치 없이 모바일 브라우저에서 실행된다. 사용자는 피사체 — 방, 물체, 보존할 가치가 있는 공간 — 주위를 천천히 걸으며 30초에서 60초 분량의 비디오를 녹화한다.
PWA는 비디오 프레임을 묶어서 백엔드의 POST /api/v1/capture로 업로드하며, 이 백엔드는 api.rakuai.com에서 Azure Container Apps 위에서 실행된다. 백엔드는 FastAPI 서비스로 — 약 9,500개의 REST 엔드포인트를 가지고 있으며 — 업로드를 인증하고, 메타데이터(원본 파일명, 콘텐츠 타입, 캡처 타임스탬프)를 기록하고, 원본 입력 번들을 Azure Blob Storage에 저장한다.
이 부분은 실제로 배포되어 있다. 업로드 경로는 오늘, 가입한 누구에게나 작동한다.
2단계: 재구성 — COLMAP 특징 추출에서 포인트 클라우드로
백엔드는 재구성 작업을 recon-worker라는 Container Apps 잡 러너에 디스패치한다. 이것이 가장 먼저 하는 일은 업로드된 프레임 전체에 걸쳐 Structure from Motion 라이브러리인 COLMAP을 실행하는 것이다. COLMAP은 프레임 간 매칭 특징을 식별하고 카메라 위치를 계산하여, 희소한(sparse) 3D 포인트 클라우드를 생성한다.
이 단계는 CPU 바운드이며 GPU가 필요하지 않다. 오늘 실제로 실행된다.
3단계: Splat 학습 — Brush가 포인트 클라우드를 Gaussian splat으로 바꾼다
이것이 연산 집약적인 단계다. 재구성 워커는 COLMAP 포인트 클라우드와 원본 프레임들을 3D Gaussian Splatting 트레이너인 Brush v0.3.0에 공급한다. Brush는 수백만 개의 작은 3D 가우시안을 씬에 피팅한다 — 각 가우시안은 위치, 방향, 스케일, 불투명도, 시점 의존적 색상을 가진 3D 공간 상의 타원체다. 출력은 입력과 함께 Azure Blob Storage에 저장되는 .ply 또는 .spz 파일이다.
정직하게 말하면, 이 단계는 GPU가 필요하다. Azure A10에 대한 GPU 쿼터는 검토 중이다. AWS Activate 크레딧은 승인 대기 중이다(2026-05-28 신청). 둘 중 하나가 확보될 때까지, 프로덕션 재구성 워커는 시뮬레이션된 백엔드로 폴백한다 — 아키텍처는 연결되어 있지만 GPU 경로는 아직 실제로 배포되지 않았다. 이것은 얼리 액세스이지, 완성된 소비자 제품이 아니다.
4단계: MCP 런타임 — 17개의 도구 + 약 9,500개의 패스스루 엔드포인트
이 부분이 splat을 정적 파일이 아니라 살아 있는 공간 오브젝트로 만들어주는 부분이다.
런타임은 C++ 엔진이다: 물리, 렌더링, 오디오, 트래킹, 멀티플레이어 상태, AI 오케스트레이션을 위한 서브시스템에 걸친 18개의 네이티브 DLL, 30,738개의 익스포트 함수. 2026년 4월부터 Windows, Linux, macOS에서 CI 그린을 유지하고 있다.
엔진 위에서, MCP 서버는 두 개의 표면을 노출한다.
17개의 네이티브 도구(읽기 전용 5개 + 변형 12개) — 외부 에이전트가 씬과 상호작용하는 데 사용하는 타입 지정 계약이다. 읽기 전용 도구는 모든 환경에서 작동한다. 변형 도구는 명시적인 권한 부여가 필요하며 프로덕션에서는 기본값으로 거부된다.
약 9,500개의 패스스루 엔드포인트 — MCP 릴레이를 통해 노출되는 raku-api의 전체 FastAPI 표면이다. 백엔드의 어떤 라우트든 릴레이를 통해 도달할 수 있으며, 이는 LLM에게 캡처 이력, 작업 상태, 씬 메타데이터, 그리고 백엔드의 전체 조회 표면에 대한 접근을 제공한다.
MCP 서버는 Azure Container Apps 위 api.rakuai.com에서 호스팅된다. Claude Desktop, ChatGPT, Gemini를 위한 릴레이는 실제로 배포되어 있다. 서버는 stdio 트랜스포트로 대화하고, 모든 호출을 감사 추적(audit trail)에 기록하며, 세션별 레이트 리밋을 강제한다.
5단계: 멀티벤더 LLM 접근 — 실제 해자
Model Context Protocol을 말할 수 있는 어떤 모델이든 커스텀 통합 없이 런타임에 연결하여 캡처된 씬에 대해 도구를 호출할 수 있다. Claude, ChatGPT, Gemini, Copilot — 이들 모두에게 계약은 동일하다.
런타임은 계약을 한 번 작성한다. 모델들은 그 계약에 적응한다. 새로운 모델 랩이 MCP 클라이언트를 출시하면, 우리 쪽의 코드 변경 없이 런타임에 대해 작동한다.
런타임은 반대편에 어떤 모델이 있는지에 대해 아무런 의견이 없다. 물리, 충돌, 점수, 렌더링, 씬 상태에 대한 권한을 유지한다. 모델은 조회와 의도를 제공한다. 양쪽 모두 타입 지정 도구 표면을 통하지 않고서는 서로의 존재를 알 필요가 없다.
이것이 바로 해자다. 물리적 세계를 정직하게 캡처하고, 손실 없는 3D 표현으로 저장하며, 개방된 프로토콜을 말하는 어떤 LLM이든 조회할 수 있게 한다. 하나의 모델에 갇혀 있지 않다. 하나의 사용 사례에 갇혀 있지 않다. 하나의 하드웨어 벤더에 갇혀 있지 않다.
오늘 실제로 배포된 것과 로드맵인 것
오늘 실제로 배포됨: - 폰 캡처 PWA, Azure Blob으로의 업로드 - COLMAP 특징 추출과 포인트 클라우드 - 백엔드 인프라(FastAPI 약 9,500개의 REST 엔드포인트, Redis 잡 저장소, 티어 인식 레이트 리밋) - 17개의 네이티브 도구 + 약 9,500개의 패스스루 엔드포인트를 갖춘 MCP 런타임 - Claude, ChatGPT, Gemini를 위한 호스팅된 MCP 릴레이 - 멀티벤더 도구 계약(stdio, 기본값 거부, 전체 감사 로그) - 무료 티어와 Pro 베타 티어(Pro 베타는 베타 기간 동안 $0)
게이트됨(얼리 액세스 — 며칠 내 예상): - Azure A10에서의 실제 GPU splat 학습(쿼터 검토 중) - AWS G5에서의 실제 GPU splat 학습(Activate 크레딧 검토 중)
로드맵(아직 배포되지 않음): - 캡처 PWA 안의 실시간 splat 뷰어(three.js Gaussian splat 렌더러는 연결되어 있음; 처음부터 끝까지 이어지는 데모는 학습된 splat이 필요함) - 셀프서비스 프로덕션 변형 권한 부여 - 서드파티 어댑터 생태계(퍼스트파티 레퍼런스 어댑터는 존재함; 폭넓은 생태계는 로드맵)
2026년 5월부터 NVIDIA Inception 멤버.
왜 “추론 전용”이 한계가 아닌가
이 런타임은 모델을 학습시키지 않는다. 모델을 파인튜닝하지 않는다. 그 안에서 모델을 실행하라고 요구하지 않는다. 당신이 이미 가진 모델 — 무엇이든, 어디에 있든, 어떻게 라이선싱되어 있든 — 은 MCP를 통해 연결되어 외부에서 런타임을 구동한다.
이것은 의도적인 아키텍처 선택이다. 학습과 추론은 별개의 관심사다. 런타임은 공간 물리, 결정론적 상태 관리, 다중 사용자 동기화, 저지연 렌더링에 능하다. 모델 랩은 추론, 생성, 언어에 능하다. MCP 계약이 그 둘 사이의 경계다. 어느 쪽도 상대방의 일을 할 필요가 없다.
추론 전용이라는 것은 또한 서빙을 위한 GPU 상주 요구사항이 없다는 것을 의미한다. 연산 집약적인 단계(splat 학습)는 캡처당 일회성 비용이다. 그 이후의 모든 것은 지오메트리와 MCP 조회이며 — API를 서빙하는 것과 동일한 Azure Container Apps 인스턴스에서 실행된다.
정직한 요약
파이프라인은 이렇다: 폰 비디오 → COLMAP → Brush Gaussian splatting → Azure Blob → MCP 런타임 → 어떤 LLM이든. 다섯 단계 중 네 단계가 실제로 배포되어 있다. 다섯 번째 단계(GPU splat 학습)는 연결되어 있고 크레딧을 기다리고 있다. 브라우저 안에서 루프를 닫아줄 뷰어가 다음 이정표다.
오늘 캡처 쪽을 직접 시도해보고 싶다면, PWA는 rakuai.com/capture-app/에 있다. Claude Desktop에서 MCP를 통해 씬을 구동해보고 싶다면, 가이드는 /developers/claude-desktop.html에 있다. 전체 도구 표면을 이해하고 싶다면, /mcp.html에 있다.
스캔하라. 그리고 대화하라.