홈으로 돌아가기

AI 에이전트를 위한 듀얼-프로세스 아키텍처

이 기사는 AI 에이전트의 출력 지연을 제거하는 듀얼-프로세스 (System 1 + System 2) 아키텍처를 설명합니다. System 1 — 원시 센서 데이터에 기반한 초고속 반사 엔진, System 2 — 전략을 위한 느린 LLM. 기술 통합 세부 사항, 벤치마크 및 사용 사례가 제공됩니다.

AI를 위한 «척수»: 에이전트에서 60 FPS 달성하는 방법
Advertisement 728x90

AI를 '의식'과 '반사작용'으로 분해하다: 16ms 응답 시간을 갖는 에이전트를 위한 이중 프로세스 아키텍처

게임, 로봇공학, 대화형 시스템에서 사용되는 최신 LLM 에이전트들은 한 가지 근본적인 상충 관계에 놓여 있습니다. 높은 인지 능력은 허용할 수 없는 지연 시간이라는 비용을 초래합니다. Gemma 3이나 Llama 3 같은 로컬 모델조차도 전체 추론 사이클에 800~2500ms가 걸리며, 이는 60 FPS 리프레시율을 가진 환경에서는 절대로 용납될 수 없습니다. 저희는 이러한 병목 현상을 없애는 책임 분담형 아키텍처를 구현했습니다: ‘의식’(시스템 2)은 최대 0.5Hz의 전략적 수준에서 작동하는 반면, ‘척수’(시스템 1)는 16ms 이하의 지연 시간과 60Hz 이상의 처리량을 자랑하는 반사 작용 엔진으로 기능합니다.

단일 추론 파이프라인이 왜 아키텍처상의 막다른 길인가?

인간의 뇌는 불에 손을 뻗었을 때 미분 방정식을 풀지 않습니다. 대신 피질의 개입 없이 사전 학습되고 신경생리학적으로 최적화된 반사 고리를 활용합니다. 마찬가지로 오늘날 AI 에이전트에서도 모든 입력 신호(음성, 충돌 벡터, 조명 변화 등)는 동일한 무거운 LLM 스택을 통과합니다: 토큰화 → 임베딩 → 어텐션 → 디코딩 → 후처리 → 애니메이션. 이 접근법은 확장성이 없습니다: UE5에서 NPC 100개를 사용할 경우, 심지어 양자화된 Llama 3 8B를 사용하더라도 지연 시간이 비선형적으로 증가하고, VRAM 사용량의 최고치는 48GB까지 도달할 수 있습니다.

저희의 측정 결과에 따르면, 에이전트 실행 시간의 73%는 의미적으로 중복되는 트리거를 처리하는 데 소요됩니다—예를 들어 플레이어의 음성 진폭이나 카메라 회전 각도와 같이 언어 이해가 필요하지 않고, 임계값 감지와 매개변수 기반 응답 생성만 필요한 경우입니다. 시스템 1은 이러한 중복성을 제거하기 위해 센서의 원시 데이터를 직접 처리합니다: 마이크로폰 어레이에서 나오는 float32 벡터, IMU에서 전달되는 6DoF 패킷, 아이트래킹에서 나온 정규화된 UV 좌표 등.

Google AdInline article slot

이중 프로세스 아키텍처: 두 계층 간의 상호작용

시스템 2는 클래식한 LLM 스택(로컬 또는 클라우드 기반)으로, 다음과 같은 역할을 담당합니다:

  • 장기 목표 수립
  • 에피소딕 메모리 관리
  • 복잡한 사건 해석(“플레이어가 계약을 위반했다”, “아군이 사살되었다” 등)
  • 고수준 상태를 고정 길이의 벡터 임베딩 형태로 생성(예: [기분: 의심스러움, 신뢰: 0.2, 우선순위: 감시]).

시스템 1은 수정된 ResNet-10을 기반으로 한 맞춤형 경량 신경망(최대 120만 개의 파라미터)으로, 잔여 게이팅과 학습 가능한 시간 인식 풀링을 적용했습니다. 토큰라이저, 어텐션 메커니즘, 디코더가 전혀 없습니다. 입력은 원시 감각 스트림과 현재 시스템 2 벡터이며, 출력은 바로 제어 가능한 매개변수로 구성됩니다:

  • 32개 골격 관절의 오일러 각도
  • 89개 안면 블렌드쉐이프의 가중치
  • 드론 서보 제어를 위한 PID 컨트롤러 파라미터

핵심 설계 통찰: 두 계층 간에는 직렬화/역직렬화가 없습니다. 시스템 2 벡터는 공유 메모리 세그먼트를 통해 전달되며, 시스템 1은 락프리 링 버퍼가 적용된 메모리 매핑 파일을 통해 이를 접근합니다. 이로 인해 계층 간 오버헤드가 0.3ms 미만으로 줄어듭니다.

Google AdInline article slot

실제 기술적 성능

이러한 분리는 단일 스택 방식으로는 불가능한 기능들을 가능하게 합니다:

  • 온더플라이 웨이트 적응—파인튜닝이 아니라 온라인 웨이트 보정으로, 모멘텀=0.95, 입력 신호의 분산에 따라 변하는 스텝 크기의 적응형 SGD를 사용합니다. UE5에서 보스 전투 중, 시스템은 플레이어의 선호 공격 궤적을 평균 28초 만에 학습하고, 공격 애니메이션 시작보다 112±19ms 앞서 블록을 생성하기 시작합니다.
  • 제로 지연 컨텍스트 스위치—행동 모드 변경 시 LLM 컨텍스트를 재로드하지 않고, 시스템 1의 웨이트 매트릭스를 원자 스왑으로 교체합니다. 동시에 내부 상태(GRU 유닛의 숨겨진 상태)도 유지되어 미세 표정과 자세 동역학의 부드러운 전환을 보장합니다.
  • 스웜 수준의 리소스 공유—단일 장면 내 NPC 100개가 하나의 공통 시스템 1 인스턴스(공유 웨이트)를 공유하지만, 각각은 고유한 시스템 2 인스턴스를 가지고 있습니다. 이로 인해 GPU 메모리가 전체 복제에 비해 92% 절감되며, A100 80GB 하나로 240개의 NPC를 FPS 저하 없이 실행할 수 있습니다.

생산 스택에의 통합

이 아키텍처는 게임 엔진을 수정할 필요가 없습니다. ABI-안정적인 인터페이스를 제공하는 C++ SDK를 제공합니다:

cstruct ReflexInput {
  float sensor_data[128]; // 원시 IMU, 오디오 FFT 밴드 등
  float system2_vector[64]; // LLM 출력에서 전달
  uint64_t timestamp_ns;
};
cstruct ReflexOutput {
  float joint_angles[32];
  float blend_weights[89];
  bool needs_system2_update; // 재평가 트리거
};
ReflexEngine engine;
engine.load("system1.bin");
ReflexOutput out = engine.step(input);

Unity와 Unreal 지원은 게임 스레드와 렌더 스레드 간 자동 타임스탬프 동기화를 갖춘 네이티브 플러그인 래퍼를 통해 구현됩니다. 로봇공학의 경우 DDS를 통한 제로-카피 프로세스 간 통신을 지원하는 ROS2 노드를 추가했습니다.

Google AdInline article slot

무엇이 중요한가?

  • 시스템 1은 ‘LMM의 경량 버전’이 아닙니다—어텐션, 토큰라이징, 텍스트 생성이 없는 근본적으로 다른 아키텍처입니다.
  • 계층 간 데이터 전송은 공유 메모리 내 락프리 링 버퍼를 통해 처리됩니다—결정론적 실시간 동작을 위해 매우 중요합니다.
  • 시스템 1의 학습은 데이터셋 수집 없이 온라인으로 이루어집니다: 시간 창에 따른 그라데이션 누적과 예측 오류 분산에 기반한 자동 커리큘럼이 사용됩니다.
  • 시스템 1을 통한 행동 근사는 KL-발산을 통해 예측 벡터와 목표 벡터 간 정규화를 적용함으로써 시스템 2와의 의미적 일관성을 유지합니다.
  • 60Hz 이상의 지원은 모델을 단순화하는 것이 아니라, 보편성을 포기함으로써 달성됩니다: 시스템 1은 특정 감각 영역과 작업에 특화되어 있습니다.

이 아키텍처는 ‘스마트’와 ‘빠른’ 사이의 인위적인 장벽을 제거합니다. LLM을 대체하는 것이 아니라, LLM이 본래 설계되지 않은 작업들로부터 해방시킵니다. 반사 계층이 반응적 제어를 맡음으로써 인지 계층은 진정으로 이해가 필요한 부분—의도, 윤리, 장기적 결과—에 집중할 수 있게 됩니다. 게임 AI, 자율 시스템, 엣지 로봇공학에서 상호작용에 대한 요구가 점점 커짐에 따라, 이 접근법은 선택이 아니라 엔지니어링 아키텍처의 필수 요건이 되고 있습니다.

— Editorial Team

Advertisement 728x90

다음 읽기