导语tRPC是腾讯内部使用最广泛的RPC开发框架,广泛应用于多个核心业务系统,包括QQ、腾讯视频、腾讯音乐、QQ浏览器、腾讯新闻、元宝、电脑和手机管家、腾讯云等。其中,tRPC-Go是应用最广的版本,覆盖了近200万个节点,支持超过5万个服务。
从2023年开始,大模型技术快速发展,Agent开发框架成为连接AI能力与实际业务的重要工具。为了帮助开发者更高效地构建Agent应用,并更好地与tRPC微服务结合,提升性能和稳定性,tRPC-Go在2025年进一步加强了对Agent功能的支持。本文将介绍trpc-agent-go(https://github.com/trpc-group/trpc-agent-go)如何打造智能AI应用。
一、技术选型与定位1.当前主流框架分析目前AI Agent应用开发主要分为两种方向:自主多Agent框架和编排式框架。
1.1 自主多Agent框架这种模式强调每个Agent具备独立感知环境、自主决策和执行任务的能力。多个Agent之间通过消息传递和协商实现协作,能够根据环境变化灵活调整策略,表现出一定的智能特性。
例如,AutoGen支持角色专业化和动态协商;ADK提供完整的生命周期管理;CrewAI专注于任务分配和责任链;Agno则注重多模态能力和团队协作。
1.2 编排式框架这类框架采用工作流方式,通过预设流程或状态机组织LLM调用和组件交互。虽然整体表现有“智能”特征,但执行路径是固定的,更像是“智能化的工作流”,而非真正的自主Agent。
比如,LangChain通过定义好的链路构建应用;LangGraph使用DAG结构进行状态转换。
2.两种框架对比行业现状显示,目前主流的自主多Agent框架多基于Python生态,为开发者提供了丰富选择。而Go语言因其并发能力强、部署方便,在微服务领域广泛应用。不过,现有的Go语言AI框架大多偏向于编排式架构,适用于结构化流程。
随着LLM在复杂推理和动态决策方面的能力提升,自主多Agent框架展现出更强的适应性,例如:
在腾讯内部,这些特性被广泛应用。因此,tRPC-Agent-Go选择了自主多Agent的架构,同时兼顾工作流的兼容性。
二、tRPC-Agent-Go框架概述tRPC-Agent-Go(https://github.com/trpc-group/trpc-agent-go)集成了LLM、智能规划器、会话管理、可观测性和多种工具。支持创建自主Agent和半自主Agent,具备推理、工具调用、子Agent协作和长期状态保持等功能,为开发者提供完整的智能应用开发工具链。
1.整体架构模块图
1.2 交互流程设计整个框架采用分层结构,Runner作为执行器管理Agent生命周期,Event模块负责状态传递和通信,tRPC Agent采用插件化设计,支持各种组件扩展,Callbacks模块提供关键节点的拦截和处理功能。
1.3 时序图展示了一个完整的用户与Agent交互过程,涉及Runner、Service、Agent、LLMFlow、Model、Tool等多个组件之间的关系。
三、核心模块详解1.Model模块 - LLM抽象层该模块提供统一的LLM接口,支持OpenAI兼容API,开发者可以轻松切换不同的模型来源。已验证多数公司内外的接口兼容性。