SuperAPI AI 工具集

trpc-agent-go

tRPC-Agent-Go 是一个用 Go 语言构建生产级智能体(Agent)系统的框架。它提供 LLM 智能体、图工作流、工具调用、会话与记忆状态、知识检索、智能体自进化、评估以及 OpenTelemetry 可观测性,全部集成在 Go 原生技术栈中。适用于需要并发、可观测、易于部署,并可与 A2A、AG-UI、MCP 集成的智能体应用。

访问官网

工具介绍

用途

tRPC-Agent-Go 是一个 Go 语言框架,用于构建生产级智能体系统。它面向希望将智能体应用融入 Go 服务的开发者,强调并发、可观测、易于部署,并支持与 A2A、AG-UI、MCP 等协议集成。

主要能力

  • Go 原生智能体运行时:支持流式运行器、上下文取消、面向服务的 API。
  • GraphAgent:类型安全的图工作流,支持多条件路由,功能上相当于 Go 版的 LangGraph。
  • 多智能体协作:支持链式、并行和基于循环的工作流。
  • 丰富的工具生态:函数工具、MCP 工具、网页搜索、代码执行和自定义服务。
  • 持久化状态:会话、记忆、工件和知识检索。
  • Agent Skills:可复用的 SKILL.md 工作流,支持安全执行。
  • 智能体自进化:Hermes 风格的会话审查,可提取、门控并发布可复用的 SKILL.md 工作流。
  • 提示缓存:自动成本优化,缓存内容可节省 90% 成本。
  • 评估与基准:评估集与指标,用于持续衡量质量。
  • 协议集成:AG-UI 用于前端,A2A 用于智能体互操作,MCP 用于工具。
  • 生产可观测性:OpenTelemetry 追踪、指标和 Langfuse 示例。

使用方式

环境要求

  • Go 1.21 或更高版本
  • LLM 提供商 API 密钥(如 OpenAI、DeepSeek 等)

快速开始

官方称可在 3 个简单步骤内构建第一个智能体,约 5 分钟。运行示例后可以看到:与 AI 智能体的交互式聊天、实时流式响应、工具使用(计算器 + 时间工具)、带记忆的多轮对话。可尝试提问:“What's the current time? Then calculate 15 * 23 + 100”。

停止/取消运行

若要中断正在运行的智能体,推荐取消传递给 Runner.Run 的上下文。这会安全地停止模型调用和工具调用,并让运行器清理。注意:不要只是“跳出”事件循环,智能体 goroutine 可能继续运行并阻塞在通道写入上。始终先取消,然后继续排空事件通道直到关闭。可将 Ctrl+C 转换为上下文取消。

示例目录

示例目录包含覆盖每个主要功能的可运行演示:

  • 首个多轮智能体:examples/runner
  • 可控图工作流:examples/graph
  • 智能体前端或流式 UI:examples/agui
  • A2A 互操作:examples/a2aagent
  • RAG 与知识检索:examples/knowledge
  • 评估与提示迭代:examples/evaluation
  • 技能与本地自动化:examples/skillrun
  • 将智能体包装为可调用工具:examples/agenttool
  • 多工具编排:examples/multitools
  • 网页搜索工具集成:examples/duckduckgo
  • 提供文件作为输入:examples/fileinput

内置智能体

大多数应用无需自行实现 agent.Agent 接口。框架已内置多个可直接使用的智能体,可像乐高积木一样组合。组合 API 允许嵌套链、循环或并行,无需底层管道代码。

Agent Skills

技能是包含 SKILL.md 规范及可选 docs/scripts 的文件夹。内置工具包括:skill_load、skill_list_docs、skill_select_docs、skill_run,以及(当执行器支持交互式会话时)skill_exec、skill_write_stdin、skill_poll_session、skill_kill_session。skill_run 是隔离工作区中的默认一次性命令运行器。skill_exec 和会话工具覆盖交互式 stdin/TTY 流程,无需将完整脚本内联到提示中。它们仅在代码执行器暴露 InteractiveProgramRunner(或回退到本地引擎)时注册。

skill.NewFSRepository(...) 可扫描多个根目录,例如共享技能目录加用户私有目录。在长期运行的进程中,安装或删除技能后调用 (*skill.FSRepository).Refresh()。NewFSRepository 也接受 HTTP(S) URL(例如 .zip 或 .tar.gz 归档),负载会下载并缓存在本地(可通过 SKILLS_CACHE_DIR 覆盖缓存位置)。

建议仅对所选技能文档要求的命令使用 skill_run,而非通用 shell 探索。当 LLMAgent 使用 WithCodeExecutor(...) 仅为了支持 skill_run 时,可通过 llmagent.WithEnableCodeExecutionResponseProcessor(false) 禁用响应代码执行处理器,避免助手文本中嵌入的 Markdown 围栏代码块在 skill_run 启用时自动执行。

examples/skillfind 演示了真实的端到端发现流程:模型使用内置的 skill-find 技能搜索公共网络,将公共 GitHub 技能安装到用户私有目录,刷新仓库,并在同一对话中使用新技能。本地执行默认关闭,可在需要运行已安装技能时显式启用。

智能体自进化

已完成的会话可异步审查,通过质量门控提升,并作为受管 Agent Skills 发布回未来轮次。支持修订存储、质量门控、人工批准,以及后续运行中技能可用时的热启动行为。Runner 集成只需一个选项:runner.WithEvolutionService(...)。

评估与基准

使用可重复的评估集和可插拔指标评估智能体。包括本地文件支持的运行和内存运行。

适用场景

官方列出适合构建:

  • 客户支持机器人:理解上下文并解决复杂查询的智能体。
  • 数据分析助手:查询数据库、生成报告并提供洞察的智能体。
  • DevOps 自动化:智能部署、监控和事件响应系统。
  • 业务流程自动化:具有人在环能力的多步骤工作流。
  • 研究与知识管理:用于文档分析和问答的 RAG 驱动智能体。

限制

资料中未提供关于收费、价格、平台支持范围、性能指标或具体效果的数据。部分功能(如交互式会话工具)依赖代码执行器是否暴露 InteractiveProgramRunner。本地执行默认关闭。使用前需自备 LLM 提供商 API 密钥。