用golang开发AI Agent项目,有哪些框架可以选择

一、 框架

1. LangChain Go 或 langChainGo
  • GitHub: https://github.com/tmc/langchaingo

  • 特点:

    • 官方 LangChain 的 Go 实现;
    • 支持 LLM 调用(OpenAI、Anthropic、Ollama、本地模型等);
    • 提供 Chain、Agent、Memory、Tool 等核心抽象;
    • 内置向量存储(Chroma、Pinecone、Weaviate)、文档加载器、文本分割器。
  • 适用场景:构建 RAG、对话机器人、工具调用型 Agent。

2. GoLLM
  • GitHub: https://github.com/alexeykazakov/gollm
  • 特点:
    • 轻量级 LLM 调用封装;
    • 支持 OpenAI、Ollama、LocalAI、Groq 等;
    • 提供函数调用(Function Calling)和结构化输出。
  • 适合快速集成 LLM 到 Go 服务中
3. AICore
  • 社区驱动的 Go AI 框架,提供 Agent 执行引擎、工具注册、记忆管理。
  • 目前生态较小,但设计简洁,适合定制。
4.google/adk-go

https://github.com/google/adk-go

Agent Development Kit (ADK) for Go

5.cloudwego/eino

https://www.cloudwego.io/zh/docs/eino/overview/

6.trpc-agent-go

腾讯开源的 trpc-agent-go,其设计参考了adk,但提供更加强大的agent构建方式以及会话存储,生产可用的级别

二、向量数据库 & Embedding(Go SDK)

工具 Go SDK 说明
Chroma ✅ 官方支持 轻量级嵌入式向量库,适合本地开发
Pinecone ✅ 官方 SDK 云原生向量数据库,Go 支持良好
Weaviate ✅ 官方 Go Client 支持语义搜索 + 图谱,适合复杂 Agent 记忆
Qdrant ✅ 社区 SDK(如 qdrant-go 高性能,支持过滤和分片
Milvus ✅ 官方 Go SDK 企业级,适合大规模部署

最佳实践用 Go 做 Agent 编排和 API 层,用 Python/C++ 做模型推理(通过 API 解耦)。

从原理到实践:万字长文深入浅出教你优雅开发复杂AI Agent 写的很好

langChain 与 langGraph 的区别

LangChainLangGraph 都是由 LangChain 团队开发的开源框架,用于构建基于大语言模型(LLM)的应用程序,但它们定位不同、解决的问题不同 ,且 LangGraph 是 LangChain 生态中的一个新组件 ,专门用于处理复杂、有状态、多步骤的 LLM 工作流

特性 LangChain LangGraph
定位 通用 LLM 应用开发框架(工具调用、RAG、Agent 等) 用于构建有状态、循环、多参与者的 LLM 工作流(如 Agent 调度、多智能体协作)
执行模型 线性链(Chain)、简单 Agent 循环 图(Graph)驱动的状态机,支持任意拓扑结构(包括循环)
状态管理 有限(通常通过 memory 组件) 显式、结构化的全局状态管理
适用场景 RAG、简单 Agent、工具调用、问答系统 复杂 Agent 系统、多角色协作、带条件跳转/循环的流程(如"反思-修正"循环)
发布时间 2022 年(成熟) 2024 年初(较新)
依赖关系 独立框架 基于 LangChain 构建,是其扩展

如何选择

场景 推荐
构建 RAG 应用、简单问答机器人 LangChain
调用工具(如搜索、计算器)的单轮 Agent LangChain
需要多步骤、带条件分支、循环、多角色协作的复杂系统 LangGraph
需要精确控制执行流程(如"先验证输入,再生成,再审核") LangGraph
快速原型验证 LangChain(更简单)

🔹 LangChain:通用 LLM 编排框架

  • 提供标准组件:PromptTemplateLLMToolsMemoryAgentsChains

  • 典型用法:

    复制代码
    from langchain.chains import RetrievalQA
    qa = RetrievalQA.from_chain_type(llm, retriever=...)
  • Agent 模式 :虽然支持 ReAct、Plan-and-Execute 等,但控制流是隐式的、由 LLM 决定下一步,难以精确控制循环或分支逻辑。

🔹 LangGraph:用"图"定义 LLM 工作流

  • 将整个应用建模为一个有向图(Directed Graph):
    • 节点(Node):执行某个操作(如调用 LLM、运行工具、人工审核)。
    • 边(Edge):定义状态转移条件(如"如果输出包含错误,则返回修正节点")。
  • 显式状态(State):所有节点共享一个可变的全局状态(通常是 Pydantic 模型),便于追踪和调试。
  • 支持循环(例如:Agent 生成 → 评审 → 修正 → 再评审...),这是传统 Chain 难以实现的。
相关推荐
半空扫地僧一枚7 分钟前
D02期:档位切换
人工智能
风雨中的小七9 分钟前
解密Prompt系列67. 智能体的经济学:从架构选型到工具预算
人工智能·llm
Deepoch12 分钟前
智能硬件新纪元:Deepoc开发板如何重塑清洁机器人的“认知内核“
人工智能·清洁机器人·具身模型·deepoc
Macbethad13 分钟前
Arduino智能硬件开发技术报告
开发语言
Blockbuater_drug14 分钟前
SDF 格式文件的前世今生:从化学信息学基石到 AI 时代的分子通用语言
数据库·人工智能·化学信息学·sdf格式
AlanHou17 分钟前
AI 智能体从入门到进阶再到落地完整教程
人工智能·agent
彼岸花开了吗17 分钟前
构建AI智能体:六十九、Bootstrap采样在大模型评估中的应用:从置信区间到模型稳定性
人工智能·python·llm
沃虎电子23 分钟前
沃虎电子【产品推荐】音频变压器:看不见的声学基石,如何定义专业音频设备的品质?
人工智能·音视频
云和数据.ChenGuang23 分钟前
Java装箱与拆箱(面试核心解析)
java·开发语言·面试
weilaikeqi111124 分钟前
宠物护理技术革命:“微米银”正在改写传统抗菌方式?
大数据·人工智能·宠物