Anthropic 收购 Bun 的真正原因不在于运行时速度,而在于对智能体的控制权
٨ مايو ٢٠٢٦
0
Computing/SoftwareRelated Video
24:34闲聊时间、Bun 的进化以及更多精彩内容!
Maximilian Schwarzmüller
Comments (0)
Log in to leave a comment
No posts yet
24:34Maximilian Schwarzmüller
Log in to leave a comment
No posts yet
Anthropic 吞并 Bun 意味着这不仅仅是简单的性能提升。传统的 Node.js 针对人类编写的代码长时间运行进行了优化。但 AI 智能体(Agent)不同,它们需要反复执行成千上万次简短的任务。在这种场景下,Node.js 超过 100ms 的冷启动时间是致命的瓶颈。而 Bun 将这一时间缩短到了 10ms 左右。这意味着智能体从思考到行动的循环周期变得更快了。
每次创建智能体时都要面对昂贵的云端向量数据库(Vector DB)账单是件痛苦的事情,数据安全也令人担忧。使用 Bun,无需外部服务,仅靠内置的 bun:sqlite 就能运行高性能的记忆系统。这个用 Zig 语言精雕细琢的引擎比 Node.js 的现有库快 3 倍以上。
import { Database } from "bun:sqlite"; 立即创建本地数据库。db.run("PRAGMA journal_mode = WAL;");。这个设置至关重要,它能确保写入操作不会阻塞读取。db.prepare() 预编译重复查询。这样,一个具有 Redis 级响应速度的本地 RAG 环境就完成了。智能体在记忆“睡觉前思考的内容”时,完全不需要跨越网络跑向远方。
让智能体直接执行终端命令总是让人不安,因为它们容易受到 Shell 注入攻击。Bun.$ API 从架构上解决了这个问题。使用模板字面量时,它会自动安全地处理变量。无需复杂的 Shell 脚本或 Makefile,你就可以在 JavaScript 中直接操控基础设施。
智能体的自我修复循环可以这样构建:
await $npm test.text() 这样直接以对象形式获取执行结果。得益于比 npm 快 30 倍的包安装速度,这种“修改-测试”循环在几秒钟内即可完成。智能体自主构建环境并完成部署所需的时间大幅减少。
在不知道智能体内部在想什么的情况下干等结果是很让人焦虑的。但为了做一个监控仪表盘而去构建 React 或 Vue 又是本末倒置。使用从 Bun 1.3.12 开始引入的 Bun.WebView 即可解决此问题。
new Bun.WebView() 弹出窗口并准备好 HTML 字符串。view.navigate() 注入准备好的画面。view.evaluate() 传递数据以更新界面。完全不需要额外的框架或复杂的构建过程,因为它直接调用系统内置的浏览器引擎。实时可视化智能体正在翻阅哪些文件、知识间的关联度如何,会让调试变得简单得多。
虽然 Bun 声称与 Node.js 兼容,但如果原生模块(Native Modules)发生冲突会非常头疼。在这种情况下,比起盲目替换,利用 package.json 的 imports 字段采取混合策略更具现实意义。
process.versions.bun,从而分流加载 Bun 专用 API(如 Bun.file() 或 Bun.write)。实际上,将这种方式应用于 AWS Lambda 后,运行速度可提升 60% 以上。在不放弃现有生态系统中丰富库资源的同时,依然能享受到 Bun 带来的高性能工具链的所有优势。