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

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

덧붙인 챗 패널과 프레임 루프 안의 AI 사이의 차이.

공장이 아니라 신경계 모델이 어디에 사는지가 세계가 할 수 있는 일을 결정한다 공장 모델 디스크 위 산출물 런타임이 소비 일방향, 유한, 사전 작성됨 신경계 감지 관찰 행동 적용 매 프레임
두 가지 아키텍처. 이 층위에서의 선택이 그 위의 모든 것을 제약한다.

'AI 네이티브'는 2026년 엔진 시장에서 가장 희석된 단어다. 챗 패널과, 모델이 매 프레임 루프 안에 있는 런타임을 가르는 아키텍처적 경계선이 여기 있다 — RakuAI가 그 위에 지어진 경계선이다.

2026년 스스로를 “AI 네이티브”라고 부르는 대부분의 게임 엔진과 공간 컴퓨팅 런타임은 대략 같은 것을 의미한다. 에디터 어딘가에 챗 패널이 있다. 원격 모델에게 애셋 생성을 요청하는 버튼이 있다. 모델이 무언가를 만들어낸다. 그것이 프로젝트에 떨어진다. AI가 등장하기 전부터 존재했던 런타임이 그것을 실행한다.

그것이 공장 패턴이다. 요청이 나간다. 산출물이 돌아온다. 엔진은 소비자다.

RakuAI는 그런 식으로 만들어지지 않았다. AI는 조립 라인의 한 정거장이 아니다. 런타임 안의 프리미티브다. 정신적으로 공장보다는 신경계에 더 가깝다. 지속적으로 존재하고, 매 프레임 루프 안에 있으며, 관찰하고, 결정하고, 반응한다. 그것을 제거하는 것은 기능 하나를 제거하는 게 아니다. 엔진의 나머지가 말이 되게 만드는 그것 자체를 제거하는 것이다.

아키텍처 층위에서 “AI 네이티브”가 실제로 무엇을 의미하는지 하나만 읽는다면, 이 글이었으면 한다.

두 가지 패턴, 풀어서 보기

여기 공장 패턴을 정직한 최소치로 압축한 것이 있다.

# Factory: AI produces artifacts. The runtime consumes them.
def author_session(prompt: str) -> Asset:
    response = remote_model.generate(prompt)
    asset = parse(response)
    save_to_project(asset)
    return asset

생애 주기는 단순하다. 사람이 타이핑한다. 모델이 만들어낸다. 파일이 디스크에 떨어진다. 런타임이 나중에 그 파일을 로드한다. 모델은 콘텐츠 벤더다. 산출물이 전달된 후에는 런타임이 그것과 다시 대화하지 않는다. 모델이 오프라인이 되어도 여전히 작동하는 엔진이 있다. 그저 애셋을 살 곳이 하나 줄어들 뿐이다.

이제 신경계 패턴이다.

# Nervous system: AI is wired into the simulation step itself.
def step(world, agents, dt):
    for agent in agents:
        observation = agent.senses.gather(world)        # what is around me
        intent      = agent.brain.observe(observation)  # AI is in the loop
        action      = agent.policy.choose(intent, dt)   # constrained by deterministic rules
        world.apply(action)
    return world

생애 주기가 다르다. 매 프레임, 모든 에이전트마다, 모델이 세계의 다음 상태에 기여한다. 모델은 벤더가 아니다. 참여자다. 그것을 제거하면 시뮬레이션은 어떤 애셋 라이브러리도 메꿀 수 없는 방식으로 흥미로움을 잃는다.

이 둘은 완전히 다른 아키텍처다. 이 층위에서 내리는 선택이 그 위의 모든 것을 제약한다.

공장 패턴이 주는 것

먼저 정직하게 말하자. 공장 패턴은 실재하고, 유용하며, 오늘도 출시되고 있다. 그것은 네 가지를 준다.

콘텐츠에 대한 속도를 준다. 나무 하나, 건물 하나, 레벨 레이아웃, 대사 한 줄을 생성하는 것. 실질적인 생산성 승리이고, 산출물-디스크 패턴은 그것을 얻는 가장 단순한 방법이다.

제공자 독립성을 준다. 산출물이 디스크에 살기 때문에, 런타임을 바꾸지 않고도 그것을 작성한 모델을 교체할 수 있다. 가질 만한 헤지다.

결정론적 재생을 준다. 산출물은 한 번 작성되면 고정된다. 같은 레벨의 두 플레이어는 같은 레벨을 본다.

깔끔한 실패 모드를 준다. 모델을 쓸 수 없으면, 엔진은 여전히 실행된다. 그저 콘텐츠를 덜 만들 뿐이다.

이것들은 실질적인 승리다. 여러분의 제품이 “사람이 게임을 만드는 것을 돕는 도구”라면, 공장 패턴이 아마 맞는 선택일 것이다. 비용은 숨겨져 있다. 공장 패턴이 할 수 없는 무언가를 시도할 때만 드러난다.

공장 패턴이 할 수 없는 것

공장 패턴은 작성자가 예견하지 못한 방식으로 플레이어에게 반응하는 세계를 만들 수 없다. 구조적으로, 공장 패턴 엔진의 모든 산출물은 플레이어가 도착하기 전에 작성되었다. 행동의 공간은 애셋 라이브러리와 엔진의 스크립트 로직의 데카르트 곱이다. 큰 공간이지만, 유한하다. 그 경계는 플레이해 본 지 한 시간 안에 눈에 보인다.

공장 패턴은 사전 스크립트되지 않은 세계에 대해 의미 있게 추론하는 NPC를 줄 수 없다. LLM 기반 대화 시스템을 꽂으면, 국소적으로는 설득력 있지만 전체적으로는 무기력한 대화의 풍미를 얻는다. NPC는 새로운 말을 할 것이다. 세계는 그에 반응해 변하지 않는다. 대화 시스템과 시뮬레이션은 평행선을 달리는 두 기차다. 결코 만나지 않는다.

공장 패턴은 실제 물리적 장소에 서 있는 실제 사용자의 실제 GPS 좌표에 경험을 적응시킬 수 없다. 그 마지막 지점이 내가 가장 신경 쓰는 것이다. 경험이 지구상의 특정 지점에서 일어나는, 실세계에 고정된 XR을 만들고 있다면, 가능한 모든 상호작용을 미리 작성할 수 없다. 세계는 너무 크다. 맥락은 너무 다양하다. 플레이어의 경로는 너무 예측 불가능하다. 루프 안에서 반응하거나, 아니면 관광 안내 책자를 출시하거나 둘 중 하나다.

이것이 RakuAI가 공장이 아닌 구조적 이유다.

“신경계”가 주는 것, 구체적으로

세 가지, 흥미로워지는 순서대로다.

하나: 말하기 전에 관찰하는 NPC. 에이전트의 두뇌가 매 프레임 실행되어, 플레이어가 실제로 있는 세계를 보고, 보이는 것에 근거해 무엇을 할지 결정할 때, 그 결과는 LLM을 덧붙인 대화 트리와는 질적으로 다르다. 에이전트는 비에 반응할 수 있다. 하루 중 시간에 반응할 수 있다. 플레이어가 아무것도 하지 않은 채 앞에 90초 동안 서 있었다는 사실에 반응할 수 있다. 그중 어느 것도 대화 안에 있지 않다. 모두 시뮬레이션 안에 있으며, 모델은 시뮬레이션을 직접 읽고 있다.

둘: 일어나는 장소를 중심으로 재구성되는 경험. 엔진 자체가 모델에 질의한다. 이 지형, 이 날씨, 하루 중 이 시간, 근처 관심 지점 이 집합이 주어졌을 때, 다음 조우는 어떤 모습이어야 하는가. 경험은 더 이상 녹화된 것이 아니다. 플레이어의 실제 맥락의 함수다. 다른 도시에서 같은 .raku 경험을 플레이하는 두 플레이어는 서로 다른 플레이 세션을 얻으며, 둘 다 일관성이 있다.

셋: 아키텍처에서 창발하는 행동. 이것이 처음 나타나기 시작했을 때 나를 놀라게 한 것이다. AI가 프리미티브일 때, 엔진의 모든 시스템이 그것을 불러내고 그것의 결정에 영향받을 수 있을 때, 시스템들은 어떤 단일 서브시스템 작성자도 설계하지 않은 방식으로 상호작용하기 시작한다. 지형을 관찰하는 에이전트가 경로 탐색 시스템에 영향을 준다. 경로 탐색이 군중 행동에 영향을 준다. 군중 행동은 다음 에이전트의 관찰에 입력값이 된다. 루프가 형성된다. 그중 일부는 흥미롭다. 흥미로운 것들이 애초에 누군가 이 아키텍처를 굳이 만든 이유다.

비용, 선불로 치른다

이 아키텍처에는 대가가 있고, 작지 않다.

온디바이스 추론에 대해 값을 치른다. 시뮬레이션의 크리티컬 패스에서 실행되는 AI는 매 프레임 네트워크 왕복을 할 수 없다. 즉 모델 가중치가 디바이스에 산다는 뜻이다. 양자화, 배칭, 세심한 메모리 예산 관리, 그리고 플레이어의 하드웨어를 고려하는 배포 전략을 뜻한다. RakuAI는 이 제약을 중심으로 만들어져 있다. 작은 모델, 디바이스 위, 핫 루프 근처. 이 제약은 실재하고 아키텍처적이다.

신뢰성 규율에 대해 값을 치른다. 콘텐츠 공장 안에서 환각을 일으키는 모델은 이상한 나무를 만들어낸다. 시뮬레이션 스텝 안에서 환각을 일으키는 모델은 이상한 세계를 만들어낸다. 모델 레이어와 결정론적 레이어 사이의 계약은 설계되고, 검증되고, 감사되어야 한다. 이것은 나중에 생각할 문제가 아니다. 그 자체가 일이다.

전통적인 엔진에서는 공짜로 얻지 못하는 관측 가능성에 대해 값을 치른다. AI가 매 프레임의 참여자일 때, 그것이 무엇을, 언제, 어떤 입력으로, 어떤 출력을 만들어내며 하고 있는지 볼 필요가 있다. 로깅. 트레이싱. 리플레이. 어떤 분산 시스템에 대해서든 만들었을 모든 것들이, 이제는 시뮬레이션 루프 안에 산다.

이런 비용들이 대부분의 엔진이 공장 패턴을 선택하는 이유다. 공장 패턴은 진짜로 만들기 더 저렴하다. 진짜로 덜 흥미롭기도 한데, 다른 선택을 한 엔진 안에서 시간을 보낸 후에야 눈에 보이는 방식으로 그렇다.

게임, XR 경험, 혹은 다른 어떤 인터랙티브 시스템을 만들고 있고 AI 질문이 “어느 모델을 통합할까”인지 아니면 더 깊은 무언가인지 궁금하다면, 답은 더 깊은 무언가라는 것이다. 공장 패턴에게 원래 만들어지지 않은 일을 시켜보려 하는 순간 그것을 느낄 수 있다.

일요일 오후, 써 두고 싶었던 종류의 글이다. 내일 다시 엔진으로 돌아간다.

여러분의 AI가 프리미티브인 런타임

RakuAI는 모델을 시뮬레이션 스텝 그 자체에 연결한다 — 매 프레임 관찰하고, 결정하고, 반응한다. 그것이 "AI 네이티브"가 처음부터 의미했어야 할 것이다. 아키텍처를 가까이서 보라.

← 전체 글