构建有状态、多角色的
LLM 应用程序

基于 LangChainGo 构建,用于开发有状态、多代理 LLM 应用的 Go 语言库。

简洁而强大

只需几行代码,即可构建强大的 AI Agent

main.go
package main

import (
    "context"
    "fmt"
    "github.com/smallnest/langgraphgo/graph"
)

func main() {
    // 创建状态图
    g := graph.NewStateGraph[string]()

    // 添加处理节点
    g.AddNode("process", "process", func(ctx context.Context, input string) (string, error) {
        return fmt.Sprintf("processed_%s", input), nil
    })

    // 添加边和结束点
    g.AddEdge("process", graph.END)
    g.SetEntryPoint("process")

    // 编译并执行
    runnable, _ := g.Compile()
    result, _ := runnable.Invoke(context.Background(), "input")

    fmt.Printf("Result: %s\n", result)
    // Output: Result: processed_input
}

为什么选择 LangGraphGo?

构建生产级 Agent 所需的一切。

图工作流

将应用流程定义为节点和边的图,支持循环和复杂交互。

状态管理

内置持久层用于保存和恢复状态,支持长对话和记忆功能。

多 Agent 支持

轻松编排多个 Agent 协同工作以解决复杂任务。

Go 原生

地道的 Go 实现,利用 goroutine 和 channel 实现高性能并发执行。

时间旅行

通过高级检查点功能检查、修改和重放 Agent 动作。

流式支持

实时流式传输 Agent 输出,实现响应式用户界面。

泛型类型支持

类型安全的状态管理,编译时捕获类型错误。

程序化工具调用 (PTC)

LLM 直接生成代码调用工具,降低延迟和 token 使用 10 倍。

MCP 协议支持

支持模型上下文协议,与 Claude Skills 等生态集成。

文件检查点

轻量级文件持久化,无需外部依赖。

RAG 支持

内置检索增强生成,支持向量数据库和知识图谱(GraphRAG)。

17+ Agent 架构

ReAct、Supervisor、Planning、Reflection、Tree of Thoughts 等多种预构建模式。

9 种记忆策略

Buffer、滑动窗口、摘要、分层、图结构等多种记忆管理方案。

搜索工具集成

内置 Tavily、Exa、Brave 等主流搜索引擎工具支持。

人机交互

支持中断、审批、时间旅行等人在回路的工作模式。

子图编排

支持图嵌套,构建模块化的多层次工作流。