「开源推广」「Vimalinx OS」AgentsPool:把闲置设备的算力和内存全都池化,利用起来跑Agent

开源推广协议 #### 本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: * **我的帖子已经打上 #开源推广 标签:** 是 * **我的开源项目完整开源,无未开源部分:** 是 * **我的开源项目已链接认可 LINUX DO 社区:** 是 * **我帖子内的项目介绍,AI生成、润色内容部分已截图发出:** 是 * **以上选择我承诺是永久有效的,接受社区和佬友监督:** 是

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


本项目为 VimalinxOS 的开源项目之一。

往期回顾:


年年跑Agent的佬友们都知道,真正的瓶颈从来不是什么显卡,而是内存和CPU :melting_face:

而今年的电脑行情……


买不起新的,那旧的呢?当然是放AgentsPool了 :partying_face:

AgentsPool!

让你的Agent不再受单个电脑内存限制之苦!


好了,广告结束,正文开始

我的幻16的 Arch 里面常年跑着不少于 20个的Agent,平时大家都安安静静的写代码还好,可是一旦谁家apk一编译,谁家数据库一测试,谁家突然生了一大堆崽agent,我这摇摇欲坠的32g内存便不堪重负,分分钟OOM,我瘫坐在椅子上,仿佛看到了内存爆炸 :sob:
与此同时,另一边,我还有一个32g内存的老笔记本,8g内存的另一个老笔记本,(两个都是ubuntu),还有一个树莓派4b,这几个加起来内存34G啊……全都在一旁嘎嘎吃灰。

相信看到这里,各位佬友和我的想法是一样的,这不行啊,这得用上啊

于是我就嗖嗖的给他们全都开机设置不让休眠,再让我的ai把他们全都配好ssh连上开用。

ssh是真的好用啊,不愧是上古神器,嘿嘿嘿

然而我没开心多久,我的几个Agent就开始叫了,我一看,那台最大的32g的机器似了?!

在我的一顿深究下,终于发现了根源,心机之蛙一直摸你肚子!

造成32g大卫戴死亡的原因,是多个Agent差不多同时接入的时候发现这个机器很空闲,于是都想着走这个路,结果就是同时处理了好多好多的请求和重任务,最终不堪重负而倒下了 :sob: :sob: :sob:

- 不!我的机机! :sob: :sob: :sob:

- 如果,如果有个程序能够自动分配机器的资源,各个进程之间能够协调那就好了……

我听见了机魂的亡语,深受打动,于是 就有了:

AgentsPool !

省流:AgentsPool的原理简要来说就是,Agent 在主机上操作控制面进行登记和分配资源, Worker 在选定机器上报告机器资源和执行任务。

第一步:每台机器运行一个 Worker,定期向控制面上报本机器的:

  • 在线状态,确保能不能连接上,以及是否长期在线
  • 架构信息,确保任务与架构是否适配
  • 内存容量,避免撑死大卫戴
  • 磁盘空间,看看数据能否存住。
  • Agent 通过查询这些信息,来决定任务调度的目标。

第二步:Agent 向控制面请求特定机器上的 CPU、内存、磁盘 额度。

  • 控制面负责检查容量是否充足能否满足需求, 通过后创建 资源租约(记录预留资源),最后返回对应的 访问凭据
  • 后续其他 Agent 申请时,控制面就会提前扣除已预留资源,避免拥堵。

第三步: Worker 领取操作,交由本机的 sandboxd 执行。

  • 沙盒的隔离环境主要依靠几个Linux底层技术协同实现:
    • systemd,代号“管家” :disguised_face:,负责启动、监控和终止任务进程;
    • cgroup,代号“资源管理员” :face_with_monocle:,严格限制任务能使用的CPU和内存上限,防止资源争抢;
    • bubblewrap,代号“门禁系统” :saluting_face:,控制进程能看见哪些目录以及能否访问网络;
    • 独立的ext4磁盘镜像,代号“专属虚拟硬盘” :face_in_clouds:,既隔离了文件系统,又严格限制了持久化存储的容量。

  • 每次执行都会创建 新的隔离环境,依然会挂载在同一个沙盒的持久目录。让文件可以跨执行复用。

第四步:记录操作,查询结果

  • 每个执行请求分配唯一的 操作 ID,避免认错人
  • 控制面记录状态,排队中或是正在执行的状态,便于时刻监控
  • 输出写入 持久日志,Agent 可边执行边读取,即时获取反馈
  • 文件通过 上传/下载接口 传递,专口专线,加了传输优化,超越SSH,速度嘎嘎的 :partying_face:

通过如上的操作,AgentsPool就能够合理的协同和分配各个电脑里面的算力资源,避免拥堵,最大化的利用好旧设备,让Agent不再省吃俭用 :partying_face:

后续的开发计划:

  • VPS不太方便弄进来,倒是有个本地管理所有家VPS订阅的面板准备开源。
    • 毕竟相比本地的这些老本子,VPS的功能貌似更单一且重要,得做好鉴权和指令啥的有点危险
  • 打算支持win的原生控制面和服务面运行,现在只能跑在wsl里面不方便。
  • Mac咱没设备干不了,期待有MAC热心佬友的支持 :smiling_face_with_three_hearts:
  • 其他的开发计划就看大家讨论的结果啦,有啥需求许愿就行 :partying_face:

最后,再推广下我的这两个开源项目,他们都是我想做的 VimalinxOS 的一部分


第一阶段是个打包好的Arch + Hyprland,桌面是在Hyprflux的基础上二开的。

纯粹是看Omarchy不顺眼了,就个大号的自带CodingAgent的DSH(还只能改前端)。。。这还能和AI OS沾上边吗(评价是不如DSH也就是好安装了) :enraged_face:

原装搭配了几个我自己写的AI辅助的程序,

现在正在热血重写文件管理器,打算把文件的存储和索引参数从现在的树形结构改造为图结构,方便AI修改

还得个两三个周左右能打磨完整发布吧? :thinking:


10 个赞

这怎么看着像是联邦学习跟边缘计算的感觉呢

更偏向边缘计算吧,联邦学习和这个不大交汇 :thinking:

其实就是把闲置设备的算力利用起来跑Agent驱动的任务
之前靠人太麻烦了,现在有了AI正好自动调动还方便 :partying_face:

有这个需求就够财大气粗了,装了公司的各种安全软件后,我的机器跑1个agent不卡就够了

1 个赞

编辑后的标题好多了,路上刷到的帖子,本来准备到家后轻微吐槽一下原标题的生造词的

哈哈我自己刚才一读也突然发现这也不是人话啊 :laughing:
就赶紧改了 :grin:

1 个赞

那不正好可以让自己的主力机中的Agent利用自己的闲置设备跑任务嘛 :bili_057:

没太看懂,iPhone 5、6、7 还能用起来吗

目前暂时支持linux设备,不过手机端算力的利用和开发也是个方向。
就是iPhone 567的内存也有点太小了emmm 我查了下最多的是两个G的内存吗emmm
:distorted_face:
估计是用不起来了

1 个赞