返回行业动态
智能体与应用

AWS 开源 Infinity:把 7.5 万个空转智能体塞进 8GB 内存

AWS 10 月 23 日以 Apache 2.0 开源 Infinity,属 AWS 与 UC Berkeley 合作的 Hydro 项目。它把智能体等工具返回的过程当作协程挂起点:派发工具调用后保存会话并挂起,结果到达再从存储恢复,挂起中的智能体不占进程与内存。按 AWS 自测,每个空闲智能体约占 100KB,8GB 可容纳约 7.5 万个;配合 SQS、Lambda 与 Aurora DSQL,可做到等三天 CI 也不烧算力。

来源:AWS 开源博客:Introducing Infinity — a runtime for extreme agent concurrency原标题:Introducing Infinity: a runtime for extreme agent concurrency查看原文
北京拓实科技原创生成的新闻封面图,主题与文章内容对应

图片来源:北京拓实科技原创(AI 生成封面)

发生了什么

AWS 在 10 月 23 日以 Apache 2.0 许可证开源 Infinity,属于 AWS 与 UC Berkeley 合作的 Hydro 项目,作者是 Hydro 团队研究负责人 Shadaj Laddad。AWS 明确它是早期研究版本,放出代码是为了拿反馈,不是带 SLA 的托管服务。

把工具调用当成 await

出发点是观察:智能体大部分时间在等。一个编码智能体可能等一次构建跑 20 分钟,一个分诊智能体可能等几小时后的下一个 PR,一个助理可能等到第二天早上才拿到审批。主流 agent harness 在这种情况下会把进程和内存一直占着,期间也无法响应别的事件。

Infinity 借用语言运行时挂起异步函数的做法:智能体调用工具时,运行时派发调用、保存会话、挂起智能体;结果到达,再从存储恢复。每个智能体被切成一系列有界切片——载入历史、跑一次模型补全、落盘、最多派发一个工具调用,然后切片结束。切片内部永不阻塞,因此可以跑在无服务器平台上:工具结果、用户消息、定时器事件统一进共享输入队列,同一 thread_id 的消息串行处理,不同线程并行。

  • 合成工具调用:模型 API 要求每次调用恰好一个结果,Infinity 注入一个模型从未发起的 receive_event__injected 调用,把外部事件塞回对话,现有模型无需改造
  • 智能体间通信:父线程用 spawn_thread 建子线程,子线程的报告以合成事件回到父线程,避免子上下文塞爆父上下文
  • 兼容性:仓库称现有 MCP 服务器经兼容层可原样运行;参考部署用 SQS FIFO、Lambda、Aurora DSQL、DynamoDB,并附 CDK 模板

7.5 万这个数字是怎么来的

AWS 的测法需要看清楚:用模拟模型而不是真实模型,内存存储跑在单线程 AMD EPYC 9R14 上,启动 8 万个智能体、每个跑 20 轮、共 320 万次补全,测得空闲智能体约 100KB 一个,据此推算 8GB 内存可容纳约 7.5 万个。「相当于树莓派 5 的内存」只是容量类比,测试并未跑在树莓派上。这些数字来自 AWS 自测,未经独立核验,真实工具延迟与供应商限流都会改变结论。

与谷歌 ACE 的分工

同一周的两条路线其实回答了不同问题。谷歌 ACE 关心「跑得安全」:沙箱里不放凭据,出网由网关换票;AWS Infinity 关心「等得便宜」:把挂起中的智能体降级成一段数据,不占进程。真实生产栈大概率两者并用,外层用 microVM 保证隔离,内层用切片调度保证并发经济性。

对平台的直接含义是计费口径的变化:从「每个客户工作流一台常驻 Pod」变成「按切片计时」,一个等三天 CI 的智能体在等待期间不产生计算成本。分诊机器人、开发平台的 CI 智能体、等工单更新的客服工具,都属于最贴合的工作负载。

还没解决的问题

Laddad 列出的开放问题包括:主要按逐步工具调用训练的模型,能否适应乱序到达的事件;运行时如何确认一个传入事件是真实的;以及智能体树跨层的状态压缩与调度优先级。工程侧则需要可插拔会话存储、持久队列与幂等工具实现。竞态条件并没有消失,只是转移到每个 thread_id 的消息顺序保证上。

编辑说明

本文由北京拓实科技根据公开信息整理,核心事实与数据请以原始来源为准。

AWS 开源 Infinity:智能体挂起后不占算力|北京拓实科技