JarvisCore开源:无主控的P2P多智能体框架来了

JarvisCore以Apache 2.0开源,以P2P对等架构、自主工具生成和透明记忆管理为核心特点。
JarvisCore是Prescott Data团队开发的Python多智能体框架,已在生产环境运行数月后以Apache 2.0协议开源。与主流框架依赖中心编排者不同,它采用P2P网格架构,所有智能体地位对等,成员管理基于SWIM gossip协议实现去中心化发现与故障检测。工具层面,框架绕开MCP服务器,让智能体在沙箱中自主生成函数并存入注册表(预置约1200个函数,覆盖150家服务商),配合凭证代理在运行时注入密钥。记忆管理上,框架坚持"有界但不静默截断"原则,旧上下文会被摘要并明确标注有损标记,原始内容归档可溯源。商业化层面采用开放核心加CLA模式,维护者主动公开讨论CLA争议。项目目前重点招募贡献者,优先需要文档改善、测试覆盖和带复现步骤的bug报告。
一个在生产环境中跑了几个月的AI智能体框架,以Apache 2.0协议对外开源了。它的名字叫JarvisCore,由Prescott Data团队开发,核心定位是构建AI智能体团队的Python框架。这个项目最引人注目的地方在于,它刻意抛弃了当下多智能体系统里最常见的"主控编排"架构,转而采用点对点(P2P)的对等网络设计。
对于正在搭建多智能体系统的开发者来说,这类从真实负载中打磨出来的框架往往比纸面设计更有参考价值——它的设计取舍回应的恰恰是那些让工程师头疼的"无聊"故障。

没有主控:智能体之间是平等的
大多数多智能体框架都依赖一个"编排者"或"主控代理"来分配任务、协调流程。JarvisCore走了另一条路:所有智能体都是对等节点,组成一个P2P网格网络,彼此之间直接发送请求,没有中心调度。
技术上,成员发现与健康检测用的是 SWIM gossip 协议——这是分布式系统里一种成熟的去中心化成员管理方案,节点通过随机探测和gossip传播来维护集群视图。把它用在智能体协作上,意味着节点的加入、退出和故障检测都不依赖单点。
维护者在帖子里主动抛出了一个诚实的问题:希望听听做过多智能体系统的人认为"无编排者"的做法会在哪里崩溃。这其实是个关键议题——去中心化带来了弹性,但也可能在全局一致性、任务去重、复杂依赖编排等场景下引入新的难题。这个开放态度本身,比很多项目"包装完美"的宣传更值得信任。
SWIM(Scalable Weakly-consistent Infection-style Membership)协议由康奈尔大学于2002年提出,最初为解决大规模分布式系统中成员管理的扩展性问题而设计。传统的心跳检测方案需要每个节点定期向所有其他节点发送消息,通信开销随节点数量平方级增长;SWIM通过随机选取少量节点进行探测(ping),再借助类似流行病传播(gossip)的方式将状态变更扩散给全体成员,将通信复杂度压低到近似线性。该协议在Consul、Serf、Cassandra等主流分布式系统中均有应用。将其引入AI智能体集群,意味着新智能体上线或某个节点崩溃时,整个网格无需任何中心节点介入即可自动感知并更新拓扑——这是P2P架构弹性的基础,但同时也意味着集群状态是"最终一致"而非强一致的,在需要全局原子决策的场景下需要额外设计。
工具自己写,不依赖MCP服务器
JarvisCore的第二个特点是不需要MCP服务器。在当前生态里,MCP(Model Context Protocol)正成为连接工具与模型的热门标准,但这个框架选择了不同路径:智能体自己编写工具,在沙箱中运行,并把能跑通的函数保存到一个注册表里供复用。
这个注册表开箱即带约 1200个函数,覆盖150个服务提供商,相当于给智能体预置了一个可直接调用的能力库。配合这套机制的还有一个凭证代理(broker),它在调用发生时才注入凭证——把密钥管理和工具执行解耦,从安全角度看是个合理的设计。
"自己写工具+沙箱执行+注册表复用"这条链路,本质上是在让智能体具备一定的自我扩展能力,同时用沙箱和凭证代理控制住风险边界。
MCP(Model Context Protocol)是由Anthropic于2024年底推出的开放协议,旨在为大型语言模型与外部工具、数据源之间提供标准化的连接接口,类似于USB-C之于硬件外设的角色。采用MCP的好处是工具实现与模型调用解耦,同一套MCP服务器可以被不同智能体框架复用;代价是需要维护一个独立运行的服务器进程,并承担协议版本兼容、网络通信等额外复杂度。JarvisCore选择绕开MCP、让智能体在沙箱内自行生成并执行Python函数,是一种"自给自足"的权衡:减少了外部依赖,但也意味着工具的质量和安全性完全由框架自身的沙箱机制兜底,对沙箱隔离的严密程度要求更高。
有界记忆:不悄悄截断上下文
真正体现这个框架"从生产中来"的,是它对记忆管理的处理。维护者直言,智能体框架往往栽在那些"无聊"的地方:
- 上下文被静默截断
- 任务其实没完成却发出了"done"的假信号
- 历史记录悄无声息地丢失
JarvisCore的做法是有界记忆(bounded memory)但绝不静默截断。旧的上下文会基于真实证据被总结,原始内容归档保留,而且有损的摘要会被明确打上标签。换句话说,系统不会假装自己记得全部,而是诚实地告诉你哪些是压缩过的、哪些能回溯到原文。
这种对"信息丢失透明化"的坚持,正是长期运行真实工作负载才会暴露并重视的问题。维护者表示,这些bug大多是在跑真实负载时发现的,修复过程、问题追踪和背后的推理都公开在issue tracker里。
开源模式与CLA的坦白
关于商业模式,维护者态度相当坦诚,没有回避争议:
- 核心是Apache 2.0协议,这个仓库就是完整的开源核心
- 部分面向企业的加固特性放在独立的商业发行版中
- 贡献代码需要签署 CLA(贡献者许可协议),以便代码能同时进入开源版和企业版
CLA一直是开源社区争议较大的话题——它让维护者拥有将社区贡献用于商业版本的权利,部分开发者对此有强烈看法。值得肯定的是,维护者直接把这一点摊开讲,并表示愿意讨论,而不是藏在条款里。
这种"开放核心(open core)"加CLA的组合,在商业化开源项目里越来越常见,是否接受取决于贡献者个人的价值取向。
CLA(Contributor License Agreement,贡献者许可协议)要求外部贡献者将其代码的某些使用权授予项目所有者,通常包括将贡献重新授权至商业许可证的权利。这与纯粹的开源许可(如Apache 2.0本身)不同——后者只规定下游用户的权利,而CLA额外规定了上游贡献者与项目方之间的权利让渡。反对者认为CLA本质上是"社区贡献、公司获利"的不对等安排,Mozilla、Python软件基金会等机构已改用DCO(Developer Certificate of Origin)作为更轻量的替代方案;支持者则认为CLA是商业公司维持长期开源投入的必要保障。对于贡献者而言,签署前的关键问题是:CLA是否允许贡献者保留对自己代码的完整权利,以及商业版本的存在是否与自身的开源价值观相符。
项目最需要哪些帮助
作为一个正在寻找贡献者和真实反馈的项目,维护者列出了几个优先方向:
- 文档清晰度,以及带有明确预期输出的示例
- 测试覆盖:工作流恢复、消息路由、节点发现
- 带最小复现的bug报告
- 标记为
good first issue和help wanted的入门任务
对于想参与开源多智能体项目的开发者,这是个门槛友好的切入点。而对于正在评估技术方案的团队,JarvisCore的几个设计取舍——去中心化的P2P网格、自主工具生成、透明的记忆管理——都值得一看,尤其是它背后"在公开场合修复真实bug"的工程态度。
仓库地址:github.com/Prescott-Data/jarviscore-framework。需要说明的是,本文基于项目维护者在Reddit上的自述,相关性能与稳定性仍有待社区进一步验证。
相关推荐

Anthropic Fable 5.2实测:一句话生成3A游戏与Excel克隆
Anthropic Fable 5.2实测:三行提示词生成可玩《战争机器》克隆、完整Excel和DaVinci Resolve克隆,解析基准测试、Ultra Code模式、token成本与定价策略,评估它是否值得替代Opus 5.5。

赛博寻书:BT社区如何「劫走」塞林格遗作
塞林格未发表的《The Ocean Full of Bowling Balls》仅存于大学图书馆且禁止复制。一个私密BT tracker悬赏六TB上传积分,社区从背诵接力到eBay买书扫描,最终成功让文本流出,却因传播过快被管理员删种。本文复盘这场赛博寻书行动及其讽刺结局。

弹劾防长赫格塞斯?五角大楼战争与中期选举风暴
五角大楼气氛紧张,伊朗战事持续八个月仍无退出方案。评论分析赫格塞斯弹劾动议的真实动机:不是罢免,而是留下政治记录,并剖析战争如何通过油价与生活成本影响中期选举选情。