LangGraph和aiagent

1. LangGraph:用圖思維重構Agent工作流

LangGraph是LangChain團隊開源的圖式Agent編排框架,它基于"有向圖"模型,將Agent的運行流程抽象為"節點 + 狀態流轉"。其核心設計理念是用有向狀態圖(Directed State Graph)來管理復雜的工作流。

1.1 LangGraph核心架構

LangGraph的架構建立在四個核心組件上:

  1. 節點(Node):代表一個獨立單元,可以是Agent節點(封裝獨立Agent能力)或Tool節點(調用具體工具)

  2. 邊(Edge):標注狀態流轉的決策路徑,決定下一步跳轉到哪個節點

  3. 狀態(State):貫穿整個流程,記錄數據或交互狀態,驅動節點間的流轉

  4. 圖(Graph):LangGraph的核心容器,所有節點、邊和狀態都定義在其中

1.2 LangGraph與傳統工作流框架的比較

特性傳統單一AgentLangGraph多Agent
控制流線性、易失控圖結構、循環/分支原生支持
狀態管理會話級記憶持久化快照、可回溯
人審干預事后補救任意節點可插人審
調試體驗黑盒日志節點級可視化、時間旅行

2. LangGraph的核心優勢

LangGraph相比于傳統開發方式具有顯著優勢:

  • 循環狀態管理:支持多輪迭代任務(如RAG結果優化)

  • 持久化引擎:自動保存檢查點,宕機后可從斷點恢復

  • 人工干預接口:實現關鍵節點人工審核

  • 可視化調試:降低維護成本,支持時間旅行調試

最重要的是,LangGraph原生支持三個關鍵功能

  • ??Cyclic Graphs(循環圖):支持智能體在不同節點之間循環跳轉,方便實現多輪思考與行動

  • ??Persistence(狀態持久化):圖中狀態可以隨時保存、恢復,支持斷點續跑與回溯

  • ??Human-in-the-loop(人類參與環節):支持在流程中插入人工確認、反饋或干預節點,增強系統可控性

3. LangGraph實戰:構建智能客服工單系統

下面通過一個智能客服工單系統的例子,展示如何使用LangGraph構建實際應用。

3.1 定義狀態結構

python

from typing import TypedDict, List
from langchain_core.messages import BaseMessage, HumanMessage, AIMessageclass AgentState(TypedDict):messages: List[BaseMessage]intent: str

3.2 創建節點邏輯

python

from langgraph.graph import StateGraph# 創建工單處理工作流
workflow = StateGraph(AgentState)# 意圖識別節點
def identify_intent(state):last_message = state["messages"][-1].contentif "賬號" in last_message or "登錄" in last_message:intent = "technical"else:intent = "general"return {"intent": intent}# 專家處理節點
def call_expert(state):return {"messages": [AIMessage(content="專家處理結果:您的問題需要專業技術支持")]}# 人工審核節點
def human_review(state):return {"messages": [AIMessage(content="人工審核完成:您的問題已處理")]}# 添加三個Agent節點
workflow.add_node("intent_agent", identify_intent)
workflow.add_node("expert_agent", call_expert)
workflow.add_node("review_agent", human_review)

3.3 構建工作流邏輯

python

# 設置入口點
workflow.set_entry_point("intent_agent")# 條件邊:根據意圖選擇路徑
def router(state):if state["intent"] == "technical":return "expert_agent"else:return "review_agent"workflow.add_conditional_edges("intent_agent", router)
workflow.add_edge("expert_agent", "review_agent")
workflow.set_finish_point("review_agent")# 編譯工作流
app = workflow.compile()

3.4 執行工作流

python

# 執行工作流
output = app.invoke({"messages": [HumanMessage(content="我的賬號無法登錄")]})
print(output["messages"][-1].content)

執行結果:"人工審核完成:您的問題已處理"

程序執行流程為:用戶輸入 → 意圖識別 → 技術問題 → 專家Agent → 人工審核 → 返回結果

4. 生產環境最佳實踐

4.1 可視化調試方案

通過graph.get_graph().draw_png()生成拓撲圖,快速驗證循環邏輯

4.2 狀態持久化實戰

python

# 保存狀態
checkpoint = graph.get_state(message_id)# 故障恢復
graph.recover_state(checkpoint)

4.3 人工干預設計

在關鍵節點插入審批機制:

python

def human_approve(state):if state["risk_level"] > 0.8:return "human_review"  # 轉人工審核return "auto_process"

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96352.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96352.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96352.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《從iptables到ipvs:云原生網絡轉發的性能拐點突破》

這套基于Spring Cloud Alibaba搭建的架構,部署于阿里云ACK集群的10個4核8G節點上,默認配置6個Pod副本,搭配HPA彈性擴縮容機制與Ingress網關流量分發,理論上具備應對3倍日常流量的承載能力。然而實際運行中,每日早9點、午2點、晚8點三次流量峰值來臨時,訂單服務會在120秒內…

大數據存儲域——Kafka設計原理

摘要本文主要介紹了Kafka的架構原理、消息訂閱模式以及在金融風控等領域的應用。Kafka作為數據中轉站,可同步不同系統數據,支持事件驅動架構,廣泛應用于金融支付與風控場景。其架構包括Producer、Broker、Topic、Partition、Replication、Mes…

[特殊字符] GitHub 熱門開源項目速覽(2025/09/09)

今天為大家整理了近期 GitHub 上熱度較高的開源項目,涵蓋 AI Agent、加密計算、操作系統、機器人、PDF 工具 等多個方向。讓我們一起看看都有哪些值得關注的項目吧! 🔹 AI Agents & 開發者工具 parlant (? 10.9k | ?? 117…

OpenHarmony之USB Manager 架構深度解析

1. 整體架構 OpenHarmony USB管理器采用三層架構設計: USB API:提供USB的基礎API,主要包含查詢USB設備的列表、設備插拔通知、USB HOST/DEVICE 功能切換、批量數據傳輸、控制命令傳輸、USB設備打開的權限控制及USB device模式下的function功能切換等。 USB Service:主要實…

java面試中經常會問到的mysql問題有哪些(基礎版)

文章目錄一、基礎概念與存儲引擎二、索引設計與優化(高頻重點)三、事務與鎖(核心原理)四、SQL性能優化與問題排查五、高可用與數據安全六、其他高頻細節問題在Java面試中,MySQL作為最常用的關系型數據庫,是…

Tess-two - Tess-two 文字識別(Tess-two 概述、Tess-two 文字識別、補充情況)

一、Tess-two 概述Tess-two 是 Tesseract OCR 引擎在 Android 平臺上的一個封裝庫,用于實現離線文字識別Tess-two 的 GitHub 官網:https://github.com/rmtheis/tess-two二、Tess-two 文字識別 1、演示 (1)Dependencies 模塊級 bui…

八、Win/Linux/macOS全平臺徹底卸載Docker的操作指南

八、Win/Linux/macOS全平臺徹底卸載Docker的操作指南 系列文章目錄 1. 卸載前準備工作(可忽略) 1.1 數據備份 1.2 停止Docker服務 2. 不同操作系統卸載步驟 2.1 Linux系統 2.2 macOS系統 2.3 Windows系統 3. 殘留文件深度清理 3.1 Linux系統 3.2 macOS系統 3.3 Windows系統 4…

強化學習-CH9 策略梯度方法

強化學習-CH9 策略梯度方法 當策略被表示為函數時,通過優化目標函數可以得到最優策略。 這種方法稱為策略梯度。策略梯度方法是基于策略的,而之前介紹的方法都是基于值的。其本質區別在于基于策略的方法是直接優化關于策略參數的目標函數。 9.1 策略表示…

[玩轉GoLang] 5分鐘整合Gin / Gorm框架入門

方法 / 步驟 一: Gin框架 1.1 : 環境 & 項目配置 1, GoLand創建項目 創建main.go package mainimport ("github.com/gin-gonic/gin" )func main() {r : gin.Default()r.GET("/", func(c *gin.Context) {c.JSON(200, gin.H{"message": "…

【項目復現】MOOSE-Chem 用于重新發現未見化學科學假說的大型語言模型

項目地址 ZonglinY/MOOSE-Chem: [ICLR 2025] --- ZonglinY/MOOSE-Chem: [ICLR 2025] https://github.com/ZonglinY/MOOSE-Chem git代碼同步&#xff1a; 同步地址如下&#xff1a;QianPengfei1/MOOSE-Chem: [ICLR 2025] <MOOSE-Chem: Large Language Models for Rediscove…

深入解析TCP核心機制:連接管理、流量與擁塞控制

目錄 一、三次握手與四次揮手&#xff1a;可靠連接的建立與終止 1. 三次握手 - 建立連接 為什么是三次&#xff1f; 2. 四次揮手 - 終止連接 為什么需要TIME_WAIT狀態&#xff1f; 二、流量控制與滑動窗口&#xff1a;解決收發速度不匹配 核心機制&#xff1a;滑動窗口協…

如何在 DevOps 管道中實現 AI?

對于許多尋求提升效率、優化性能并縮短上市時間的組織而言,將人工智能 (AI) 集成到 DevOps 流水線中已成為一項戰略舉措。AI 與 DevOps 的結合,有時被稱為 AIOps(面向 IT 運營的人工智能),正在重塑開發和運營團隊構建、測試、發布和維護軟件應用程序的方式。本文將引導您了…

【Agent】DeerFlow Planner:執行流程與架構設計(基于真實 Trace 深度解析)

本文檔系統闡述 DeerFlow 中 Planner 的職責邊界、端到端執行流程、關鍵節點設計、數據結構、容錯與人審機制&#xff0c;以及與研究/編碼子代理的協同方式。面向開發與運維讀者&#xff0c;幫助快速理解與調優 Planner 相關鏈路。 時序圖&#xff08;Sequence Diagram&#xf…

后端接口防止XSS漏洞攻擊

有這樣一個場景&#xff0c;首先構建一個docx文件并插入超鏈接&#xff08;惡意的鏈接&#xff09;&#xff0c;上傳到文件服務器后獲取對應的文件filekey。現在我們提供一個預覽接口&#xff0c;通過filekey便可以預覽&#xff0c;在根據filekey轉html文檔返回給頁面的時候由于…

4.1Vue基本使用

1.使用Vue-引入 Vue 的本質,就是一個 JavaScript 的庫: 剛開始我們不需要把它想象的非常復雜; 我們就把它理解成一個已經幫我們封裝好的庫; 在項目中可以引入并且使用它即可。 那么安裝和使用 Vue 這個 JavaScript 庫有哪些方式呢? 方式一:在頁面中通過 CDN 的方式來引…

CAD繪圖:雜項

一、樣式標注管理器 新建CAD圖紙的樣式標注是定死的,需要手動去改變合適的大小 1)命令行中直接輸入“D”,打開樣式標注管理器 2)點擊“修改”,可以改變其顏色,線條樣式以及文字大小、顏色、字體等 3)若想添加字體: a)在網上下載需要的字體 b)右鍵Auto CAD圖標(…

Git上有更新而本地無更新時的解決方案

問題分析 分支名稱不匹配&#xff1a;你嘗試推送到 main 分支&#xff0c;但你當前在 master 分支上遠程倉庫有新內容&#xff1a;遠程倉庫包含你本地沒有的提交&#xff0c;需要先拉取 解決方案 方法1&#xff1a;繼續使用 master 分支 # 1. 先拉取遠程更改 git pull origin m…

用于骨盆骨折復位與固定自動術前手術規劃的基于幾何的端到端流水線|文獻速遞-最新醫學人工智能文獻

Title題目An End-to-End Geometry-Based Pipeline forAutomatic Preoperative Surgical Planning ofPelvic Fracture Reduction and Fixation用于骨盆骨折復位與固定自動術前手術規劃的基于幾何的端到端流水線01文獻速遞介紹骨盆骨折及其術前規劃相關研究背景與本文方法 骨盆骨…

【導航】OS復習

【OS】操作系統概述-CSDN博客 【OS】PV-CSDN博客 【OS】進程與線程-CSDN博客 【OS】文件管理-CSDN博客 【OS】IO_檢查用戶io請求的合法性-CSDN博客

Google Nano-banana AI模型圖像生成能力實證分析:基于47個案例的系統化技術驗證

Google Nano-banana AI模型官方示例庫&#xff08;Awesome-Nano-Banana&#x1f34c;-images&#xff09;&#xff0c;通過系統化分析47個技術案例&#xff0c;實證驗證其在圖像生成、編輯與轉換任務中的核心能力。所有測試基于Apache 2.0開源許可的公開案例數據集&#xff0c;…