安爸-超级家庭

斯坦福研究人员发布OpenJarvis:一个本地优先框架,用于使用工具、记忆和学习构建设备端个人AI代理

安爸 发布于

斯坦福研究者推出了 OpenJarvis,这是一个用于构建完全在设备上运行的 个人AI代理的开源框架。该项目来自斯坦福的“扩大智能实验室”,并作为一个研究平台和本地first AI系统的部署就绪基础设施。其重点不仅在于模型执行,还包括让设备代理变得可使用、可测量和可随时间适应的更广泛的软件堆栈。

什么是OpenJarvis?

根据斯坦福研究团队的介绍,大多数当前的个人AI项目仍然保留本地组件相对薄弱,而将核心推理通过外部云API路由。这种设计引入了延迟、重复成本和数据暴露问题,尤其是对于在这些个人文件、消息和持续用户上下文中运行的助手/代理。OpenJarvis的设计是通过将本地执行默认化,而云使用作为选项来调整这种平衡。

研究团队将此次发布与之前的 每瓦特智能 研究联系起来。在那项工作中,他们报告称,本地语言模型和本地加速器可以准确地为交互延迟下的 88.7% 的单轮聊天和推理查询提供服务,而 智能效率从2023年到2025年提高了5.3倍。OpenJarvis被视为随之而来的软件层:如果模型和消费者硬件变得更适合更多的本地工作负载,则开发人员需要一个用于构建和评估这些系统的标准堆栈。

https://scalingintelligence.stanford.edu/blogs/openjarvis/

五元架构

在架构层面,OpenJarvis围绕 五个基本元素 组织:智能、引擎、代理、工具与内存、学习。研究团队将这些描述为可组合的抽象,可以独立基准测试、替换和优化,也可以作为一个集成系统一起使用。这一点很重要,因为本地AI项目通常将推理、编排、工具、检索和适应逻辑混合到一个单一且难以再现的应用程序中。OpenJarvis则试图为每一层赋予更明确的角色。

智能:模型层

智能 元素是模型层。它位于一个不断变化的本地区模家庭成员之上,提供了一个统一的模式目录,因此开发人员无需手动跟踪每个发布的参数计数、硬件适配或内存权衡。目标是使模型选择更容易从系统其他部分,如推理后端或代理逻辑,独立研究。

引擎:推理运行时

引擎 元素是推理运行时。它是一个覆盖后端如 Ollama、vLLM、SGLang、llama.cpp和云API 的通用接口。引擎层被更广泛地定义为硬件感知执行,其中命令如jarvis init检测到可用的硬件并推荐合适的引擎和模型配置,而jarvis doctor则有助于维护该设置。对于开发者来说,这是设计中最实用的一部分:该框架不需要单一运行时,而是将推理视为一个可插拔的层。

代理:行为层

代理 元素是行为层。斯坦福将其描述为在真实设备约束下将模型能力转化为结构化行动的部分,如有限的上下文窗口、受限的工作内存和效率限制。OpenJarvis而不是依赖于一个通用的代理,支持组合角色。斯坦福文章特别提到了 协调者 角色等,后者将复杂任务分解为子任务,以及作为重复个人工作流程的轻量级执行器的 操作员。文档还描述了代理 harness 帮助处理系统提示、工具、上下文、重试逻辑和退出逻辑。

工具与内存:固化代理

工具与内存 元素是固化层。这个原始元素包括对 MCP(模型上下文协议) 的支持,标准工具使用,对代理到代理通信的 Google A2A 支持,以及对本地检索笔记、文档和论文的 语义索引。它还支持消息平台、webchat 和 webhooks。它还涵盖了一个更狭义的工具观点,包括网络搜索、计算器访问、文件I/O、代码解释、检索以及外部MCP服务器。OpenJarvis不仅仅是一个本地聊天界面,它旨在连接本地模型到工具和持久个人上下文,同时默认保持存储和控制本地化。

学习:闭环改进

第五个原始元素,学习,为框架提供了一个闭环改进路径。斯坦福研究者描述它为一个使用本地交互轨迹合成交训练数据、细化代理行为以及随着时间的推移改进模型选择的层。OpenJarvis支持在堆栈的 四层 上进行优化:模型权重LM提示代理逻辑推理引擎。研究团队列出的一些示例包括 SFT、GRPO、DPO,使用 DSPy 的提示优化,使用 GEPA 的代理优化以及量化和批处理调度等技术级别的调整。

效率作为一流指标

OpenJarvis的一个重要技术点是其在效率意识评估上的重视。该框架将 能量、FLOPs、延迟和成本 作为与任务质量并列的一等约束。它还强调了一个硬件无关的遥测系统,用于通过 NVML 对NVIDIA GPU、AMD GPU 以及通过 powermetrics 对Apple Silicon 进行能量分析,采样间隔为 50毫秒jarvis bench 命令旨在标准化对延迟、吞吐量和每查询能量的基准测试。这一点很重要,因为本地部署不仅仅是关于模型能否回答一个问题,还包括它是否能在实际的限制下(如功率、内存和响应时间限制)做到这一点。

开发者接口和部署选项

从开发者的角度来看,OpenJarvis提供了几个入门点。官方文档显示了 浏览器应用程序桌面应用程序Python SDKCLI。基于浏览器的界面可以使用 ./scripts/quickstart.sh 启动,该脚本安装依赖项,启动 Ollama 和本地模型,启动后端和前端,并打开本地UI。桌面应用程序适用于 macOS、Windows 和 Linux,后端仍在用户机器上运行。Python SDK公开了 Jarvis() 对象和 ask()ask_full() 这样的方法,而 CLI 包括 jarvis askjarvis servejarvis memory indexjarvis memory search 这样的命令。

文档还指出,所有核心功能在没有网络连接的情况下都可以工作,而云API是可选的。对于开发本地应用程序的团队来说,另一个实用功能是 jarvis serve,它启动一个具有 SSE 流FastAPI 服务器,并描述为 OpenAI 客户端的直接替代品。这降低了希望针对API形状的接口进行原型设计,同时仍然保持推理本地的开发者的迁移成本。


查看存储库文档技术细节。此外,欢迎关注我们的 Twitter (https://x.com/intent/follow?screen%5Fname=marktechpost),并别忘了加入我们的 120k+ ML SubReddit (https://www.reddit.com/r/machinelearningnews/) 和订阅 我们的通讯 (https://www.aidevsignals.com/)。等一下!你在telegram 吗?现在你可以在Telegram加入我们

关于 斯坦福研究者推出OpenJarvis:构建具有工具、内存和学习的本地first AI代理框架 的文章首先出现在 马克技术后


扫描二维码,在手机上阅读