返回首页

AI 代理的双进程架构

本文描述了 Dual-Process(System 1 + System 2)架构,该架构消除了 AI 代理的输出延迟。System 1 — 基于原始传感器数据的超快速反射引擎,System 2 — 用于策略的慢速 LLM。提供了技术集成细节、基准测试和用例。

AI 的「脊髓」:如何在代理中实现 60 FPS
Advertisement 728x90

将AI拆解为‘意识’与‘反射’:面向16毫秒响应的双进程架构

现代游戏、机器人及交互系统中的LLM智能体面临一个根本性权衡:高认知能力往往以不可接受的延迟为代价。即便是Gemma 3或Llama 3这样的本地模型,一次完整推理周期也需要800–2500毫秒——这在60 FPS刷新率的环境中完全无法接受。我们提出了一种职责分离的架构设计,彻底消除了这一瓶颈:‘意识’(System 2)以战略级视角运行,频率最高可达0.5 Hz;而‘脊髓’(System 1)则作为反射引擎,延迟≤16毫秒、吞吐量超过60 Hz。

为什么单一推理管线是架构上的死胡同

人类大脑在手触火时并不会去解微分方程,而是依赖预先训练、神经生理学上优化的反射弧——完全不涉及皮层。同样地,当今的AI智能体中,每一个输入信号(声音、碰撞向量、光照变化)都要经过同一套沉重的LLM堆栈:分词→嵌入→注意力→解码→后处理→动画生成。这种做法根本无法扩展:在UE5中同时控制100个NPC时,即便使用量化版Llama 3 8B,延迟也会非线性增长,显存峰值消耗甚至可能达到48 GB。

我们的测量结果显示,智能体73%的执行时间都花在处理语义冗余的触发事件上——比如玩家的语音幅度或摄像机旋转角度——这些并不需要语言理解,只需进行阈值检测并生成参数化响应。而System 1通过直接处理原始传感器数据来消除这种冗余:来自麦克风阵列的float32向量、IMU的6DoF数据包、眼动追踪的归一化UV坐标。

Google AdInline article slot

双进程架构:两层之间的交互

System 2是经典的LLM堆栈(本地或云端),负责:

  • 制定长期目标,
  • 管理情景记忆,
  • 解读复杂事件(“玩家违反了合同”、“盟友被击杀”),
  • 生成高层状态,以固定长度向量嵌入的形式呈现(例如[情绪:怀疑,信任:0.2,优先级:监控])。

System 1则是一个定制的轻量级神经网络(参数量≤120万),基于修改后的ResNet-10构建,采用残差门控和可学习的时间感知池化。它没有分词器、注意力机制或解码器。其输入是原始感官流加上当前的System 2向量,输出则是可以直接控制的参数:

  • 32个骨骼关节的欧拉角,
  • 89个面部混合变形权重,
  • 用于无人机伺服控制的PID控制器参数。

关键工程洞见:两层之间不存在序列化/反序列化过程。System 2向量通过共享内存段传递,System 1则通过带无锁环形缓冲区的内存映射文件访问它。这将跨层开销降至不到0.3毫秒。

Google AdInline article slot

真实的技术能力

这种分离实现了单堆栈架构无法做到的功能:

  • 实时权重自适应——不是微调,而是通过自适应SGD在线修正权重,动量=0.95,步长根据输入信号方差动态调整。在UE5的一场Boss战中,系统仅用28秒(平均时间)就学会了玩家偏好的攻击轨迹,并开始在攻击动画启动前112±19毫秒就生成格挡动作。
  • 零延迟上下文切换——改变行为模式无需重新加载LLM上下文,而是通过原子交换System 1的权重矩阵完成。同时,内部状态(GRU单元的隐藏状态)得以保留,确保微表情和姿态动态的平滑过渡。
  • 群体级资源共享——单场景中的100个NPC共用一个System 1实例(共享权重),但每个都有独立的System 2实例。这使得GPU显存占用相比完全复制减少了92%,并且可以在一台A100 80GB显卡上流畅运行240个NPC而不影响FPS。

集成到生产流程

该架构无需修改游戏引擎。我们提供了一个C++ SDK,具备ABI稳定的接口:

struct ReflexInput {
  float sensor_data[128]; // 原始IMU、音频FFT频点等
  float system2_vector[64]; // 来自LLM输出
  uint64_t timestamp_ns;
};

struct 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的插件封装已实现,且游戏线程与渲染线程之间自动同步时间戳。针对机器人领域,我们还添加了一个ROS2节点,通过DDS实现零拷贝的进程间通信。

Google AdInline article slot

重要事项

  • System 1并非“更轻量的LLM”——它是一种根本不同的架构,没有注意力机制、分词或文本生成功能。
  • 层间数据传输通过共享内存中的无锁环形缓冲区完成——这对确定性的实时行为至关重要。
  • System 1的训练是在线进行的,无需收集数据集:利用时间窗口内的梯度累积以及基于预测误差方差的自动课程设置。
  • 通过System 1进行的行为近似,由于引入了预测向量与目标向量之间的KL散度正则化,能够保持与System 2的语义一致性。
  • 支持60+ Hz并非通过简化模型实现,而是放弃了通用性:System 1专为特定感官领域和任务定制。

这套架构消除了“智能”与“快速”之间的伪壁垒。它并未取代LLM,而是让LLM从原本不适合的任务中解放出来。反射层接管了反应式控制,使认知层得以专注于真正需要理解的内容:意图、伦理与长期后果。随着游戏AI、自主系统和边缘机器人对交互性的需求日益增长,这种方案已不再是可选项,而是工程架构的必然选择。

— Editorial Team

Advertisement 728x90

继续阅读