06.LangChain智能体本质论
文章平均质量分 74
LangChain智能体本质论
JaydenAI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[LangChain智能体本质论-09]中间件装饰器是如何将函数转换成AgentMiddleware的?
中间件除了可以通过定义继承自`AgentMiddleware`的类型来定义,还可以在某个满足签名条件的函数上应用相应的装饰器将其转换成`AgentMiddlewre`对象,那么背后的逻辑是怎样的呢?原创 2026-03-21 08:30:58 · 936 阅读 · 0 评论 -
[LangChain智能体本质论-08]中间件是如何参与Agent、Model和Tool三者交互的?
LangChain的中间件(Middleware)是围绕Agent执行流程构建的“可插拔钩子系统”。它允许开发者在不修改核心逻辑的情况下,在执行的关键节点(如输入处理、模型调用前后、输出解析等)对数据流进行拦截、修改或验证。中间件类型以`AgentMiddleware`为基类。原创 2026-03-20 08:45:49 · 1323 阅读 · 0 评论 -
[LangChain智能体本质论-07]如何在工具函数中注入各种运行时对象?
工具参数有两种来源,一种必需由外部提供,另一种则是由执行引擎根据约定自动注入,比如表示工具运行时的`ToolRuntime`。那么究竟什么样的对象可以注入到工具函数中,执行引擎又是如何识别和提供它们的呢?原创 2026-03-19 08:45:11 · 810 阅读 · 0 评论 -
[LangChain智能体本质论-06]赋予Agent执行力的工具是个什么东西?
在 LangChain框架中,工具是连接大语言模型与外部世界的桥梁。它们赋予了模型“行动”的能力,使其能够超越文本生成的范畴,去执行搜索、计算、运行代码或调用API等实际任务。工具本质上是带有名称 、描述 和Shema的函数。LLM并不直接运行工具(服务单工具除外),而是根据用户的查询,参考工具的描述来决定是否需要调用某个工具,并输出该工具所需的结构化参数。Agent接收到模型生成的参数后,在本地或服务器端执行该工具,并将结果返回给LLM,供其进行后续推理或总结。原创 2026-03-18 08:41:15 · 719 阅读 · 0 评论 -
[LangChain智能体本质论-05]结构化输出的两种实现方式
数据只有具有希望的结构才可能被有效地处理,我们在调用`create_agent`函数创建Agent的时候,可以利用`response_format`控制输出的格式。我们可以定义一个Pydantic模型类表表示期望输出的结构,如果将此类型表示成`ResponseT`,我们可以直接将此类型作为`response_format`参数的值,也可以将此参数赋值为`ResponseFormat[ResponseT]`。原创 2026-03-14 08:50:30 · 957 阅读 · 0 评论 -
[LangChain智能体本质论-04]Agent的状态即通道
我们不断在强调Agent本质上是一个Pregel对象,其状态完全利用通道来维护,所以作为状态的`AgentState`对象的数据成员会转换成对应的通道。当我们看到`AgentState`的三个字段定义的时候,是不是感到很熟悉:前面演示实例输出的通道就有三个与它们同名。原创 2026-03-13 08:36:22 · 818 阅读 · 0 评论 -
[LangChain智能体本质论-03]三种等效的Agent构建方式
对于最新版本的LangChain,我们可以利用LangGraph以“图”的形式编排一个具有复杂交互流程的Agent。`create_agent`工厂函数内部本质上也是利用的这种方式。由于Agent从执行层面来看就是一个Pregel对象,一个由节点和通道构建而成的Actor模型。综上所述,利用`create_agent`构建的Agent,其实也可以利用其他两种方式来创建。接下来我们就使用三种不同的编程模式构建一个等效的Agent。原创 2026-03-12 08:45:25 · 947 阅读 · 0 评论 -
[LangChain智能体本质论-02]模拟LLM在ReAction中的工作方法
单纯从消息交互的角度来看待Agent中的model节点,可以看出它旨在利用`AIMessage`提供两种类型的响应: 在需要调用一个或者多个工具情况下,利用`ToolCall`返回针对工具调用意图的描述;做出最终的答复。我们可以利用一个假的模型组件来验证这一点原创 2026-03-11 09:41:13 · 225 阅读 · 0 评论 -
[LangChain智能体本质论-01]两种视角看待Agent和ReAct循环
作为LangChain智能体的Agent采用一种被称为ReAct循环的执行流程(如下图所示),这是一种结合了“推理”(Reasoning)与“行动”(Acting)的交互模式,旨在让Agent能像人类一样通过逻辑思考来解决复杂问题。但是从底层的执行方式来看,Agent本质上是一个Pregel对象(我的系列文章“[拆解LangChain执行引擎](https://blog.youkuaiyun.com/jaydenai/category_13127051.html)”对Pregel具有系统的介绍),是一个通过节点和通道构原创 2026-03-10 08:25:35 · 790 阅读 · 0 评论
分享