[原创+挖坑] Bonsai --- 使用本地 Agentic AI 来取代 ChatGPT

6 月 4 日
 coolwulf

我在德州西南医学中心从去年开始开的一门课就是如何利用 Agentic AI 来编写 Harness 为不同的专门领域来服务。

当前随着各大 AI 公司比如 OpenAI Google Anthropic 大幅提高 Token 价格,使用云端的大模型的花费越来越高。但是同时很多用户使用 ChatGPT 这样的工具只是把它当成 Google 一样来用,用来查询信息。完全没有必要花费巨额的 Token 量和花费来使用顶级的 GPT 5.5 或者 Opus 4.8 这样的模型。

鉴于此,我决定使用高效的本地模型结合 Harness 来设定工具和 Memory 来解决这个问题。

(取名 Bonsai 的原因,一部分是因为我和 Stanford 出身的 Prism 实验室有过一些交集 https://prismml.com/)

虽然 Anthropic 从来没有公布具体的 Claude Sonnet 的参数量,不过从网上的信息以及我的个人分析推断,这个模型是一个 MoE (Mix of Expert) 模型,它的有效参数 (Active Parameter) 应该在数十 B 左右,总参数在几百 B 左右。

MoE 模型的有效参数是真实的模型推理过程中使用的参数量,总参数量则是这个模型所储备的知识量 (Knowlege)。我的想法是如果是这样,那么使用一款带有 Thinking 能力的 Dense 模型,虽然只有数十 B 的参数量,但如果可以结合 Harness Engineering, 利用针对性的高效工具来弥补模型知识能力的不足,这样的工具如果写成了应该可以在本地替代大部分的 ChatGPT 对于大多数用户的需求。

做为这个想法的第一个专门项目,我决定先公布一个测试版本 Bonsai, 这个 Harness 采用了底层和本机的 Google Chrome 交流,通过编写的多个浏览器交流工具让本地 LLM 使用 Agentic 模式来访问网络, 默认使用的大模型是 Google Gemma 4B, 当然也可以换成 QWen 模型。 (使用 Gemma 模型的原因是在德州的政府部门包括学校中不能使用中国的开源模型)

下载地址: https://drive.google.com/drive/folders/1YUQ3tmcBSLEyBKLi5JdJgmod9mqXFTgl?usp=sharing

截图: https://i.imgur.com/9MacuXk.png

左边是输入对话框,右边是 Agent 在操作浏览器

这个 Harness 采用了很多专门针对浏览器交互的工具,包括可以 InjectJS 等 JS 注入工具,来方便 Agnet 来查找网页元素和点击按钮等等

这个当前的版本是在 Windows 上编译的,需要 Nvidia CUDA 的支持

我会随后更新还在测试中的 M 系列的 Mac 版本

当前使用 4B thinking 模型作为默认模型的目的是可以在本地上跑到快速的 token / s 方便使用 Agentic workflow. 我测试使用的 Win11+Nvidia 4090 可以跑到大概 140 tps. 在 M4 mac 上使用 Metal 后段大概在 50 tps 左右

2491 次点击
所在节点    分享创造
17 条回复
coolwulf
6 月 4 日
coolwulf
6 月 4 日
这个 Harness 的设计采用了 Agent + skills + memory 这样的设定,Memory 采用了 embedding+sqlite 这样本地存储的形式,这样可以使用 Cosin product 这样的 semantic searching 来弥补本地模型 Context window 大小不足的问题
AJDX3906
6 月 4 日
你这个方案和我在本地使用 claude code + ollama + agent-browser 「 chrome mcp 」相比,优势是什么?而且还没开源。
coolwulf
6 月 4 日
@AJDX3906 1 ) Integration 2) VectorDB semantic searching - capable memory, suitable for small context window local LLM 3) Special customized browser oriented skills + special tools
coolwulf
6 月 4 日
@AJDX3906 老的源码已经在 github 上但不是这个最新的版本
coolwulf
6 月 4 日
添加了 M 系列 Mac 版本,在同一个目录中
Tink
6 月 4 日
大佬又出手了。
coolwulf
6 月 4 日
还有在底层使用的是比 mcp 更 low level 的 webrtc
dcatfly
6 月 4 日
1. 马斯克说 sonnet 是 1t ,opus 是 5t ;实际模型架构和激活参数都不知道,社区里的猜测我看到的这篇比较有理有据(大概激活 100B 左右),但可能也相差甚远。https://unexcitedneurons.substack.com/p/estimating-the-size-of-claude-opus

2. 顶级模型和小模型之间不只是知识量的差距,更多的是更大的参数量带来的智能。这种智能体现在泛化、指令遵循、幻觉等方面,这在 agentic 中尤为重要,只靠 harness 可能不太能抹平这种差距。
coolwulf
6 月 5 日
添加了 Bonsai GUI Windows 版本
musi
6 月 5 日
慎重给本地小模型过高的权限
小模型参数量太小只是储备不够甚至无法分辨一些提示词注入以及一些危险指令,极端一点,写代码执行一些操作时如果格式不对也可能造成很严重的问题
tangxiaoqiang123
6 月 5 日
使用 Bonsai GUI Windows 会闪退,下载完成模型后,加载直接闪退,此时 chrome 已经打开
coolwulf
6 月 5 日
@tangxiaoqiang123 使用新上传的 cuda 13.2 版本
coolwulf
6 月 5 日
google drive 中更新了 Bonsai_gui_cuda12 和 cuda13 的版本
tangxiaoqiang123
6 月 7 日
还是会崩溃,这次显示 ready,type a task and press enter 之后,过了大概一两秒就闪退了,chrome 也打开了
tangxiaoqiang123
6 月 8 日
找到原因了,我是 2060 的显卡,你这个不支持老的 gpu ,启动显示 ready 后闪退,日志报 “CUDA error: no kernel image is available for execution on the device”。说明编译时没有包含 Turing 架构的内核。如果可以的话能在编译的时候加上 75 ,这样老的设备也能跑,谢谢老哥
kylehuangyu
6 月 13 日
我的方案是把整个 harness 都搬到浏览器里面。给 agent 浏览器的权限。https://github.com/algopian/chromeclaw

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1217764

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX