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

공개 두 달, 수면 아래에서는 수년

공개된 두 달이 쌓아 올린 것: 런타임, 루프 안의 AI, 자리 잡은 아키텍처.

공개 두 달, 수면 아래에서는 수년 C++ 코어, 안정적인 C API, 시뮬레이션 스텝 위의 AI Unity / Unreal / Web SDK 바인딩 안정적인 C API C++ 런타임 코어 서브시스템 DLL OpenXR 적합성 런타임으로서의 AI 매 시뮬레이션 스텝마다 클라우드 LLM 의도 + 온디바이스
첫날의 포부에 찬 문단이 이제는 레포 그 자체를 설명하는 문장이 되었다.

대부분의 "AI 네이티브" 엔진은 에디터에 채팅 패널을 덧붙이는 수준이다. RakuAI는 모델을 매 프레임의 제어 입력으로 다룬다. 두 달이 지난 지금, 그 논제는 슬라이드가 아니라 실제로 출시되는 코드다.

이번 토요일 계획은 속도를 늦추고 생각하는 것이었다. 주말 내내 커밋 세 개, 공개 로그를 시작한 이래 가장 낮은 수치다. 에이전트는 일부러 차분하게 돌아가고 있고, 내 관심은 새 코드 출시보다 아키텍처에 있다. 코드베이스는 주말을 시작할 때와 거의 같은 상태로 끝나는데, 이번에 하던 일의 종류를 감안하면 그것이 맞는 상태다.

두 달 전 오늘, 공개 런타임 레포는 빈 README였다. 그 뒤에 있는 엔진과 특허 자산은 그보다 훨씬 더 오래되었다. 글로 쓸 가치가 있는 주말은 필자가 상황을 점검하는 주말이다. 그래서 이번 글이 바로 그것이다.

오늘 시점에서 이 엔진이 실제로 무엇인가

아직 이 로그를 읽어오지 않은 사람에게 Raku를 한 문단으로 설명해야 한다면, 이렇게 될 것이다.

C++로 작성되고 안정적인 C API로 노출되며, Unity와 Unreal SDK 바인딩을 갖춘 크로스플랫폼 AR 런타임. 주로 AR 글래스를 타깃으로 하며 현재 사용 가능한 어떤 하드웨어에서도 동작한다(현재 Meta Quest 패스스루 지원이 진행 중이며, 데스크톱과 모바일 프리뷰 빌드도 있다). 처음부터 AI를 에디터 기능이 아니라 런타임의 관심사로 가정하고 설계되었다. 서브밀리미터 앵커링을 지원한다. 표준이 존재하는 곳에서는 OpenXR을 적합성 타깃으로 삼는다. 코드베이스는 개발 팀의 자율 코딩 에이전트들이 공개 이슈 큐를 통해 작업하며 만들어진다.

첫날이었다면 이 문단은 포부에 찬 미션 선언문이었을 것이다. 지금은 레포에 실제로 있는 것을 설명하는 문장이다.

지난 두 달 동안 놀랐던 점

세 가지다.

에이전트 주도 워크플로가 예상했던 것보다 훨씬 잘 확장되었다. 시작할 때는 자율 에이전트들이 개별 PR에서는 잘 작동하지만 여러 머지를 거치면서 진창이 되는 코드베이스를 만들지 않을까 하는 걱정이 있었다. 그 진창은 일어나지 않았다. 두 달 시점의 이 코드베이스는 내가 인간 팀에게서 물려받았던 2년 된 코드베이스보다 더 일관성이 있다. 그 이유는 내가 매주 주말마다 써온 그 규율이다(더 작은 큐, 더 이른 리뷰, 리뷰 독립성을 위한 멀티 벤더 페어링, 입력값으로서의 문서화). 이 규율들은 실제로 효과가 있다.

하드웨어 피벗은 두려워했던 것보다 비용이 적게 들었다. 제품 타깃을 AR1+에서 10월 초 AR2 Gen1로 옮기는 결정은, 비용이 커 보였기 때문에 며칠 동안 고민했던 결정이었다. 실제 비용은 PR 두어 개(철저한 리네이밍 작업, 문서 수정 작업)에 불과했다. 비용이 작았던 이유는 초기에 확립된 모듈형 아키텍처 덕분이다. 디바이스 클래스 경계를 알 필요가 없던 서브시스템들은 바뀔 필요가 없었다. 바뀌어야 했던 것들은 잘 정의된 표면을 통해 깔끔하게 바뀌었다. 그것이 아키텍처를 일찍 그려놓은 것에 대한 배당금이다.

파트너십 대화가 계획보다 일찍 시작되고 있다. 나는 연말까지 “엔진을 만들고, 데모를 출시하고, 그다음 파트너십 대화를 한다” 모드로 갈 거라고 예상했다. 실제 순서는 “엔진을 만들고, 그 과정에서 다음에 무엇을 만들지 알려주는 파트너십 대화를 하고, 그다음 그 대화들이 필요로 하는 것에 맞는 데모를 출시한다”였다. NTT QONOQ. Meta. 다음에 올 곳들은 아직 이름을 밝히지 않겠다. 지금은 대화가 데모보다 더 날카로운 상태인데, 좋은 자리에 있는 것이다.

아키텍처가 자리 잡은 부분

더 이상 다시 손댈 일이 없을 거라 예상하는 아키텍처 결정들의 짧은 목록이다.

  • 런타임은 C++이고 안정적인 C API로 노출된다. 다른 언어 바인딩들은 C++ 위가 아니라 C API 위에 얹힌다.
  • SDK는 첫날부터 멀티 바인딩이다. Unity와 Unreal은 1급 대상이다. Godot은 로드맵에 있다. 웹 네이티브도 로드맵에 있다. 병목은 C API이지 바인딩이 아니다.
  • 서브시스템은 DLL이다. 각각 공개 표면을 가지며, 어떤 서브시스템도 다른 서브시스템의 내부에 손대지 않는다. 표면은 리뷰된 PR로 관리된다.
  • AI는 에디터 기능이 아니라 런타임의 관심사다. 엔진 안에 있는 AI 작업은 매 프레임 시뮬레이션 스텝에서 실행된다. 엔진 안에 있는 클라우드 LLM 작업은 런타임에서 음성 파이프라인에 통합된다. 둘 다 저작 도구의 패널이 아니다.
  • OpenXR은 표준이 맞아떨어지는 곳에서 표준으로 채택된다. 벤더 고유 코드는 기능 플래그와 프로바이더 패턴 뒤에 놓인다. 새로운 OpenXR 적합 디바이스 타깃을 채택하는 것은 런타임 재작성이 아니라 벤더 고유 글루 레이어다.
  • 개발 프로세스는 설계상 멀티 벤더다. 코드 조각을 작성한 모델이 그것을 리뷰하는 모델일 수 없다. 특정 역할에서 현재 가장 뛰어난 모델을 보유한 랩이 다른 랩이 더 나아질 때까지 그 역할을 맡는다.

여전히 다시 손댈 것으로 예상하는 부분은 다음과 같다.

  • 온디바이스 추론과 클라우드 LLM 의도 사이의 정확한 역할 분담. TFLite 작업이 성숙해지고 클라우드 LLM 인터페이스가 실제 파트너들에 의해 사용되면서 이 부분은 더 날카로워질 것이다. 현재 선은 잠정적이다.
  • 경험 정의 파일 포맷의 형태. 뼈대는 있다. 스키마는 계속 진화할 것이다. 포맷이 안정화되기 전에 적어도 한 번의 메이저 버전 업이 있을 것으로 예상한다.
  • 멀티플레이어 AR을 위한 상태 동기화의 위치. 오늘 우리는 저지연 델타 채널을 가지고 있다. 올바른 장기적 답이 피어투피어 메시인지, 호스팅된 권위 서버인지, 아니면 어떤 하이브리드인지는 아직 정해지지 않았다. 12월에 출시되는 2인용 데모가 그 결정에 영향을 줄 것이다.

12월 프로덕션 준비를 향한 길

나는 조용히 “파트너들이 그 위에서 진지한 데모를 만들 수 있을 만큼 프로덕션 준비가 된” 12월 마일스톤을 목표로 삼아왔다. 그것은 공개 출시가 아니다. 그것은 내가 여섯 가지 남짓한 거친 부분들에 대해 경고하지 않고도 파트너 팀을 초대해 런타임 위에서 개발을 시작하게 할 수 있다고 여기는 내부 기준선이다.

그 기준선을 넘기 위해 아직 해야 할 일들이다.

  • 런타임을 위한 AI 서브시스템(비헤이비어 트리, 내비게이션 메시, 크라우드 시뮬레이션, 지각 시스템, 의사결정 트리). 현재 설계 문서에 뼈대만 있고, 구현은 12월과 1월 첫 주말에 들어간다.
  • Windows MSVC 빌드 청결성. 10월 이후로 실제로 Visual Studio 2026에서 런타임을 빌드해본 적이 없다. 이건 아마 한바탕 싸움이 될 것 같다. 해보고 나서 글로 쓰겠다.
  • Unity와 Unreal 바인딩 모두를 통해, 음성 파이프라인과 클라우드 LLM이 연결된 상태로, 사소하지 않은 AR 경험을 처음부터 끝까지 보여주는 표준 샘플 패키지.
  • 현장의 디바이스에 모델 업데이트를 배포하기 위한 페더레이티드 동기화 경로. 암호화 부분은 스텁 수준이 아니라 프로덕션 등급이어야 한다.
  • 런타임 업데이터. 파트너의 개발 키트에 새 빌드를 출시해서 깔끔하게 설치되도록 해야 한다.

그것이 목록이다. 이를 마무리할 시간은 6주. 12월의 커밋 볼륨은 높을 것이다.

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

두 달 동안 이 공개 로그를 읽어왔다면, 엔진이 실시간으로 조립되어 가는 것을 봐왔을 것이다. 속도는 빠르고, 규율은 진짜이며, 아키텍처 결정은 문서화되어 있다. 그것이 이 엔진이 만들어지고 있는 엔지니어링 문화다. 그 위에서 개발한다면 함께 일하게 될 엔지니어링 문화이기도 하다.

진지한 대화를 시작할지 고민하는 파트너라면, 지금은 대화가 데모보다 더 날카로운 상태이고 그것은 의도적인 것이다. 나는 데모를 만들고 나서 그것을 당신의 필요에 맞추려고 애쓰기보다, 당신의 제품이 실제로 무엇을 필요로 하는지 듣고 그것이 무엇을 만들지를 형성하게 하는 편을 택하겠다. 12월에 나오는 것을 형성할 수 있는 창은 11월 말까지 열려 있다.

안정성을 기다리는 개발자라면, 안정성은 12월의 산출물이다. 엔진은 오늘 아직 활발하게 진화하고 있어서 지금 그 위에 진지한 의존 코드를 만드는 것은 권하지 않는다. 오늘로부터 두 달 뒤에는 그 권고가 달라질 것이다.

조용한 토요일. 두 달째. 다음 주말에는 다시 만드는 일로 돌아간다.

우리가 출시할 것을 형성할 창이 열려 있다

RakuAI는 12월 프로덕션 준비 마일스톤을 향해 가는 AI 네이티브 공간 런타임이다. 파트너라면, 다음에 무엇이 만들어질지를 형성하는 대화가 지금 진행 중이다.

← 전체 글