在智能体开发框架——Langgraph中的执行流程分析

在智能体开发框架------Langgraph中的执行流程分析

" 智能体的基础是大模型的函数调用,而框架只是对其能力的封装。" 【AI大模型教程】

我们首先要明确一个概念,即智能体是基于大模型应用设计的一套机制,其本质是大模型提供的函数调用功能(function call),包括现在的MCP服务;而框架只是对这些原生能力的封装,便于开发人员进行功能开发,而不用去处理太多细节性问题。

所以,在做大模型开发时,虽然要学好框架的使用,但更重要的是要搞明白智能体的运行机制,已经框架在其上做了哪些完善和增强。

Langgraph框架的运作流程

在Langgraph中的核心概念主要有三个------State(状态),Nodes(节点),Edges(边);其中状态的主要载体是StateGraph状态图,其作用是一个全局变量,用来保存智能体执行过程中的数据;而节点是一个个功能节点,比如说模型节点,工具节点等;而边应该叫做条件边,意思是根据边来判断下一个应该执行哪个节点。

简而言之:节点完成工作,边告诉下一步做什么,而State在节点和边中传递参数。

因此,Langgraph开发的智能体是一个基于节点和边为主体的整体,而其有两个特殊节点------start开始节点和end结束节点;所谓的开始节点是只智能体的入口,而结束节点是智能体的终止节点,其它节点则都属于功能节点。

在我们开发一个智能体的过程中,首先我们要指定开始节点和结束节点,然后再根据功能需求填充功能节点。

如下,添加节点和边,并编译图:

其中节点的执行过程是顺序的以及并行的,顺序的是指一个节点执行完毕之后,并把执行结果保存到State中;然后根据边再执行下一个节点或多个节点;之所以又是并行的原因是因为,一个节点执行完成之后可以根据边执行一个或多个下一个节点。

这里说起来可能有点绕,但Langgraph中确实支持多节点执行。

边定义了逻辑如何路由以及图如何决定停止。这是代理工作以及不同节点如何相互通信的重要组成部分

在Langgraph中边有多种类型,主要包括以下几种:

  • 普通边:直接从一个节点到下一个节点。
  • 条件边:调用一个函数来确定接下来要前往哪个(或哪些)节点。
  • 入口点:当用户输入到达时,首先调用哪个节点。
  • 条件入口点:调用一个函数来确定当用户输入到达时,首先调用哪个(或哪些)节点。

一个节点可以有多个出边。如果一个节点有多个出边,所有这些目标节点将在下一个超级步骤中并行执行,这就是可以多节点执行的原因。

Langgraph之所以强大的原因,还在于StateGraph状态图中,原因是因为在状态图中可以保存节点执行的所有中间结果;这样当智能体由于某种原因被迫中断时,依然可以根据状态图中的执行结果,随时恢复到当时的运行状态。

相关推荐
wayz1113 小时前
Day 18:Keras深度学习框架入门
人工智能·深度学习·神经网络·算法·机器学习·keras
sheji10513 小时前
AI桌面机器人市场分析报告
人工智能·机器人·智能硬件
AI科技星13 小时前
《基于 1 的 N 维分形与对称统一理论》
人工智能·算法·机器学习·数学建模·数据挖掘
计育韬13 小时前
Prezi+AI创意玩法:无限手绘地图图解演示文稿
人工智能·新媒体运营·微信公众平台
我的世界洛天依13 小时前
【VFrame・云瑶 R1 国语声库公测】RVC1006Nvidia 训练全记录|私人闭源虚拟歌手养成
人工智能·电脑
AI医影跨模态组学13 小时前
如何将影像组学特征与非小细胞肺癌脑转移瘤免疫微环境中的干扰素通路及CD8+ T细胞浸润建立关联,并解释与预后、免疫治疗响应的机制联系
人工智能·论文·医学·医学影像·影像组学·医学科研
qq_4112624213 小时前
基于 ESP32-S3 + VB6824 的四博 A1 AI 智能拍学机方案:事件驱动架构、拍照识别与语音交互实现
人工智能·智能音箱
ting945200013 小时前
动手学深度学习(PyTorch版)深度详解(6):现代卷积神经网络-从经典模型到图像分类实战
人工智能·分类·cnn
@不误正业13 小时前
第12章-端侧AI操作系统概述
人工智能
Maynor99613 小时前
Codex 中国站正式上线!
人工智能·gpt·macos·github