用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 难以实现的。
相关推荐
老王熬夜敲代码2 小时前
ref关键字
开发语言·c++
工藤学编程2 小时前
AI Ping 赋能:基于 Kimi-K2-Thinking + LangChain 打造网盘在线文档总结助手
人工智能·langchain·ai ping
HillVue2 小时前
夸克对话助手,填补了中国版 ChatGPT 的缺口
人工智能·chatgpt·宽度优先·推荐算法
卡奥斯开源社区官方2 小时前
AI智能眼镜技术解构与开发指南:从硬件方案到XR生态落地
人工智能·xr
m0_738120722 小时前
渗透测试——靶机Sar1渗透横向详细过程
开发语言·python·安全·web安全·网络安全·ssh·php
资深web全栈开发2 小时前
一文讲透 MySQL 崩溃恢复方案设计
大数据·人工智能
山峰哥2 小时前
现代 C++ 的最佳实践:从语法糖到工程化思维的全维度探索
java·大数据·开发语言·数据结构·c++
我命由我123452 小时前
微信小程序 - 页面返回并传递数据(使用事件通道、操作页面栈)
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
一水鉴天2 小时前
整体设计 定稿 备忘录仪表盘方案 之1 初稿之8 V5版本的主程序 之2: 自动化导航 + 定制化服务 + 个性化智能体(豆包助手)
前端·人工智能·架构