产品Google AI Developers·原文 2026年9月2日本站收录 2026年9月7日

Google开发者详解“harness engineering”:用确定性组件约束AI编码代理,实现零手写代码产品

Google AI开发者发文介绍harness engineering概念,指通过沙箱、修复循环等确定性组件限制AI编码代理行为,并引用OpenAI实验称 3 名工程师用Codex构建了零手写代码的内部测试产品。

AI解读:Harness engineering的核心是解决AI生成代码的信任问题——你不必逐行审查,而是通过沙箱、权限策略、自动测试和修复循环等确定性组件,把代理限制在安全范围内自主工作。Google开发者文章以OpenAI实验为引(3 名工程师用Codex零手写代码交付内部测试产品),说明真正的工作在于设计环境而非编写业务逻辑。文章提供了具体实现路径,如用ADK配置沙箱、用workflow构建测试失败后的自动回环,并设置迭代上限防止死循环。对开发者的实际影响在于,若采用此模式,编码代理可从“辅助写码”升级为“自主完成测试驱动开发或重构”,但前提是必须有清晰的仓库结构和明确的边界定义;目前限制是这仍依赖精心设计的验证节点,且公开的成功案例规模有限。普通用户无需立即行动,但关注AI编程的团队可将其作为评估代理可靠性的新视角。

Google AI开发者Shir Meir Lador在官方开发者博客发文,引入“harness engineering”概念,指围绕大型语言模型(LLM)构建确定性组件来约束AI编码代理,使其在限定范围内自主完成编码任务。文章援引OpenAI的一篇博客称,一个由 3 名工程师组成的团队用Codex构建并发布了内部测试版软件产品,全程零手写代码,所有代码(应用逻辑、测试、CI配置、文档、可观测性、内部工具)均由Codex生成。

文章定义harness为包裹LLM的确定性组件集合,包括编排层、执行沙箱、状态持久化和验证工具,其目标是防止代理破坏生产环境或删除数据。作者引用同事Arthur Thompson的解释,并提及Balaji Subramaniam的博客详细描述了这些组件。

核心实践:设置边界、修复循环与逻辑仓库结构

文章提出三个关键实践:第一,设定严格边界,通过访问控制(如限制在特定沙箱内)防止代理误删生产数据;第二,构建“修复循环”,当构建失败或测试失败时,harness自动捕获错误日志并反馈给代理,让代理自行修复;第三,提供“地图而非手册”,强调不要用冗长指令淹没代理,而应逻辑化组织仓库,让代理在工作过程中逐步发现上下文。

  • 修复循环示例:ADK 2.0下,执行测试节点根据测试结果路由,若失败则将错误回溯反馈给代理循环尝试;同时记录迭代次数,超过阈值(示例中为 5 次)则安全终止,防止无限循环。
  • 仓库结构:建议代理按需发现上下文,而非一次性给大量说明文件。

代码示例:用ADK和Antigravity搭建本地harness

文章展示了使用Google Antigravity SDK与ADK的代码示例,用Python脚本让代理在指定沙箱目录(如 './sandbox')内运行,并指定记忆保存位置('./trajectories')以便学习。代理通过policy.allow_all() 获得策略权限,但仍被限制在沙箱边界内。

测试通过workflow图编排,将代理与测试节点链接,测试失败时路由回代理,形成自主修复循环。文章称,用户可按示例步骤在本地运行:安装 'google-adk[antigravity]'、从Google AI Studio获取免费Gemini API密钥并导出、将代码保存为Python脚本并在沙箱目录放入损坏的Python或Node文件后运行。

  • 扩展建议:可添加第二个AI代理(如SecurityAuditor)审查代码,或接入自定义linter强化架构规则,并可替换测试节点为子进程执行pytest或npm test。
  • 缩放路径:可下载完整IDE和CLI(antigravity.google),或使用Antigravity托管代理进行远程执行,以及ADK 2.0的图工作流。

更多资料与使用场景

文章末尾推荐了同事的指南:Sara的codelab演示Cloud Run沙箱构建安全代理环境,Balaji Subramaniam的《Loop Engineering for Coding Agents》深入讲解自纠错,James O'Reilly的文章分析用agentic管道和Antigravity在企业大规模自动化遗留系统现代化。

信息来源