当前位置: 首页 > news >正文

LangChain Middleware:Agent 里的 AOP 治理层

一、Agent 不是只会调用工具就够了

在大模型应用刚开始落地时,很多人会把 Agent 理解成“模型 + 工具调用”。模型根据用户问题判断要不要调用工具,工具执行后再把结果交给模型,最后生成回答。这个理解没有错,但它只覆盖了 Agent 最基础的运行闭环。

一旦 Agent 从 Demo 走向真实业务系统,问题会马上变复杂。

模型调用失败了怎么办?工具调用超时了怎么办?模型反复调用工具导致成本失控怎么办?用户输入里包含手机号、邮箱、API Key 等敏感信息怎么办?某些工具是否需要人工审批?多个工具都能执行时,模型是否有权限调用所有工具?一次 Agent 执行过程里调用了几次模型、几次工具、耗费多少 token,又如何追踪和审计?

一这些问题不属于某一个具体 Tool,也不应该散落在业务代码里。它们更像 Java 后端系统里的日志、权限、限流、重试、事务、监控等横切能力。

所以,LangChain Middleware 的价值不是“多了几个 hook”,而是给 Agent 执行流程提供了一层治理能力。它在 Agent 的模型调用、工具调用和状态流转过程中插入拦截逻辑,把业务推理和工程治理拆开。LangChain Middleware 很像 Spring 里的 AOP。

二、没有 Middleware 的 Agent 会遇到什么问题

(1)横切逻辑会重复

比如每个工具都要记录调用日志、参数摘要、耗时、异常;每个模型调用都要统计 token、处理超时、支持重试;每个高风险工具都要做权限判断。

如果这些逻辑写在每个 Tool 或每个 Agent 里,代码很快会膨胀,而且不同 Agent 的治理策略很难保持一致。

(2)Agent 行为不可控

Agent 的执行路径不是完全固定的。模型可能多次调用工具,也可能因为工具返回不清晰而不断重新请求模型。

如果没有统一的调用次数限制、工具调用限制、上下文裁剪和失败兜底,Agent 很容易出现成本失控、上下文超限或工具循环调用。

(3)生产治理没有统一入口

企业级 AI 应用必须考虑安全、审计、权限、PII 脱敏、模型 fallback、人工审批、可观测性。

这些能力如果没有统一入口,就只能靠业务代码到处补丁式处理,最后系统会变得难以维护。

Middleware 要解决的就是这个问题:在 Agent 执行图中提供统一的拦截点。

三、Middleware 在 Agent 执行流程里的位置

LangChain 1.x 之后,create_agent 创建出来的 Agent 并不是一个简单函数,而是运行在 LangGraph 之上的执行图。这个图里包含模型节点、工具节点、状态更新和循环判断。

Middleware 会被注入到这个执行图的关键位置

四、和 Spring AOP 的类比

在 Spring AOP 中,@Around 最强,因为它可以决定目标方法是否继续执行。

LangChain 里也是一样。wrap_model_call 和 wrap_tool_call 是治理模型调用和工具调用的关键入口。例如模型失

http://www.rkmt.cn/news/1484757.html

相关文章:

  • 从零到一:Swin Transformer图像分类实战(PyTorch版)
  • Flutter 字体配置实战
  • 通用视觉软件-通信功能
  • 从‘虚短虚断’到电路设计:手把手教你用运放搭建一个简易音频混合器(加法器)和平衡输入电路(减法器)
  • 冒充同事类钓鱼邮件攻击机理与综合防御技术研究
  • 跨形态机器人控制的统一潜在空间学习框架
  • 时间和空间复杂度
  • MMD度量原理及其在AI艺术与专利分析中的应用
  • 从MobileNet到BiSeNet V2:轻量级网络设计是如何‘卷’向语义分割的?
  • llms.txt配置详解:让AI更好地理解你的网站
  • 【Go语言LeetCode刷题手记|第四天】34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置
  • 2026年最新呼伦贝尔市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 2026年最新防城港市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • Kaggle房价预测翻车实录:从梯度爆炸到模型保存,我的PyTorch MLP调参避坑指南
  • 别再手动敲OWL了!用Protege+Cellfie批量处理Excel数据,完整配置流程与字符清洗脚本
  • 计算机原理与硬件基础入门指南——写给零基础在职人员的通俗教程
  • S32K3系列CAN接收过滤避坑指南:从MB0全收不到精准掩码设置,手把手教你搞定报文丢失问题
  • 2026年最新佛山市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 2026年最新昆明市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 2026年淄博采购供应商岗位SCMP试听课怎么问?众智商学院官网费用班期 - 众智商学院职业教育
  • 从‘一视同仁’到‘区别对待’:图解Circle Loss如何给难样本‘加权重’,PyTorch代码逐行解析
  • 2026年最新福州市黄金+白银+铂金+K金回收门店及联系方式电话推荐 黄金回收店铺TOP5排行榜 - 盛世金银回收
  • 2026年最新兰州市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 罗马尼亚语模型训练:Transformer与Mamba架构对比与优化
  • 2026年最新蚌埠市黄金回收店铺TOP5排行榜 黄金+白银+铂金+K金回收门店指南及联系方式电话推荐 - 大熊猫898989
  • 告别调度表依赖:用RTA-OS Alarm实现精准定时任务(附SetAbsAlarm/SetRelAlarm代码示例)
  • 告别裸机,在FreeRTOS上为STM32移植SOEM EtherCAT主站的几点关键考量
  • 跨越二层交换机:华为交换机802.1X认证中EAP报文透传的完整配置流程与原理
  • 从Jupyter到生产环境:机器学习模型服务化落地实战
  • POE仿生硬件设计法:原理-组织-执行三层落地模型