블로그 › 시리즈

AI와 함께 코딩 배우기

AI 에이전트와 나란히 프로덕션 소프트웨어를 만드는 시리즈. 무엇이 잘 되고 무엇이 무너지는지, 그리고 AI가 기능이 아니라 런타임 프리미티브가 될 때 아키텍처가 어떻게 달라지는지.

1. 엔진을 쓰기 전에 에이전트부터 그리다

공간 런타임의 코드가 단 한 줄도 존재하기 전, 이 토요일은 그것을 만들 에이전트 함대를 그리는 데 쓰였다. Product, SDK, Studio, Marketing, Operations, AI 전략, 그리고 감시자를 감시하는 거버넌스 레이어까지. 이것이 한 명의 인간으로 이루어진 팀을 출시 가능한 엔진 회사로 슈퍼차지하는 방법이다 - 에이전트가 아키텍처보다 먼저 오는 이유는, 에이전트가 아키텍처를 형성하기 때문이다.

2. 여덟 개의 데모, 제로 코드: SDK가 위해 존재해야 하는 것

공간 런타임이 무엇을 위한 것인지 증명하는 여덟 개의 정본 데모 - 아레나 멀티플레이어, AR 코칭, HUD 디자이너, 스트리머 모드, 매장 접점 오버레이, 컴패니언 HUD, 에임 트레이너, 멀티플레이어 HUD 동기화. 작성된 코드는 제로, 명세된 것은 전부. 데모가 곧 스펙이며, 이것이 RakuAI가 당신의 AI가 실제 세계에 거주하게 되었을 때 무엇을 할 수 있는지 보여주는 방식이다.

3. 종이 위에 SDK 폴더 구조 스케치하기

폴더 구조는 코드의 조직도다 - 초반에 제대로 해두면 향후 2년간의 모든 PR이 올바른 자리에 안착한다. 이번 토요일은 코드가 하나도 존재하기 전에 SDK의 뼈대를 그렸다: /apps, /modules, /assets, /docs, /config, 그리고 에이전트들이 만드는 코드가 지켜야 할 계약을 고정하는 모듈 스텁까지. 이것이 AI가 만든 공간 런타임을 몇 년 동안 일관되게 유지하는 규율이다.

4. 첫 커밋 전 마지막 토요일

저장소가 열리기 전 마지막 토요일 - 그 뒤에는 석 달의 설계 작업이 있다. 에이전트 명단 확정. 데모 스위트 명세 완료. SDK 폴더 구조 확정. API 표면 초안 완료. 그 토대가 될 10년 묵은 특허 자산까지. 이것이 단 한 줄이 출시되기 전에 팀에 맞춰 공간 런타임을 설계한다는 것이 어떤 모습인지 보여준다.

5. 매주의 리듬을 시작하다

공개 로그의 0일차: 저장소가 살아 있고, 에이전트가 일하고 있으며, 하류의 모든 결정을 강제하는 요인으로 스마트 글래스 스펙이 책상 위에 있다. 베팅은 단순하다 - 가장 흥미로운 AI 경험은 당신이 서 있는 실제 장소에 고정된 공간 경험이라는 것. 이것이 매 프레임 당신의 모델로부터 지시를 받도록 명시적으로 만들어지고 있는 엔진이다.

6. 282개의 커밋, 공개 로그 첫 주말

이틀간의 키보드 작업, 그 아래에서 이슈 큐를 갈아치우는 자율 에이전트들, 그리고 일요일 밤까지 런타임 저장소에 쌓인 282개의 커밋. 메인 루프, 레이턴시 트래커, SDK가 연결할 수 있게 하는 C API - 여기 무엇이 출시되었고, 무엇이 망가졌고, 에이전트 기반 루프가 마침내 맞물릴 때 어떤 모습인지가 있다. 이것이 한 명의 인간으로 이루어진 런타임 팀을 슈퍼차지한다는 것의 의미다.

7. SDK가 표류하기 전에 따라잡기

모든 멀티 저장소 프로젝트는 같은 방식으로 죽는다 - 한 저장소가 앞서 나가고, 다른 저장소는 조용히 썩어간다. 이번 토요일은 Unity와 Unreal HelloAR이 동일하게 작동하도록 연결하고 그 격차를 불가능하게 만드는 패리티 테스트 게이트를 구축했다. 이것이 공간 런타임과 그 바인딩을 몇 년 동안 일관되게 유지하는 규율이며, 그래서 당신의 바인딩 선택이 결코 어떤 기능도 막지 않는다.

8. 실리콘이 도착하기 전에 하드웨어를 검증하기

제품 타깃을 AR1+에서 AR2 Gen1으로 전환한 다음, 아직 책상 위에 없는 하드웨어를 위한 열 검증, Wi-Fi 7 안정성, 센서 브링업 하니스를 출시한다. 실리콘이 도착하면, 검증은 90일차가 아니라 첫날부터 시작된다. 이것이 RakuAI가 경쟁자보다 더 빠르게 당신의 하드웨어 위에서 출시되는 방법이다 - 비싼 부분은 이미 지불되었다.

9. 서브밀리미터 앵커링과 서예 문제

파트너 대화에서 나온 잔인한 정밀도 목표: 서예 연습지 위에서의 서브밀리미터 오버레이 드리프트. 토요일 저녁까지 런타임은 서브밀리미터 앵커 포즈 API, 실시간 펜촉 트래킹, 마커 기반 종이 감지를 갖췄다. 이것이 AR을 장난감에서 튜터로 바꾸는 종류의 정밀도다.

10. 일부러 에이전트 속도를 늦추기

여든 개 대신 서른일곱 개의 커밋, 일부러 그렇게 했다. 에이전트 큐를 줄이고 속도를 늦춰서 실제로 무엇이 들어오는지 제대로 읽을 수 있게 했더니, 코드베이스가 오히려 더 깔끔해졌다. 에이전트가 만든 런타임을 따로따로는 깨끗하지만 전체적으로는 엉망인 PR 더미가 아니라 일관성 있게 유지하는 원칙을 소개한다.

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

공개 엔지니어링 로그 두 달, 그 아래에는 수년의 작업. 조용한 토요일에 상황을 점검한다. 크로스플랫폼 C++ AR 런타임, 시뮬레이션 스텝에 녹아든 AI, 자리 잡은 아키텍처, 그리고 눈앞에 보이는 12월 프로덕션 준비 마일스톤. AI 네이티브 공간 런타임이 미션 선언문에 머물지 않고 실제 레포가 되었을 때의 모습이다.

12. Blade에서 Raku로, 코드베이스 전체를 바꾼 토요일 리네이밍

임시 이름이 드디어 벗겨졌다. 주말 동안 에이전트들이 Blade와 ar1-runtime이라는 모든 참조를 모든 레포에서 Raku로 쓸어냈다. 빌드 손상도 호환성 손상도 없었다. 이 이름은 편안함, 안락함, 그리고 사람의 손길을 뜻한다. 엔지니어링이 마침내 그것을 기다리던 브랜드를 따라잡았다.

13. 이제 Meta Quest도 타깃이다

Meta Quest가 이제 Raku의 타깃이 되었다. Horizon OS 위의 OpenXR, 컴포지션 레이어를 활용한 패스스루 AR, 스테레오 렌더링과 6DoF 트래킹, 이 엔진이 이제 공간 컴퓨팅에서 가장 큰 설치 기반 중 하나에 도달한다. 사용자가 이미 가지고 있는 하드웨어에서 그들을 만나고, 같은 경험을 나중에 글래스로 무료로 옮긴다.

14. ChatGPT, Claude, Gemini의 지시를 받을 수 있도록 만들다

엔진이 채팅 패널이 아니라 런타임의 관심사로서 어떤 클라우드 LLM의 지시든 받을 수 있게 된 주말. 일요일이 되자 XRAssistantService는 모델의 의도를 음성 파이프라인을 통해 스트리밍했고, 눈 추적 포비에이션이 출시되었고, Wi-Fi 7 오프로드 렌더링에는 실제 호스트가 생겼다. ChatGPT도 이걸 구동할 수 있다. Claude도 이걸 구동할 수 있다. Gemini도 이걸 구동할 수 있다. 그게 핵심이다.

15. OpenXR는 골격, 듀얼링크 라디오는 신경

이번 주말은 표준에 대한 진짜 베팅이었다. 일요일 밤이 되자 런타임은 그래픽 바인딩, 프레임 라이프사이클, 액션 동기화를 아우르는 OpenXR 백본을 갖췄고, 앱이 전혀 눈치채지 못하는 사이 라디오를 즉석에서 전환하는 듀얼모드 RF/광학 링크 매니저도 갖췄다. 표준이 있는 곳에서는 표준을 채택하고, 없는 곳에서는 직접 만들고, 표준이 따라잡으면 다시 채택할 준비를 해둔다.

16. Claude가 쓰고, Gemini가 리뷰하고, ChatGPT가 말상대가 되어준다

3개월이 지나며 개발 워크플로는 멀티 벤더 리듬으로 자리 잡았다. Claude가 런타임을 작성하고, Gemini가 diff를 리뷰하고, ChatGPT가 아키텍처의 말상대가 되어주고, Copilot이 자동완성을 한다. 가장 중요한 단 하나의 규칙은, PR을 작성한 모델이 그것을 리뷰하는 모델이 될 수 없다는 것이다. 이것이 AI 네이티브 런타임을 만드는 워크플로이며, 런타임 그 자체가 모델들을 대하는 태도이기도 하다.

17. 스텁을 발견한 그 토요일

마흔일곱 개의 함수가 실제 작업을 한다고 주장했다. 마흔일곱 개가 자리표시자를 반환하고 있었다. 에이전트들이 조용히 착지시켜 놓은 스텁을 찾아 나섰던 이 토요일, 나는 감사, 테스트, 그리고 에이전트가 작성한 코드를 에이전트가 신뢰할 만한 코드로 바꾸는 규율을 만들었다. 공간 런타임을 안심하고 개발할 수 있게 만드는 정직함이다.

18. Visual Studio 2026이 우리 코드를 싫어했던 주말

이백 개의 오류, 여섯 개의 카테고리, 열두 개의 PR, 이틀, 그리고 이 런타임 역사상 첫 그린 x64 빌드. 크로스플랫폼 공간 엔진을 MSVC 2026 Insiders로 옮기는 작업의 내막, 어떤 C++ 코드베이스든 부딪히게 될 여섯 가지 오류 클래스, 그리고 그것들을 고친 에이전트 주도 스윕들. 세 개의 플랫폼, 하나의 런타임, Windows에 출시할 준비 완료.

19. 엔진이 어른이 된 주말

온디바이스 SLM 추론을 위한 TensorFlow Lite, AES-256-GCM 페더레이티드 동기화, OpenXR 컴포지션 레이어, 칼만 필터링된 앵커 안정화, 그리고 광학 채널을 위한 하드웨어 추상화 레이어가 들어온 276개 커밋짜리 주말. 이것은 RakuAI가 연구 프로젝트이기를 멈추고 실제 플랫폼의 표면적을 갖추게 된 주말이다. 스마트 글래스와 AI 랩들이 그 위에 개발할 뼈대다.

20. 자율 에이전트가 열 개의 서브시스템을 출시한 주말

밤사이 139개의 커밋. 내가 계속 채워 넣는 큐를 기반으로 돌아가는 자율 에이전트가 대부분을 작성해, 열 개의 근간 서브시스템이 단 한 주말 만에 출시됐다. 엔진의 근간이 에이전트를 '위해서' 덧붙여진 것이 아니라 에이전트에 '의해' 만들어질 때 실제로 어떤 모습인지, 그리고 그 선택이 여러분의 AI가 살아갈 런타임의 모든 아키텍처 결정을 어떻게 좌우하는지 다룬다.

21. AI는 공장이 아니라 신경계다

2026년 'AI 네이티브'를 표방하는 엔진 대부분은 그저 챗 패널을 덧붙였을 뿐이다. RakuAI는 다르게 만들어졌다 — AI는 매 프레임 루프 안에 있는 런타임 프리미티브이며, 공장보다는 신경계에 가깝다. 아키텍처 층위에서 'AI 네이티브'가 실제로 무엇을 의미하는지 하나만 읽는다면, 이 글을 읽어라.

22. 핑크빛 그래픽, 폭주하는 점수, XR 크래시. 하루 토요일에 버그 네 개.

서로 무관한 버그 네 개, 겹치는 서브시스템은 하나도 없이, 한 번의 토요일. 셰이더가 없어 핑크로 렌더링되는 그래픽. 두 번 카운트되는 점수. 하드한 XR 부팅 크래시. 잠기지 않는 카메라. 이것은 모든 유닛 테스트를 빠져나가는 종류의 통합 실패이며, 부서진 데모를 파트너가 신뢰할 수 있는 런타임으로 바꾸는 초기화 순서, 이벤트 소유권, 부팅 가디언 규율에 관한 이야기다.

23. 엔진이 여러분이 가져온 어떤 모델과도 대화하는 방법

AI가 여러분 엔진 안의 런타임 프리미티브라면, 여러분이 연결해 둔 모델에 갇히게 되는 걸까? 아니다 — AI 레이어는 임포트가 아니라 인터페이스로 노출되어 있다. 여섯 개의 서브시스템, 모델 관리 API, 모델이 아니라 능력을 이름 짓는 파일 포맷. 캐리 코드 한 줄 건드리지 않고 RakuAI가 어떤 모델, 어떤 벤더, 어떤 추론 경로든 교체할 수 있게 하는 경계선이 여기 있다 — 그리고 모델 시장이 요동칠수록 그것이 왜 점점 더 중요해지는지.

24. 데모가 조용히 망가졌을 때

크래시보다 나쁜 것: 크래시하지도 않고, 에러도 내지 않고, 그렇다고 작동하지도 않는 데모. 죽은 입력. 완성된 게임의 옷을 입은 플레이스홀더 씬. 아무 말도 하지 않는 로그. 엔진이 조용히 실패하기를 거부하도록 만든 토요일 — 시끄러운 실패, grep 가능한 에러, 인접성 감사라는 규율이 공간 런타임을 그 위에 만드는 사람들에게 정직하게 유지시켜 준다.

25. 테스트 통과율 54%에서 100%까지

세 번의 주말 만에 54%에서 100%로. 테스트 러너는 여러분의 기분도, 스타 개수도, 로드맵도 신경 쓰지 않는다 — 여러분의 공간 런타임이 실제로 얼마나 작동하는지 정확히 말해줄 뿐이다. 우리가 그 간극을 근본 원인 하나하나씩 좁혀 나간 방법, 그리고 통과율이 파트너가 물어볼 수 있는 가장 정직한 신호인 이유를 다룬다.

26. 300개 파일을 손상시킨 찾기-바꾸기

깊은 감사 작업에서 마음에 들지 않는 두 가지를 발견했다: 300개 파일에 걸쳐 조용히 식별자를 뒤죽박죽으로 만든 지나치게 넓은 찾기-바꾸기, 그리고 공개 소스 파일 안의 하드코딩된 라이선스 시크릿. 둘 다 하루 만에 고쳤다. 이것은 에이전트 기반 코드베이스가 가장 노출되어 있는 실패 모드에 대한 정직한 현장 안내서이며, 그것들을 잡아내는 가드레일에 관한 이야기다.

27. 토요일 하루 만에 O(N²) 알고리즘 일곱 개 교체하기

일곱 개의 O(N²) 플레이스홀더, 하루의 토요일, 그리고 흔들리던 데모를 비명을 지르는 런타임으로 바꿔놓은 프로덕션 알고리즘들. RakuAI가 AI가 작성한 코드를 엔진급 성능으로 바꾸는 방법, 그리고 알고리즘 감사가 여러분의 공간 스택이 받을 수 있는 가장 빠른 업그레이드인 이유가 여기 있다.

28. 게임 디자인을 코드처럼 핫 리로드하기

여러분의 경험은 바이너리가 아니라 파일이다. .raku 포맷은 JSON이다 — 스키마 버전이 매겨지고, diff 가능하고, 핫 리로드 가능하며, 런타임 AI가 매 프레임 꽂히는 명시적 훅을 갖췄다. 실제 파일이 어떻게 생겼는지, JSON이 왜 커스텀 DSL보다 나은지, 그리고 '풀 리퀘스트로 리뷰되는 게임 디자인'이 어떻게 우리의 실제 워크플로가 됐는지 여기 있다.

29. Gemini가 Claude의 PR을 리뷰했다. 서른여섯 개의 코멘트 끝에, 코드는 더 나아졌다.

Claude가 여덟 개의 서브시스템 PR을 작성했다. Gemini가 이를 리뷰하며 서른여섯 개의 코멘트를 남겼다 — 그중 두 개는 그대로 배포됐을 스레드 안전성 버그였다. 멀티벤더 리뷰 패턴이 제 값을 하는 순간이다. 다른 모델, 다른 사각지대, 더 속이기 어려운 코드. 진지한 파트너라면 모든 엔진 팀에 물어야 할 규율의 신호다.

30. 병목은 애초에 타이핑이 아니었다

다섯 개의 에이전트, 다섯 개의 브랜치, 하나의 코드베이스, 한 번의 주말: 112개의 커밋. 병목은 더 이상 타이핑이 아니다 — 어떤 네 개의 문제가 네 번의 병렬 시도를 할 가치가 있는지, 그리고 어떤 두 개의 결과가 남길 만큼 충분히 좋은지를 결정하는 것이다. 일은 시니어 IC에서 잠들지 않는 팀의 테크 리드로 바뀌었다.

31. 토요일 아침의 여덟 가지 보안 발견 사항

한 엔터프라이즈 파트너의 보안팀이 우리 API 표면에 대해 실사를 진행했고 여덟 개의 치명적/높음 등급 발견 사항을 가지고 돌아왔다. 모든 항목이 토요일 밤까지 수정이 배포되었다. 여기 그 카테고리들, 새로운 영구 가드레일, 그리고 에이전트 주도 런타임이 의도적으로 방어해야 하는 실패 양상들을 정리한다.

32. dxcompiler.dll을 찾지 못한 테스트

여덟 개의 테스트, 하나의 윈도우 에러 코드, 런타임이 그것 없이는 부팅할 수 없었던 셰이더 컴파일러 DLL 하나. 이 수정은 하드한 로드타임 의존성을 우아하고 관찰 가능한 폴백으로 바꿔놓았다 — 그렇게 엔진은 완전히 갖춰진 개발자 워크스테이션뿐 아니라 어디서든 실행된다. 이식성은 파트너가 값을 치르는 기능이다.

33. Linux에서 초록빛이 된 열여덟 개의 DLL

열여덟 개의 네이티브 라이브러리에 흩어진 347개의 태그 없는 함수가 심볼 가시성 기본값에 가려진 채, 한 번에 하나씩 undefined-reference로 Linux 빌드를 깨뜨리고 있었다. 근본 원인까지 추적해 말끔히 정리하고, 공개 심볼을 떨어뜨리는 PR을 실패시키는 CI 가드 뒤에 잠갔다. 이제 Linux는 일급 타깃이다 — 그리고 코드베이스는 모든 플랫폼에서 더 정직해졌다.

34. 오늘 모든 LLM 호출자가 프롬프트 길이 가드를 갖게 됐다

15배의 비용 급증이 런타임이 LLM과 대화하는 모든 지점에 대한 감사로 이어졌다 — 그리고 상한도, 절단도, 방어도 없이 무제한 프롬프트를 보낼 수 있는 다섯 개의 호출자를 발견했다. 토요일 오후까지 모든 호출자는 호출당 예산, 텔레메트리, 회귀를 막는 CI 체크를 갖춘 하나의 공유 가드를 거치게 됐다. 공간 런타임이 프롬프트 길이 규율을 잊는 것을 불가능하게 만드는 방법이 이것이다.

35. Meshy 파이프라인과 포즈 추정을 망가뜨린 로브

Meshy.ai를 6주 동안 7단계 에셋 파이프라인에 통과시키며 팀은 API 문서에 없는 세 가지를 배웠다. 로브는 포즈 추정에 필요한 실루엣을 가린다. 일본어 캐릭터 이름은 stdout을 파일로 파이프하는 무엇이든 크래시시킨다. 그리고 Meshy의 remesh 엔드포인트는 스프린트 도중 사라질 수 있다. AI 생성 에셋을 공간 런타임을 위한 프로덕션급 콘텐츠로 바꾸는 일의 화려하지 않은 현실이다.

36. GDC와 모바일 플랫폼 블리츠를 돌아보며

2026년 3월 말은 GDC 전야 릴리스와 같은 주에 겹친 두 플랫폼 모바일 푸시였다. 무엇이 출시됐는지, 내가 비행기를 타기 48시간 전에 무엇이 깨졌는지, 그리고 diff상으로는 작아 보이지만 노트북 데모가 낯선 사람들 앞에서 어긋나지 않게 지켜준 수정들이 무엇이었는지 여기 정리한다. 컨퍼런스 속도로 공간 런타임을 출시한다는 것이 실제로 어떤 모습인지 보여준다.

37. 빌드가 더는 대들지 않게 된 토요일

diff상으로는 화려하지 않아 보이지만 프로젝트를 뒤바꿔놓은 정리 커밋들의 연속. Linux에서 초록빛이 된 열여덟 개의 DLL. 폭주하는 프롬프트 길이로부터 지켜지는 모든 LLM 호출자. 나타나는 모든 곳에서 /api/raku/로 이름이 바뀐 /api/v2/ 네임스페이스. 런타임 전체를 훑은 널 포인터 안전성. 빌드는 마침내 더는 대들지 않는 무언가가 되었다.

38. 여섯 개의 MCP 도구, 그리고 어댑터가 다음에 열어줄 것 (현재는 17개)

런타임은 3월 말부터 Model Context Protocol로 대화해왔다. stdio 트랜스포트 위에서 동작하는 여섯 개의 도구, 기본값이 거부인(deny-by-default) 권한 체계, 전체 감사 로그로 시작했고 이후 17개의 네이티브 MCP 도구로 확장되었다. 서버는 외부 에이전트가 엔진을 구동하기 위해 사용하는 경계다. 이 글은 여섯 개 도구였던 시점의 스냅샷과, 다음 단계의 실제 어댑터 및 파트너 통합이 무엇을 열어줄지에 대한 이야기다. 이것이 LLM 제작사들이 개발 대상으로 삼는 MCP 런타임이다.

39. 현실 세계에서 당신의 AI에 초능력을 부여하라

당신의 AI 어시스턴트가 공간 세계를 구축하거나 조회하거나 시뮬레이션해야 할 때 머무는 런타임. 2012년까지 거슬러 올라가는 다섯 개의 특허. 안경의 발열 한계에 맞춰 설계됨. 설계상 멀티벤더. 그 이유를 말한다.

40. RakuAI는 어떻게 작동하는가 — 처음부터 끝까지

폰 스캔에서 3D Gaussian splat으로, 그리고 멀티벤더 MCP를 통해 그것을 도구로 구동하는 어떤 LLM으로. 정직한 처음부터 끝까지의 설명: 오늘 실제로 배포된 것, GPU 크레딧에 막혀 있는 것, 그리고 왜 추론 전용 런타임이 해자인지.

41. 스캔하라. 그리고 대화하라. — 일상 공간을 위한 RakuAI Capture

실제 방을 폰으로 스캔하라 — 리그도, 마커도, 설치도 필요 없다 — 그러면 당신의 AI 어시스턴트가 MCP를 통해 읽고, 측정하고, 추론할 수 있는 3D 재구성물을 얻는다. GPU splat 학습은 며칠 내 도착 예정. 이것이 Raku Capture의 이야기다.