随着开发者越来越依赖人工智能代理(AI Agents)来编写大量代码,工程师在审查这些输出时面临着越来越大的挑战,尤其是在复杂的分布式系统中。Hydro 是一个用 Rust 语言构建的开源分布式系统框架,其团队正致力于通过将软件检查机制集成到编译器中来弥补这一差距,从而发现代理可能犯下的错误。
为什么传统测试是不够的?
Hydro 团队的研究负责人沙达格·拉达德(Shadaj Laddad)指出,人工智能代理倾向于同时编写代码及其自身的测试,这使得人类审查者很难确定这些测试的准确性。通常情况下,功能在隔离状态下运行良好,但当它们被集成到更大的系统中时就会失败,从而导致软件保障崩溃。
向软件“护栏”的转变
Hydro 团队没有完全依赖代理编写的测试,而是专注于在代理的“信任区”之外强制执行严格的规则。类似于 Rust 语言中的借用检查器(Borrow Checker)在运行代码之前防止竞态条件(Race Conditions)的方式,Hydro 旨在对分布式系统应用类似的检查。目前正在探索重复出现的模式,例如 幂等性(Idempotency)——确保在失败后重新发送请求时不会重复执行——将其转化为代理可以遵守的通用护栏。
与运行时环境的集成
与这些努力并行的是,AWS 最近推出了 Infinity,这是一个面向代理的开源运行时(Runtime),旨在在等待工具响应或持续集成(CI)任务时暂停代理的工作,从而大幅减少资源消耗。这种方法能够以极高的效率运行大量代理。
这对开发者意味着什么?
这一趋势表明人们认识到,编译器必须发展成为抵御人工智能错误的第一道防线。尽管 Hydro 仍处于早期阶段,但它提供了一个范例,展示了如何在“代理编程”时代构建高可靠性的分布式系统,使可靠性融入语言和工具的结构中,而不仅仅是一个额外的测试层。
新闻来源
The New Stack - Software Development
查看原始来源 ↗