1作者: Nextbysam4 个月前原帖
我们一直在为人工智能代理构建浏览器基础设施。每个人都会遇到的问题是:你启动 Chrome,登录某个账户,进行一些工作,然后呢?<p>是让虚拟机以每月 30 美元的费用继续运行却什么都不做,还是关闭它并失去当前会话?<p>我们希望在 Chrome 空闲时将其冻结到磁盘,并在恢复时精确回到上次的状态。结果发现这很困难。经过大量尝试不同的浏览器版本和配置后,我们终于在 Orb Cloud 上使用 Playwright 的 Chromium 和 CRIU 实现了这一功能。<p>结果是:导航到 Google,获取一些 cookies,截图,然后冻结。等待。恢复。相同的 cookies,相同的页面,完全相同的截图。我们在 Google、维基百科和 Hacker News 上进行了连续测试——全部通过。<p>Orb-browser 是一个开源代码库。它是一个无头 Chrome,你可以将其置于休眠状态。休眠时不产生任何费用,恢复大约需要 500 毫秒,所有数据都保持完整——cookies、localStorage,以及你所处的页面。浏览器并不知道它曾被冻结。<p>如果你运行的浏览器代理每小时活跃 5 分钟,那么你只需为 5 分钟付费,而不是 60 分钟。<p>代码库链接:https://github.com/nextbysam/orb-browser。
3作者: midnight_eclair4 个月前原帖
我目前的信念是: 1. “代理性”发展将持续存在,无论我们是否喜欢。 2. Markdown 提示是一种糟糕的推动这种发展的方式,无论你试图施加多少结构和层次(无论是链式还是扩展到角色等)。 3. 拼图式的方法则稍微好一些——用你选择的规范语言声明任何组件或子系统的“边界”,然后让代理填充内部。 如果你认为这些信念是错误的,那也没关系,但我更感兴趣的是那些大致同意的人对最后一点的反馈:你使用什么规范语言来描述组件边界、功能和跨组件交互? 我在 OpenAPI 上取得了一些小成功,但也许还有更好的替代方案?