시리즈: AI와 함께 코딩 배우기

엔진이 어른이 된 주말

276개 커밋짜리 주말: 엔진을 어른으로 만든 다섯 개의 서브시스템.

엔진이 어른이 된 주말 연구 프로젝트가 플랫폼의 표면적을 얻다 276 커밋 / 한 주말 TFLite 온디바이스 SLM 공간 앵커 AES-256-GCM 동기화 OpenXR 컴포지션 칼만 앵커 필터 광학 채널 HAL 추적 중인 342개 TODO 중 약 150개 완료
276개의 커밋, 열 개의 플랫폼급 서브시스템, 카테고리가 바뀐 하나의 엔진.

코드베이스가 만들고 있는 것이기를 멈추고 다른 사람들이 그 위에 개발할 수 있는 것이 되는 순간이 있다. RakuAI에게 그 순간은 크리스마스와 새해 사이의 276개 커밋짜리 주말이었다.

코드베이스가 앞으로 나아가는 주말이 있고, 코드베이스의 카테고리가 바뀌는 주말이 있다. 크리스마스와 새해 사이의 이번 주말은 후자였다.

레포들에 걸쳐 이백일흔여섯 개의 커밋이 들어왔다. 이 런타임은 연구 프로젝트를 플랫폼으로 바꾸는 종류의 표면적을 얻었다. 공간 앵커. OpenXR 컴포지션. 온디바이스 소형 언어 모델 추론. 실제 암호화를 갖춘 페더레이티드 동기화. 광학 통신 채널을 위한 하드웨어 추상화. 대부분은 병렬 에이전트 작성 PR로 들어왔고, 두 달째 돌아가고 있는 멀티 벤더 워크플로를 통해 리뷰되고 머지되었다.

토요일 아침 커피와 함께 우선순위 높은 TODO로 가득한 큐 앞에 앉았다. 일요일 밤이 되자 나는 토요일에 열었던 것과는 다른 엔진의 노트북을 닫았다. 이 글은 무엇이 출시되었는지, 그것이 무엇을 의미하는지, 그리고 왜 내가 2026년이 다른 사람들이 이 엔진을 진지하게 받아들이기 시작할 해라고 생각하는지에 대한 것이다.

큰 착지들

SLM 추론을 위한 TensorFlow Lite C API. 이것이 내가 가장 신나 하는 것이다. 이제 런타임은 TFLite 포맷의 소형 언어 모델을 로드하고 1급 런타임 연산으로서 그것에 대해 추론을 실행할 수 있다. 동기는 단순하다. 모든 모델이 클라우드 왕복이어야 하는 것은 아니다. AR 경험을 구동하는 AI 행동 중 일부는 온디바이스에서 실행될 만큼 촘촘하고, 집중되어 있고, 작다. TFLite 경로가 우리에게 그것을 준다. XRAssistantService를 통한 클라우드 LLM 경로가 다른 쪽 끝을 준다. 이제 이 엔진은 양쪽 모두를 아우른다.

공간 앵커 완성 (Epic #555). 완전한 공간 앵커 라이프사이클. 생성, 지속, 디바이스 간 공유, 다른 세션에서의 복원, 만료. 지속성 레이어는 libcurl HTTP를 통해 클라우드에 백업되며, 암호화 레이어(AES-256-GCM, PBKDF2 키 유도)가 같은 주말에 들어왔다. 앵커는 이제 1급 런타임 객체다. 오늘, 내일, 한 달 뒤, 서로 다른 두 사람이 소유한 서로 다른 두 쌍의 글래스에 걸쳐, 같은 주방 조리대 위에 가상 물체를 놓아야 하는 AR 경험이 작동한다.

칼만 필터링된 앵커 포즈 안정화. 많은 것을 좌우하는 작은 것. 필터링되지 않은 앵커 포즈는 잘못된 느낌이 들 정도로 딱 그만큼 흔들린다. 칼만 상태 예측 필터링이 적용된 앵커 포즈는 견고하게 느껴진다. 이제 런타임은 그 필터를 자동으로 적용한다. 위쪽의 애플리케이션은 그것을 알 필요가 없다.

OpenXR 컴포지션 레이어 매니저와 액션 스페이스. 11월부터의 OpenXR 백본 작업을 이어간다. 컴포지션 레이어 매니저는 하나의 프레임이 카메라 패스스루, 사용자의 가상 콘텐츠, 그리고 어떤 시스템 오버레이든 올바른 순서와 올바른 블렌드 모드로 결합할 수 있게 해주는 것이다. 근본적이면서도 과소평가하기 쉽다.

공유 앵커를 위한 프로덕션 등급 AES-256-GCM 암호화와 UDP 피어 발견. 이것이 “같은 방에 있는 친구와 앵커를 공유”하는 것을 실제로 안전하게 출시할 수 있게 만드는 것이다. 공유 앵커 프로토콜은 처음부터 끝까지 인증된 암호화를 사용한다. 피어 발견은 클라우드 왕복을 거치지 않고 로컬에서 UDP를 통해 일어난다. 공유 AR을 위한 프라이버시와 지연 시간 스토리는 실재한다.

광학 채널을 위한 하드웨어 추상화 레이어 (33개 센서 TODO 해결). 디바이스에 존재할 때, 광학 링크는 이제 RF 링크와 대등하다. 둘 다 11월에 들어온 동일한 듀얼모드 링크 매니저 뒤에 추상화되어 있다. 위쪽의 런타임은 회선에 어떤 라디오가 있는지 신경 쓰지 않는다.

실제 암호화까지 연결된 페더레이티드 동기화. 페더레이티드 동기화 서브시스템은 가을 대부분 동안 스텁으로 돌아갔다. 이번 주말 그것은 실제 구현을 얻었다. HTTP 전송, JSON 봉투, 암호화 서명 검증. 이제 AI/ML 모델 업데이트를 페더레이티드 경로를 통해 디바이스에 안전하게 배포할 수 있다.

벤더 눈 SDK 통합과 토큰 검증. 몇몇 벤더 고유의 눈 추적 SDK가 이제 OpenXR 프로바이더 인터페이스 뒤에 연결되었고, 그 벤더의 라이선싱 레이어를 위한 적절한 토큰 기반 인증도 갖췄다.

렌더러 전반에 걸친 GPU 프로파일링 계측 (15개 TODO 해결). 패스별 GPU 타이밍, 메모리 예산, 파이프라인 스톨 감지가 이제 실시간으로 작동한다. 프레임이 길어지면 정확히 어느 패스가 예산을 소모했는지 볼 수 있다.

런타임 업데이터 기능 (10개 TODO 해결). 이제 런타임은 현장에서 스스로 업데이트할 수 있다. 버전 관리, 서명, 롤백까지. 이것은 필요할 때까지는 아무도 눈치채지 못하지만, 그 순간이 오면 플랫폼과 예술 프로젝트의 차이가 되는 종류의 배관 작업이다.

이 속도에서 배운 것

하나의 긴 연휴 주말에 걸친 이백일흔여섯 개의 커밋은 전통적인 개발 워크플로에서는 통하지 않는 속도다. 이 워크플로에서 통하는 이유는 그것이 내가 계속 채워 넣는 큐에 대해 병렬로 출시하는 에이전트들을 중심으로 만들어졌기 때문이다. 크리스마스에서 새해까지 그 속도로 달리며 얻은 몇 가지 관찰이다.

Epic 구조가 제 몫을 했다. 이달 중순쯤 나는 이슈 트래커를 하위 이슈들의 Epic 패턴(Runtime Core Phase 1을 위한 Epic #506, 공간 앵커를 위한 Epic #555, OpenXR 확장을 위한 Epic #508)으로 전환했다. 각 Epic은 일관된 작업 본체를 마무리하는 PR 하나를 얻는다. 에이전트들은 하위 이슈들을 병렬로 구현하지만, 머지는 하나의 원자적인 Epic 수준 PR로 일어난다. 그것은 코드베이스에 훨씬 더 깔끔한 히스토리를 주었고 리뷰를 다루기 쉽게 만들었다.

TODO 추적 시스템은 옳은 결정이었다. 이달 초 나는 코드베이스를 스캔해서 TODO 코멘트마다 우선순위와 함께 GitHub 이슈를 만드는 자동화된 시스템을 추가했다. 크리스마스 스프린트가 시작될 무렵에는 추적 중인 런타임 TODO가 342개였다. 에이전트들은 우선순위가 가장 높은 것부터 처리했다. 이번 주말 우리는 그중 대략 150개를 닫았다. 코드베이스는 12월 초에 비해 의미 있게 더 깔끔해졌다.

레포 간 머지 타이밍이 중요하다. 이번 주말 여러 Epic에 대해 런타임과 SDK는 서로 몇 시간 이내로 변경 사항을 착지시켜야 했다. 런타임이 새 C API를 발행하면, SDK는 같은 날 그 바인딩을 업데이트해야 한다. 나는 통합을 정직하게 유지하기 위해 몇 개의 SDK PR을 보류하고 몇 개의 런타임 PR을 같은 시간대에 머지했다.

에이전트들은 자신의 역할에 점점 더 능숙해지고 있다. 이번 주말 들어온 PR들은 9월에 들어온 PR들보다 눈에 띄게 더 깔끔하다. 그중 일부는 코드베이스가 더 성숙해진 덕분이다. 일부는 워크플로가 더 규율 있어진 덕분이다. 일부는 모델들 자체가 이 코드베이스가 만들어내는 종류의 작업에서 더 나아졌기 때문이다. 셋 다 실재한다.

2026년을 향해 가는 이 엔진의 현재 위치

체크리스트 버전이다.

  • AR1+에서 AR2 Gen1 피벗: 완료
  • OpenXR 백본: 완료
  • XRAssistantService를 통한 클라우드 LLM 의도 통합: 완료
  • TFLite를 통한 온디바이스 SLM 추론: 완료
  • 고정밀 오버레이를 위한 서브밀리미터 앵커링: 완료
  • 지속성, 공유, 적절한 암호화를 갖춘 공간 앵커: 완료
  • Wi-Fi 7 오프로드 렌더링 파이프라인: 완료
  • 듀얼모드 RF/광학 링크 매니저: 완료
  • 눈 추적, 손 추적, 전신 트래킹: 완료
  • 멀티 프로필 최적화를 갖춘 포비티드 렌더링: 완료
  • 센서와 광학 채널을 위한 하드웨어 추상화: 완료
  • 모델과 콘텐츠 배포를 위한 페더레이티드 동기화: 완료
  • 버전 관리와 롤백을 갖춘 런타임 업데이터: 완료
  • 멀티 플랫폼 빌드 (Linux, macOS, Windows MSVC 2026): 완료
  • 텔레메트리와 OpenTelemetry 파이프라인: 완료
  • 추적 중인 342개 TODO, 이번 달 약 150개 완료: 진행 중이지만 갖춰지고 있음

아직 끝나지 않은 것은 모델 레이어를 시뮬레이션 스텝에 묶는 AI 서브시스템들이다. 비헤이비어 트리. 내비게이션 메시. 크라우드 시뮬레이션. 지각 시스템. 의사결정 트리. 그것이 1월 첫째 주에 들어올 것으로 예상하는 작업이다. 런타임은 그것들을 받아들일 준비가 되어 있다. 오늘 이 엔진은 뼈대를 가지고 있다. 다음 주말에는 신경을 얻는다.

파트너, 빌더, 랩들이 이 글에서 가져갔으면 하는 것

이 엔진이 2026년에 당신의 디바이스에 출시될 수 있는지 가늠하는 하드웨어 파트너라면, 답은 그렇다이고, 그것을 실현하는 작업은 지금 시점에서는 대부분 벤더 고유의 글루다. 엔진 자체는 준비되어 있다.

AR 런타임에서 모델의 추론 예산을 가장 잘 쓸 수 있는 곳을 찾는 AI 랩이라면, TFLite 온디바이스 경로와 클라우드 LLM XRAssistantService 경로 둘 다 이제 프로덕션 품질이다. 당신의 모델이 온디바이스 예산에 맞는다면, 시뮬레이션 스텝에서 실행될 수 있다. 맞지 않는다면, 클라우드 경로가 열려 있다. 어느 쪽이든 이 통합은 모델 불가지론적이고, 나는 당신의 모델이 그 뒤에 있는 가장 좋은 모델이 되기를 바란다.

2026년에 이 엔진 위에 개발하는 것을 고민하는 개발자라면, 그 표면적은 실재한다. C API는 안정적이다. SDK 바인딩(Unity와 Unreal)은 실재한다. OpenXR 백본은 이 엔진이 여러 디바이스를 타깃한다는 것을 의미한다. 이 URL의 블로그는 이 엔진이 여기까지 어떻게 왔는지에 대한 공개 로그였다. 이 플랫폼에 경험을 가져올 때 엔지니어링 문화가 어떨지 알고 싶다면 다시 읽어보라.

276개의 커밋, 한 해가 저물고, 어른이 된 엔진. 다른 주말, 같은 워크플로. 다음 토요일 다시 개발로 돌아간다.

당신의 모델을 시뮬레이션 스텝에 두라

RakuAI는 TFLite를 통한 온디바이스 SLM 추론과 클라우드 LLM 경로 둘 다 출시한다. 모델 불가지론적이고, 프로덕션 품질이며, 당신의 가중치를 받을 준비가 되어 있다. 공간 런타임에서 당신의 추론 예산이 어디서 가장 멀리 가는지 확인해 보라.

← 전체 글