Project Solara:微软为 AI Agent 时代重新定义硬件

2026-06-03 32 预计阅读时间:1 分钟
来源:oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:13 分钟

Build 2026 上,微软抛出了一个信号:AI Agent 不只是跑在现有硬件上的软件,它需要一种从芯片到云端都为之重新设计的计算平台。代号 Project Solara 正是这个方向的首次落地——一个"Agent 优先"的硬件与软件整合方案。

Windows 与设备副总裁 Steven Bathiche 在博客中明确表态:AI Agent 正在成为新的编程单元和人机交互单元。这句话的分量不轻——它意味着微软不再把 Agent 当作应用层的一个功能,而是把它提升到与"进程""线程"同级别的计算原语,并据此重构硬件架构。

Agent 为什么需要专属硬件?

现有计算设备的假设是:人类坐在屏幕前,发出一条指令,等一条结果。键盘、鼠标、触屏,都是围绕"人→机器→人"的短回路设计的。

Agent 打破了这个回路。一个 Agent 可能同时监听多个信号源、维护长期上下文、在后台持续推理、与其它 Agent 协商——它不是"执行一次就结束"的程序,而是一个持续运行、自主决策的实体。这对硬件提出了几类新需求:

  • 低延迟持续推理:Agent 不像传统应用那样"等用户点击再计算",它需要几乎不间断的小批量推理,对芯片的推理吞吐和功耗曲线要求与一次性大模型推理完全不同。
  • 多模态感知并行:Agent 同时处理文本、语音、图像、传感器数据,需要硬件层面更高效的多模态数据通路,而非靠 CPU 做软件级调度。
  • 长期上下文保持:Agent 的记忆可能跨天甚至跨周,对存储层级和内存带宽的占用模式更像数据库而非临时进程。
  • Agent 间通信:多个 Agent 协作时,通信延迟和一致性要求接近分布式系统,但又必须跑在端侧设备上。

Project Solara 的架构围绕三个支柱展开(微软博客原文在此处截断,但从已公布信息可推断方向):芯片级推理加速、设备-云混合调度、Agent 原生操作系统抽象。下面逐层拆解。

芯片层:推理不是"跑一下",而是"一直在跑"

传统 NPU 设计的基准是"单次推理延迟"——拍一张照片,识别出物体,结束。Agent 场景下,推理更像一个常驻服务:每秒可能做几十次小推理(判断是否需要行动、更新记忆、评估环境),偶尔做一次大推理(规划多步任务)。

这意味着芯片需要:

传统 NPU 关注 Agent NPU 关注
单次峰值吞吐 持续稳态吞吐 + 功耗包络
批量越大越好 小批量低延迟 + 大批量可弹性扩展
算完即释放 长期上下文驻留(KV Cache 不丢弃)
单模态输入 多模态并行通道

Solara 的芯片层大概率会引入类似"推理常驻单元"的设计——一块专用的硅区域始终为 Agent 推理保持热状态,而非每次推理都经历完整的加载→计算→卸载周期。

设备-云混合:Agent 的身体在端侧,大脑可以弹性伸缩

一个 Agent 不可能所有推理都跑在本地——复杂规划、大规模知识检索、多 Agent 协调,算力需求远超端侧芯片容量。但全部跑在云端又会破坏 Agent 的实时感知能力(延迟、隐私、离线可用性)。

Solara 的混合调度模型可以理解为:

端侧(常驻)          云端(弹性)
─────────           ─────────
感知推理 ←→         规划推理
短期记忆 ←→         长期记忆 / 知识库
单 Agent 决策 ←→    多 Agent 协调

端侧芯片负责"身体"——持续感知、快速反应、隐私敏感操作。云端负责"大脑"——复杂规划、知识增强、跨设备协调。两者之间不是简单的"本地不够就上云",而是Agent 自身根据任务复杂度和延迟要求动态选择执行位置

操作系统层:Agent 成为一级调度单元

这是最深远的变化。现有 OS 的调度单位是进程和线程,Agent 在 OS 眼里只是一个普通进程。Solara 要做的,是把 Agent 提升为 OS 的一级抽象:

  • Agent 有自己的生命周期管理(创建、休眠、唤醒、销毁),而非依附于某个 app 的生命周期。
  • Agent 有独立的资源配额(推理算力、内存、网络带宽),OS 按配额调度而非按进程优先级。
  • Agent 有标准化的通信协议,类似进程间的 pipe/socket,但语义是"请求→承诺→结果"而非"发送→接收"。

这意味着未来的 Windows 可能会有一个 Agent Runtime,和今天的 .NET RuntimeV8 Engine 同级别——它不是跑在用户态的库,而是内核集成的执行环境。

实践:在现有基础设施上模拟 Agent 优先调度

Solara 的完整硬件还没上市,但 Agent 优先的调度思路现在就可以实践。下面是一个用 Kubernetes + 自定义调度器模拟"Agent 资源配额"的示例——把 Agent 当作独立调度单元,分配专属推理算力和内存配额。

1. 定义 Agent 资源配额 CRD

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: agentquotas.solara.example.com
spec:
  group: solara.example.com
  versions:
    - name: v1alpha1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                agentName:
                  type: string
                inferenceQuota:
                  type: object
                  properties:
                    npuMillicores:
                      type: integer
                      description: "推理算力配额,单位毫核"
                    memoryMB:
                      type: integer
                    maxConcurrentInferences:
                      type: integer
                contextQuota:
                  type: object
                  properties:
                    longTermMemoryGB:
                      type: integer
                    shortTermMemoryMB:
                      type: integer
                schedulingPolicy:
                  type: object
                  properties:
                    preferEdge:
                      type: boolean
                      description: "优先调度到端侧节点"
                    allowCloudBurst:
                      type: boolean
                      description: "端侧不足时允许溢出到云端"
  scope: Cluster

2. 为一个 Agent 分配配额

apiVersion: solara.example.com/v1alpha1
kind: AgentQuota
metadata:
  name: home-assistant-quota
spec:
  agentName: home-assistant
  inferenceQuota:
    npuMillicores: 500       # 占用半核 NPU
    memoryMB: 2048
    maxConcurrentInferences: 10
  contextQuota:
    longTermMemoryGB: 5      # 5GB 长期记忆存储
    shortTermMemoryMB: 512   # 512MB 短期上下文
  schedulingPolicy:
    preferEdge: true          # 优先跑在家庭边缘节点
    allowCloudBurst: true     # 复杂任务可溢出到云端

3. Agent 部署清单(带配额引用)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: home-assistant-agent
spec:
  replicas: 1
  selector:
    matchLabels:
      app: home-assistant-agent
  template:
    metadata:
      labels:
        app: home-assistant-agent
        solara.example.com/agent: home-assistant
    spec:
      containers:
        - name: agent-runtime
          image: solara/agent-runtime:0.1
          env:
            - name: AGENT_NAME
              value: "home-assistant"
            - name: QUOTA_NAME
              value: "home-assistant-quota"
            - name: EDGE_PREFERENCE
              value: "true"
          resources:
            requests:
              memory: "512Mi"
              solara.example.com/npu: "500m"
            limits:
              memory: "2Gi"
              solara.example.com/npu: "1000m"
          volumeMounts:
            - name: long-term-memory
              mountPath: /agent/memory/longterm
            - name: short-term-memory
              mountPath: /agent/memory/shortterm
      volumes:
        - name: long-term-memory
          persistentVolumeClaim:
            claimName: agent-longterm-5gb
        - name: short-term-memory
          emptyDir:
            medium: Memory
            sizeLimit: 512Mi
      nodeSelector:
        solara.example.com/capability: edge-npu   # 优先调度到有 NPU 的边缘节点

运行前需要做什么:这个示例假设你已有一个 K8s 集群。你需要先安装 CRD(步骤 1),然后创建 AgentQuota 资源(步骤 2),最后部署 Agent(步骤 3)。solara.example.com/npu 是自定义资源类型,需要你注册对应的 Device Plugin 才能真正调度——可以参考 Kubernetes Device Plugin 文档 实现一个 NPU 插件。当前没有真实 NPU 硬件时,可以用 CPU 资源模拟推理配额,把 npu 换成 cpu 即可跑通。

这个示例的核心思路是:Agent 不再是一个普通 Pod,它有声明式的推理配额、记忆配额和调度偏好——这正是 Solara 在操作系统层要做的事情,只是我们用 K8s 的扩展机制提前模拟了。

落地前的几个现实问题

Solara 的方向很清晰,但落地还面临几道硬坎:

应用生态断层。现有 Windows 应用全是"人→应用"模式,Agent 优先的交互需要全新的 UI 框架——不是"按钮+菜单",而是"对话+意图+后台行动"。开发者需要新的 SDK 和设计范式,这比硬件更难铺开。

芯片制造周期。从架构设计到量产通常 2-3 年,Solara 的芯片即使架构已定,真正到消费者手中还要等。第一批设备大概率是开发者套件或企业端设备,而非消费级 PC。

Agent 安全边界。Agent 作为一级 OS 抽象,意味着它有持续运行权和资源配额——一旦失控,影响远超一个崩溃的 app。OS 层需要 Agent 级别的沙箱、审计和熔断机制,这比容器隔离更复杂。

云-端信任链。Agent 在端侧和云端之间迁移推理时,上下文数据如何加密传输、云端推理结果如何验证完整性,都是尚未标准化的领域。

开发者现在可以做什么

Solara 离全面商用还有距离,但 Agent 优先的思路不需要等硬件:

  1. 把 Agent 当独立服务设计,而非嵌在某个 app 里的功能模块。给它独立的持久化存储、独立的 API 边界、独立的生命周期管理。
  2. 声明式资源配额,用 K8s 或类似机制为 Agent 分配推理算力和内存配额,而非让它和普通服务争抢资源。
  3. 端云混合推理,用延迟和复杂度双维度做调度决策——简单感知跑本地,复杂规划上云端——现在就可以用标准 HTTP/gRPC 实现。
  4. 关注 Agent 通信协议,A2A(Google 提出的 Agent-to-Agent 协议)和类似方案正在成型,尽早参与标准化比等 Solara OS API 更现实。

Project Solara 的意义不在于它立刻改变了什么,而在于微软正式把"Agent 是计算原语"这个假设写进了硬件路线图。当芯片、OS、云端都围绕这个假设重构时,Agent 就不再是应用层的一个时髦概念——它是计算的基础单元。


相关推荐