Aioga
AI资讯 / 行业动态
返回 AI资讯

什么是 harness 工程?Google 用 ADK 2.0 与 Antigravity SDK 演示自动修复编码循环

Google AI:DEV 作者专属(RSS)Aioga 编辑团队2026-09-02T15:28:05.000Z热度 72

Google 员工 Shir Meir Lador 介绍 harness 工程,即用确定性组件包裹 LLM,包括编排层、执行沙箱、状态持久化和验证工具,让 Agent 不需逐行...

行业动态Google AI:DEV 作者专属(RSS)

今日 AI 情报摘要

Google 员工 Shir Meir Lador 介绍 harness 工程,即用确定性组件包裹 LLM,包括编排层、执行沙箱、状态持久化和验证工具,让 Agent 不需逐行人工审查即可安全生成代码。

中文正文 · AI 翻译

如何在不手动编写任何代码的情况下交付一个软件产品?

今天一个朋友问我这个问题,我意识到自己没有一个简单的答案。所以我进行了深入研究。

事实证明,答案在于你如何设计你的包裹系统。

等等,什么?什么是包裹系统工程?

这也是为什么这成为目前关于编码代理最重要的趋势的原因。如今最大的问题是如何在不阅读每一行的情况下验证AI生成的代码。你如何确保代理不会破坏生产环境或删除你的数据?

OpenAI的一篇博客:https://openai.com/index/harness-engineering/ 分享了一个有趣的实验,一个由3名工程师组成的团队已经构建并交付了一个内部测试软件产品,完全没有手动编写代码。每一行代码——应用逻辑、测试、CI配置、文档、可观测性以及内部工具——都是由Codex编写的。

他们是如何做到的?他们没有编写应用程序。他们设计了包裹系统。

把AI代理想象成一匹强大的赛马。包裹系统就是那个赛道、眼罩和骑手的缰绳,它可以让马朝正确方向奔跑,而不是跳进看台。

正如我的同事Arthur Thompson今天解释的:对于代理来说——包裹系统由所有封装大语言模型(LLM)的确定性组件组成。

Balaji Subramaniam在他的博客中详细说明了这些确定性组件:https://medium.com/google-cloud/harness-engineering-for-multi-agent-systems-using-google-adk-2-0-e248b885cb95 ——包括编排层、执行沙箱、状态持久化和验证工具。

如果你想构建可靠的代理系统,你的工作将从编写逻辑转向设计环境。你需要关注以下内容:

这在实践中是什么样子?这里是一个使用谷歌反重力SDK的简单例子:https://antigravity.google/product/antigravity-sdk?utm_campaign=CDR_0x91b1edb5_default_b550513795&utm_medium=external&utm_source=blog,结合谷歌的ADK:https://adk.dev/2.0/ 来配置本地包裹系统。注意我们是如何严格将代理限制在特定工作区(workspaces=["./sandbox"])并为它提供保存记忆的地方(save_dir="./trajectories")从而让它能够从以往经验中学习的:

The policy keeps the agent access only in the Sandbox folder

:https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F706wjvl4dxy8dnxgkbib.png

有了这个设计,你可以将遗留代码放入沙箱,编写一个简单的循环来运行单元测试,并让代理迭代地修复自身的错误。

那么,我们实际上如何对沙箱代理运行测试呢?

在现代测试框架工程中,测试是代理工作流图中的一个主动部分。使用 Google 的 ADK 2.0:https://adk.dev/2.0/,它引入了基于图的工作流,你可以将测试验证步骤定义为一个简单的路由节点。

如果测试通过,工作就完成了。如果测试失败,测试框架会自动将错误循环反馈给代理再次尝试。注意内置的“终止开关”:我们跟踪迭代次数,如果代理陷入不断出错和修复代码的无限循环,测试框架会安全地终止运行。

如果你想看到这个测试路由模式的实际效果,可以查看 Balaji 的 ADK 测试框架仓库中的完整实现示例:https://github.com/balajismaniam/adk-harness-engineering/blob/main/workflows/workflows.py。

要连接代理和测试节点,你可以使用工作流图来精确映射执行流程,而无需复杂的嵌套 Python while 循环。

把它想象成给赛道画出实际的跑道车道:

The test loop

:https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe6gyazb82hdpd8wqq4dv.png

恭喜!你已经构建了一个自主系统。代理编写代码并交给测试节点。如果测试失败并返回 loop_back 路由,代理会在手握错误日志的情况下再次尝试。

在 ADK 示例中查看更多循环模式的例子:https://github.com/google/adk-python/tree/main/contributing/samples/workflows/loop

你可能会想,为什么运行一个代理需要 Python 脚本。在普通的聊天窗口中,你就是那个管理工具:你会复制错误日志并照看模型。软件管理工具可以让系统自己照看自己,从而让你能够完全自动化测试驱动的编码,或者安全地重构庞大的遗留代码库。

要在你自己的机器上运行这个自我修复循环,设置时间不到五分钟:

从这里开始,你可以将我们简单的测试节点替换为一个实际执行 pytest 或 npm test 的子进程来检测你的沙盒,这样你就会拥有一个完全可用的修复循环。

如果你已经准备好扩展,可以下载完整的 IDE 和 CLI,地址是 antigravity.google:https://antigravity.google/?utm_campaign=CDR_0x91b1edb5_default_b550513795&utm_medium=external&utm_source=blog,探索 Antigravity 管理的代理:https://ai.google.dev/gemini-api/docs/antigravity-agent?utm_campaign=CDR_0x91b1edb5_default_b550513795&utm_medium=external&utm_source=blog 以进行远程执行,以及使用基于图的工作流的 Google ADK 2.0:https://adk.dev/2.0/。

我在 Google 的同事们整理了一些关于下一步该去哪里的一些很棒的指南。想了解如何为你的代理构建安全环境,请查看 Sara 展示的 Cloud Run 沙盒 codelab:https://codelabs.developers.google.com/codelabs/cloud-run/cloud-run-personal-agent-coffee-shop?utm_campaign=CDR_0x91b1edb5_default_b550513795&utm_medium=external&utm_source=blog。如果你想精通自我纠正,Balaji Subramaniam 最近发布了一篇深入探讨编码代理循环工程的文章:https://medium.com/@BalajiBuilds/61c30c9e36ca。要查看这些应用于大型企业用例的情况,请阅读 James O'Reilly 关于使用代理流水线和 Antigravity 自动化遗留系统现代化的大型案例分析:https://codelabs.developers.google.com/automating-modernization-with-antigravity?utm_campaign=CDR_0x91b1edb5_default_b550513795&utm_medium=external&utm_source=blog。

pic

模板可以帮助你快速回答常见问题或存储可重复使用的代码片段。

你确定要隐藏此评论吗?它将在你的帖子中变为隐藏状态,但仍可通过评论的永久链接查看:#。

进一步操作中,你可以考虑屏蔽此人和/或举报滥用行为:/report-abuse

Google AI Studio 是开始使用 Gemini 构建的最快方式。准备好构建了吗?

DEV 社区:/ — 一个讨论、跟进软件开发并管理你的软件职业的空间

建立在 Forem:https://www.forem.com 上 — 开源软件:https://dev.to/t/opensource 支持 DEV:https://dev.to 及其他包容性社区。

用爱和 Ruby on Rails 制作:https://dev.to/t/rails。DEV 社区 © 2016 - 2026。

我们是一个程序员分享、保持最新状态并发展职业的地方。

情报判断

Aioga 编辑摘要

Google员工Shir Meir Lador介绍了harness工程:以编排层、执行沙箱、状态持久化和验证工具等确定性组件包裹LLM,目标是在减少逐行人工审查的情况下验证AI生成的代码。

背景分析

文章将harness描述为编码Agent运行所需的约束与控制结构,并提到OpenAI曾分享一项由3名工程师参与的内部测试产品实验,其中代码、测试、CI配置、文档、可观测性和内部工具均由Codex编写。

Aioga 观点

Aioga判断:harness工程的重点不只是让模型生成代码,而是建立围绕生成、执行、保存状态和验证的控制流程。标题所述ADK 2.0与Antigravity SDK演示,显示这类流程正成为编码Agent讨论的一部分。

影响与后续

可能影响:若编排、沙箱、持久化和验证组件能够稳定协同,编码Agent的使用方式可能从逐行检查转向流程级验证;但现有材料不足以证明其已能避免生产故障或数据删除,也不代表人工审查可以完全取消。 后续观察:应继续核对ADK 2.0与Antigravity SDK演示的具体流程、验证条件和适用范围,并关注文章所述确定性组件如何处理代码执行风险、状态恢复及结果验收。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: RSS · 原始域名: dev.to

来源: Google AI:DEV 作者专属(RSS)

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-09-02T15:28:05.000Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

Google 员工 Shir Meir Lador 介绍 harness 工程,即用确定性组件包裹 LLM,包括编排层、执行沙箱、状态持久化和验证工具,让 Agent 不需逐行...

Google AI:DEV 作者专属(RSS)2026-09-02T15:28:05.000Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。