@GoogleCloudTech: https://x.com/GoogleCloudTech/status/2091986652595950079

X AI KOLs Timeline 工具

摘要

本文介绍了驾驭工程作为控制AI代理的关键趋势,通过设计确定性环境并使用如Google Antigravity SDK等工具,展示了团队如何通过沙箱化和修复循环来发布使用AI生成代码的软件。

https://t.co/K0b9bjXfCr
查看原文
查看缓存全文

缓存时间: 2026/08/25 10:05

什么是工具链工程,为何需要关注?

如何实现零行手写代码来交付软件产品?

今日友人相询,我意识到自己无法给出简明答案,于是深入探究了一番。

原来答案就藏在如何设计你的工具链之中。

作者:@shirmeir86

等一下,这到底是什么?工具链工程指什么?

这正是当前编码智能体领域最重要的趋势。如今最核心的挑战在于:如何验证AI生成的代码而无需逐行审阅?如何确保智能体不会破坏生产环境或删除数据?

我最近读到一项有趣的实验:三位工程师构建并发布了一款内部测试版软件,其中零行代码由人工编写——包括应用逻辑、测试、CI配置、文档、可观测性工具乃至内部工具链,所有代码均由Codex生成。

他们如何做到的?关键不在于编写应用程序,而在于设计工具链。

工具链具体指什么?

可以把AI智能体想象成一匹强大的赛马。工具链就是跑道、马眼罩和骑手缰绳的集合,确保它始终沿着正确方向奔跑,而非冲入观众席。

正如我的同事Arthur Thompson今日所阐释:对智能体而言,工具链由所有包裹大语言模型的确定性组件构成。

Balaji Subramaniam在其博客中详细阐述了这些确定性组件**——**编排层、执行沙箱、状态持久化以及验证工具。

若想构建可靠的智能体系统,你的工作重心需从编写逻辑转向设计运行环境。以下是你需要关注的重点:

  • 设定严格边界: 不要让智能体自行判断可操作范围。实施严格的访问控制(例如将其限制在特定沙箱中),防止意外破坏生产数据。
  • 构建“修复闭环“: 智能体难免会犯错。优秀的工具链能自动捕获错误(如构建失败或测试不通过),并将清晰的日志反馈给智能体,使其能自主修复代码。
  • 提供导航图而非说明书: 正如OpenAI团队发现的,切勿用海量指令文件压垮智能体。应逻辑化组织代码库,让智能体在工作过程中渐进式发现上下文。

代码示例

实际应用中这是什么样子?以下示例使用Google Antigravity SDK配合Google ADK配置本地工具链。请注意我们如何将智能体严格限制在特定工作空间(workspaces=[“./sandbox”]),并为其提供记忆存储位置(save_dir=“./trajectories”),使其能从历史经验中学习:

import os
from google.adk.labs.antigravity import AntigravityAgent
from google.antigravity import LocalAgentConfig
from google.antigravity.hooks import policy

# 确保工作空间的绝对路径
sandbox_dir = os.path.abspath("./sandbox")
os.makedirs(sandbox_dir, exist_ok=True)
save_dir = os.path.abspath("./trajectories")

# 1. 设计工具链环境
sdk_config = LocalAgentConfig(
    system_instructions="你是一个乐于助人的本地环境助手。",
    workspaces=[sandbox_dir],
    # 允许智能体在受限沙箱边界内安全写入
    policies=[policy.allow_all()], 
    save_dir=save_dir,
)

# 2. 将配置包装为在工具链内运行的智能体
root_agent = AntigravityAgent(
    name="antigravity_assistant",
    description="在ADK中运行Antigravity SDK智能体。",
    config=sdk_config,
)

策略确保智能体仅能访问Sandbox文件夹

策略确保智能体仅能访问Sandbox文件夹

有了这套设计,你可以将遗留代码放入沙箱,编写简单循环对其运行单元测试,让智能体迭代修复自身缺陷。

添加测试

那么,如何对这个沙箱化的智能体实际运行测试呢?

在现代工具链工程中,测试是智能体工作流图谱的活跃组成部分。通过Google ADK 2.0引入的基于图的工作流,你可以将测试验证步骤定义为简单的路由节点。

测试通过则任务完成;若失败,工具链会自动将错误信息反馈给智能体重试。注意其中的内置“熔断机制“: 我们跟踪迭代次数,防止智能体陷入无限修复循环,此时工具链会安全终止进程。

from google.adk.agents.context import Context
from google.adk import Event
from google.adk.events.event_actions import EventActions
from google.genai import types

# 3. 在沙箱中评估代码
def execution_test_node(ctx: Context):
    # 安全追踪尝试次数,防止无限循环
    iteration_count = ctx.state.get("iteration_count", 0) + 1
    ctx.state["iteration_count"] = iteration_count
    
    test_passed = ctx.state.get("test_passed", False)
    feedback = ctx.state.get("feedback", "")
    
    if test_passed:
        # 成功!结束工作流。
        return Event(actions=EventActions(route="END"))
        
    if iteration_count > 5:
        # 熔断机制:智能体已卡死,终止循环
        return Event(actions=EventActions(route="END"))
    
    # 失败!将错误追踪信息反馈给智能体并循环。
    feedback_msg = f"单元测试失败,错误追踪如下:\n\n{feedback}"
    
    return Event(
        content=types.Content(role="user", parts=[types.Part(text=feedback_msg)]),
        actions=EventActions(route="loop_back")
    )

若想查看此测试路由模式的完整实现,可参阅Balaji的ADK工具链示例库

使用基于图的工作流连接所有组件

要连接智能体与测试节点,可通过工作流图谱精确规划执行流程,无需编写复杂的嵌套Python循环。

可将其理解为在赛道上绘制实际车道:

from google.adk import Workflow

# 4. 将智能体与测试节点连接成循环
repair_loop = Workflow(
    name="repair_loop",
    edges=[
        # 第一步:定义主序列(起始 → 智能体 → 测试节点)
        ("START", root_agent, execution_test_node),
        
        # 第二步:若测试返回"loop_back",则返回智能体
        (execution_test_node, {"loop_back": root_agent})
    ]
)

测试循环

测试循环

测试循环

恭喜!你已构建出自主系统。智能体编写代码后交付测试节点,若测试失败并返回loop_back路由,智能体将携带错误日志再次尝试。

更多循环模式示例请参阅ADK示例库。

亲自尝试

你可能会疑惑:为何需要Python脚本来运行智能体?在普通聊天界面中,你本身就是工具链——负责复制错误日志并监督模型运行。而软件工具链使系统能自我监督,从而实现完全自动化的测试驱动开发,或安全重构大型遗留代码库。

在本地机器上运行此自修复循环,设置过程不超过五分钟:

  • 安装框架: 在终端运行pip install "google-adk[antigravity]"获取开源Agent Development Kit及Antigravity集成。
  • 设置API密钥: 从Google AI Studio获取免费Gemini API密钥,并导出至环境变量(export GEMINI_API_KEY="你的密钥")。
  • 运行循环: 将上述代码块保存为Python脚本,将损坏的Python或Node文件放入新建的./sandbox目录,运行脚本即可。
  • 扩展图谱: 单元测试仅是基础。要让工具链坚不可摧,可在工作流中加入第二个AI智能体(如SecurityAuditor),在代码通过前进行审查,或接入自定义检查器以强制执行严格的架构规范。

此后,你可将简单测试节点替换为实际执行pytestnpm test的子进程,从而获得功能完备的修复闭环。

若准备投入规模化应用,可从antigravity.google下载完整IDE和CLI工具,探索用于远程执行的Antigravity托管智能体,以及google的ADK 2.0实现基于图的工作流。

延伸阅读

我的Google同事们精心编写了系列指南。如需了解如何构建安全智能体环境,请查阅Sara展示的Cloud Run沙箱实操教程。若想掌握自我纠正技术,Balaji Subramaniam近期发布的智能体循环工程深度解析值得研读。欲观此技术在企业级场景的应用,请阅读James O’Reilly关于使用智能体流水线与Antigravity自动化大规模遗留系统现代化的案例分析。

相似文章