tRPC-Agent-Go 接入

最近更新时间:2025-12-05 15:26:01

我的收藏
tRPC-Agent-Go 是腾讯开源的 Go 语言 AI Agent 开发框架,支持智能推理、持久化 memory、multi-agent 等功能,深度集成腾讯 tRPC 微服务生态,与已有的 tRPC-A2A-Go(Agent-to-Agent 通信框架)和 tRPC-MCP-Go(MCP 开发框架)形成完整的 Go 语言 AI 生态闭环。

操作步骤

trpc-agent-go 框架已经 内置了可观测功能,因此可以在不接入第三方探针的情况下,直接通过配置开启链路和指标的上报功能。

步骤1:获取接入点和 Token

1. 登录 腾讯云可观测平台 控制台。
2. 在左侧菜单栏中选择 LLM 可观测 > 应用列表,单击接入应用
3. 在右侧弹出的接入应用抽屉框中,单击 Go 语言。
4. 接入 Go 应用页面,选择您所要接入的地域以及业务系统
5. 选择接入协议类型OpenTelemetry
6. 选择您所想要的上报方式,获取您的接入点Token
说明:
内网上报:使用此上报方式,您的服务需运行在腾讯云 VPC。通过 VPC 直接连通,在避免外网通信的安全风险的同时,可以节省上报流量开销。
外网上报:当您的服务部署在本地或非腾讯云 VPC 内,可以通过此方式上报数据。请注意外网通信存在安全风险,同时也会造成一定上报流量费用。

步骤2:通过 trpc-agent-go 内置的可观测功能配置接入

注意:
tRPC-Agent-Go 本地采集的指标会上报到 APM,这里需要设置环境变量保证指标的聚合时间性:OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE = DELTA
示例代码如下。

import (
// 引入 OpenTelemetry SDK 相关包
"go.opentelemetry.io/otel/attribute"

// 引入 trpc-agent-go 内置的可观测功能包
ametric "trpc.group/trpc-go/trpc-agent-go/telemetry/metric"
atrace "trpc.group/trpc-go/trpc-agent-go/telemetry/trace"
)



func main() {
// 业务相关代码
// trpc-agent-go 配置 trace 和 metric 初始化
ctx := context.Background()

// Initialize OpenTelemetry tracing.
cleanTrace, err := atrace.Start(
ctx,
atrace.WithEndpoint("<endpoint>"),
atrace.WithServiceName("<service_name>"),
atrace.WithResourceAttributes(attribute.String("token", "<token>")),
)
if err != nil {
log.Fatalf("Failed to start trace telemetry: %v", err)
}
defer func() {
if err := cleanTrace(); err != nil {
log.Printf("Failed to clean up trace telemetry: %v", err)
}
}()

// Initialize OpenTelemetry metrics.
mp, err := ametric.NewMeterProvider(
ctx,
ametric.WithEndpoint("<endpoint>"),
ametric.WithServiceName("<service_name>"),
ametric.WithResourceAttributes(attribute.String("token", "<token>")),
)
if err != nil {
log.Fatalf("Failed to create metric provider: %v", err)
}
defer func() {
if err := mp.Shutdown(ctx); err != nil {
log.Printf("Failed to clean up metric telemetry: %v", err)
}
}()

if err := ametric.InitMeterProvider(mp); err != nil {
log.Fatalf("Failed to init metric telemetry: %v", err)
}

// 业务相关代码
}
对应的字段说明如下,请根据实际情况进行替换。
<service_name> :应用名,多个使用相同 service name 接入的应用进程,会表现为该应用下的多个实例。应用名最长63个字符,只能包含小写字母、数字及分隔符“ - ”,且必须以小写字母开头,数字或小写字母结尾。
<token> :前置步骤中拿到业务系统 Token。
<endpoint> :前置步骤中拿到的接入点。

接入验证

完成接入工作后,启动 LLM 应用,在 LLM 可观测 > 应用列表 页面将展示接入的应用。由于可观测数据的处理存在一定延时,如果接入后在控制台没有查询到应用或实例,请等待30秒左右。