用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 难以实现的。
相关推荐
MindUp3 小时前
企业私有化文件管理系统选型实录:从部署架构到AI能力的技术调研笔记
人工智能·笔记·架构
长江后浪博客3 小时前
无人机AI识虫:用“空中巡检 + GIS地图 + AI识别”解决大规模种植虫害问题
人工智能·无人机·智慧农业·植保无人机·无人机ai识虫·空中巡检·gis地图
sunburn-3 小时前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
ITresearchGuest3 小时前
AI 是怎么操作浏览器的——browser use 实现原理
人工智能
悟天特斯4 小时前
智慧楼宇楼宇自控系统:从孤立控制到协同优化的BAS架构演进
人工智能·物联网·架构
法狗狗技术团队4 小时前
万息投标标书审查功能介绍:AI如何辅助检查投标文件?
人工智能·招标·投标·标书·标书检查·标书审查·标书检查工具
wangchunyu1144 小时前
Cursor介绍和安装说明
人工智能
jayson.h4 小时前
PDF 合并+添加页码 相关库、类、函数
开发语言·前端·python
LadiesAndGentlemen4 小时前
环球GeoAI-遥感VLM|2026-08-31|More with Less:通用 VLM 不换架构,也能在遥感基准上打平专用模型
人工智能·神经网络·目标检测·自然语言处理·aigc
qq_322762754 小时前
一个接口从能用到稳定,中间差的到底是什么
服务器·开发语言·lua·接口·fastapi·请求