1作者: _nhynes3 个月前原帖
嗨,HN,最近关于伯克利RDI基准测试完整性的帖子引起了很多关注[0],现在似乎是分享Amber的好时机,Amber是一个旨在简化代理基准测试可重复性的相关工作。 Amber源于RDI AgentX-AgentBeats基准测试竞赛[1],该竞赛邀请公众提交代理。为了确保结果的可信度,我们需要提交的内容是可重复的,并且具有明确的来源。可重复性促使我们对基准测试进行声明性规范,而来源则促使我们能够安全高效地在托管硬件上运行基准测试。一旦支持多阶段多代理基准测试(如狼人游戏),Amber的设计基本上就自然而然地形成了。 Amber的灵感来源于Fuchsia OS组件框架。Amber的安全模型是,像A2A代理或MCP工具这样的组件仅为那些被明确授予使用权限的组件提供服务。在基准测试的上下文中,这意味着正在测试的代理无法访问评估器,并且工具可以在基准测试的后期阶段被撤销。 Amber结合了编译器和运行时系统:编译器将描述代理、工具以及它们如何相互连接的清单转换为确定性的计划。该计划可以在不同的后端上执行,如Docker、K8s、KVM或主机操作系统。编译器注入了执行能力模型所需的运行时组件:提供组件间受保护连接的边车路由器,以及允许组件在运行时创建和销毁其他组件的后端控制器。 Amber最初仅使用静态的`docker compose`,但像TerminalBench和OSWorld这样的基准测试需要添加动态组件和基于虚拟机的组件。随后,竞赛参与者希望有一种更简单的本地测试方式,而不需要重复构建Docker镜像,因此Amber获得了原生二进制支持和一行命令的`amber run`接口。从Fuchsia借用的概念到目前为止都得到了验证。现在,我正在努力使Amber的可观察性追踪可供基准评估者使用,以便根据代理所采取的路径进行评判,而不仅仅是最终答案。 总体而言,我们设定的目标是使在低信任环境中重现代理基准测试结果变得简单。Amber并不是一个完整的解决方案,但它减轻了基准测试作者和代理构建者的一些负担。也许它在基准测试之外也有用。我很乐意接受你对这个概念框架的批评! AgentBeats tau2基准测试清单[2]是一个真实的例子。树内混合站点示例[3]是Amber端到端的简单演示,使用`amber run`命令。 [0]: [https://news.ycombinator.com/item?id=47733217](https://news.ycombinator.com/item?id=47733217) [1]: [https://rdi.berkeley.edu/agentx-agentbeats.html](https://rdi.berkeley.edu/agentx-agentbeats.html) [2]: [https://github.com/RDI-Foundation/tau2-agentbeats/blob/main/amber/amber-scenario.json5](https://github.com/RDI-Foundation/tau2-agentbeats/blob/main/amber/amber-scenario.json5) [3]: [https://github.com/RDI-Foundation/amber/tree/main/examples/mixed-site](https://github.com/RDI-Foundation/amber/tree/main/examples/mixed-site)
1作者: windystockholm3 个月前原帖
嗨,HN, 我意识到我每天都在追踪代码,却忽视了自己的健康。 于是我创建了 GitBalance,可以像记录代码提交一样记录锻炼,并将其视为贡献图。 你甚至可以通过命令行界面来操作: ``` gitbalance commit -m "30分钟锻炼" gitbalance commit -m "拉伸 + 手腕恢复" ``` 这是一个非常早期的 MVP——想知道这是否能引起共鸣。
1作者: PotatoAditya3 个月前原帖
今天我遇到一个叔叔,他手里拿着扫帚,正盯着一台人工智能驱动的清洁机器。他的表情看起来并不好,老实说,你对此有什么看法?
1作者: jrandolf3 个月前原帖
`sqlc-gen-sqlx` 是一个 `sqlc`(<a href="https:&#x2F;&#x2F;sqlc.dev" rel="nofollow">https:&#x2F;&#x2F;sqlc.dev</a>)插件,能够从带注释的 SQL 查询生成面向 `sqlx` 的 Rust 代码。 生成的 API 故意保持简洁: - 一个 `const SQL` - 用于 `:one` 和 `:many` 的行结构体 - 当查询有多个参数时的参数结构体 - 在 `Queries&lt;E&gt;` 上的方法,可以与 `&amp;PgPool`、`&amp;mut PgConnection` 或 `&amp;mut Transaction` 一起使用 当前支持 PostgreSQL。它支持常见的 `sqlc` 查询注释,以及枚举、复合类型、批量查询、`COPY FROM`、`sqlc.slice()`、`sqlc.embed()` 和类型重写。