Autenticare
代理工程 · · 7 min

ADK Go 1.0:面向智能代理时代的3种经过验证的生产模式(OpenTelemetry、HITL、自愈)

AI智能代理向生产环境的过渡需要可观测性、安全性和可扩展性。Google的ADK Go 1.0提供了构建强大且可治理的智能代理系统所需的基本模式和工具。

Fabiano Brito

Fabiano Brito

CEO & Founder

ADK Go 1.0:面向智能代理时代的3种经过验证的生产模式(OpenTelemetry、HITL、自愈)
TL;DR AI智能代理正从实验性脚本转向生产服务。Google的 **ADK Go 1.0** 为这一过渡提供了工具,包括**可观测性**(OpenTelemetry)、**可扩展性**(具有自愈能力的插件系统)、**安全性**(人机协作,Human-in-the-Loop)和**可移植性**(YAML配置),以及强大的A2A协议。

引言:从实验到生产的AI智能代理

人工智能已从未来的承诺转变为运营现实,AI智能代理正从实验室走向生产环境。这一飞跃要求系统不仅智能,而且可观测、安全和可扩展。正是在这种背景下,Google的 Agent Development Kit (ADK) for Go 1.0 应运而生,扩展了现有架构,以支持复杂的多智能代理系统。

经过验证的生产代理模式

ADK Go 1.0引入了关键功能,解决了在企业规模部署代理时面临的最大挑战。

1. 使用OpenTelemetry实现深度可观测性

部署智能代理的主要障碍在于其固有的非确定性。当代理失败时,了解原因至关重要。是工具故障?模型幻觉?还是潜在的API调用?

ADK Go 1.0原生集成了OpenTelemetry (OTel),这是一个开放的可观测性标准。通过简单地插入一个OTel TraceProvider,每次模型调用和工具执行都会生成结构化的追踪和Span,这对于调试复杂的代理逻辑至关重要。这使得您可以像在Cloud Trace等工具中一样,可视化代理的“思维链”以及现有的应用程序指标。

// ADK Go中的OTel初始化
telemetryProviders, err := telemetry.New(ctx, telemetry.WithOtelToCloud(true),
)
if err != nil {
	log.Fatal(err)
}

defer telemetryProviders.Shutdown(ctx)

// 注册为全局OTel提供程序
telemetryProviders.SetGlobalOtelProviders()

// 初始化支持遥测的runner
r, _ := runner.New(runner.Config{
    Agent:      myAgent,
    Telemetry:  telemetry.NewOTel(tp),
})

2. 通过插件系统实现可扩展性和自愈能力

代理的核心逻辑应该简洁明了。ADK Go中新的插件系统允许注入横切关注点——例如日志记录、安全过滤器和自校正——而无需修改代理的主要指令。

其中一个亮点是“重试与反射”插件。它拦截工具错误,将其反馈给模型,并允许代理自校正其参数并再次尝试。这是一种内置于框架中的“自愈”代码,减少了手动干预的需要。

// 将插件添加到Runner
r, _ := runner.New(runner.Config{
    Agent: myAgent,
    SessionService: mySessionService,
    PluginConfig: runner.PluginConfig{
    	Plugins: []*plugin.Plugin{
        // 使用反射自动重试失败的工具调用        

retryandreflect.MustNew(retryandreflect.WithMaxRetries(3)),
        // 每次运行的集中式日志记录
        loggingplugin.MustNew(""),
    },
},
})

3. 信任与控制:人机协作 (HITL)

安全性不仅是代码;它关乎控制。根据Google的 Safe AI Framework (SAIF) 指南,ADK Go现在支持强大的请求确认流程。

对于敏感操作——例如金融交易或生产数据库更改——您可以将工具标记为 RequireConfirmation。代理将暂停执行,生成确认事件,并在收到人工信号后继续进行。

// 人机协作工具设置
myTool, _ := functiontool.New(functiontool.Config{
    Name:                "delete_database",
    Description:         "Deletes a production database instance.",
    RequireConfirmation: true, // 触发HITL审批流程
}, deleteDBFunc)

其他关键创新

通过YAML配置可配置的智能代理

ADK Go 1.0还支持通过 YAML配置直接定义代理。这确保了功能对等和跨语言一致性,允许团队通过 adk 命令行工具管理和运行代理,而无需为每个配置更改编写样板Go代码。

# agent_config.yaml
name: customer_service
description: 一个处理航空公司客户问题的代理。
instruction: >
  您是一个客户代理,帮助用户预订航班。 
  您总是乐于助人。
tools:
  - name: "google_search"
  - name: "builtin_code_executor"
sub_agents:
  - "policy_agent"
  - "booking_agent"

多语言未来:A2A协议稳定性

没有哪个代理是孤立存在的。Agent2Agent (A2A) 协议 经过改进,支持Go、Java和Python代理之间的无缝通信。ADK Go 通过自动管理事件排序和响应聚合来简化这种编排,确保远程代理的数据得到可靠处理。

结论:构建下一代AI

ADK Go 1.0代表了迈向生产AI之旅的一个重要飞跃。凭借可观测性、自愈、治理和互操作性等工具,Google验证了一套基本模式,供开发人员和企业自信地构建和扩展其智能代理系统。

如果您的公司希望构建强大高效的AI智能代理,Autenticare专注于使用Google ADK和Gemini Enterprise平台实施解决方案。探索我们的代理工厂,了解我们如何加速您进入智能代理时代。

您的下一代AI从这里开始

准备好用AI智能代理改变您的业务了吗?

Autenticare可以帮助您开发和实施定制化的智能代理解决方案,充分利用ADK Go 1.0和Google Cloud生态系统的潜力。今天就与我们的专家联系。