首页/新闻资讯/正文详情

123.Agent-LangChain核心组件-Agent生命周期钩子(从 before_agent 到 wrap_tool_call)

发布时间:2026/9/24 9:45:18 来源:云帆数科 栏目:资讯中心
123.Agent-LangChain核心组件-Agent生命周期钩子(从 before_agent 到 wrap_tool_call)
摘要本文围绕 Agent 的生命周期展开系统梳理了代理层钩子before_agent、after_agent、模型层钩子before_model、after_model以及包装/拦截钩子wrap_model_call、wrap_tool_call三类拦截机制。文章详细说明了各阶段钩子的典型用途包括权限隔离、长期记忆读取、风控、上下文剪枝、敏感数据脱敏、死循环熔断、结果修正、缓存命中、重试降级、高危操作审计、最小权限注入等帮助读者理解如何通过钩子机制对 Agent 的执行过程进行精细化管控。内容参考于图灵AI大模型全栈Agent的生命周期它这样的一个过程首先是进入Agent之前before_agent然后是进入模型之前before_model然后是进入模型之后after_model然后是进入Agent之后after_agent然后是调用模型的时候wrap_model_call然后是调用工具的时候wrap_tool_call中间件就是在上方4个过程之间做拦截比如在进入Agent之前做些什么事然后进入模型之前做些什么事然后进入模型之后做些什么事然后进入Agent之后做些什么事通过Agent的生命周期可以看出它有三种代理层Agent层钩子、模型层钩子、包装/拦截钩子钩子可以理解为拦截代理层钩子分before_agent和after_agent也就是进入Agent之前和进入Agent之后进入Agent之前1.可以做权限的隔离和身份的注入方便后续的流程中使用通过这个就可以限制用户可以访问哪些功能比如vip用户使用特殊的模型普通用户使用普通模型还有知识库可以通过权限来获取对应的索引工具也可以通过权限来限制用户可以不可以使用2.从数据库中读取长期记忆到状态中就是读取用户的爱好、历史信息放到状态中这样后续执行任务的时候就可以通过状态获取用户的爱好3.风控比如敏感词过滤、提示词注入检测等当检测到敏感信息比如手机号可以对它进行星号加密如果有提示词注入可以直接拒绝访问4.动态策略就是说根据用户的等级权限调整Token的预算和使用次数进入Agent之后1.指令评估和监控就是当Agent执行完可以对它的结果进行一个评估看看好不好然后把结果放到监控平台上2.计费当Agent执行完后可以对用户的余额进行扣减3.外部系统比如把Agent的结果写到工单里然后人工审批4.存储记忆就是把长期记忆存储到硬盘上持久化到数据库里、模型层钩子before_model和after_model也就是进入模型之前和进入模型之后进入模型之前1.上下文剪枝就是处理很长的聊天记录对历史的消息进行总结保留关键的信息2.敏感数据脱敏比如手机号、身份证这种信息再给模型之前可以对它们进行加密3.注入检测风险用户的问题或工具检索到的结果里面可能存在访问内部数据的脚本这就需要审核才能进行执行如果直接让它执行了会暴露我们的数据4.死循环熔断大模型和工具它们都是互相调用的工具可以调用大模型大模型也会调用工具这样就会形成一个死循环在进入模型之前就可以检测是否出现了死循环进入模型之后1.修正结果比如我们想要结构化的数据比如json结构这一步可以检测大模型返回的内容是否缺失内容从而导致数据是非json结构比如缺失大括号、引号、中括号如果一直修复不成功可以再次调用任务重新生成2.幻觉处理大模型的幻觉3.拒答拦截我们问大模型比如DeepSeek、豆包一些敏感内容它会回答什么什么换个话题这样的内容如果出现这样的回答我们可以拦截一下返回一个我们自己设定好的回答包装/拦截钩子wrap_model_call和wrap_tool_call也就是调用模型的时候和调用工具的时候调用模型的时候1.缓存命中现在的模型它有一个机制通过提示词回答完后它会把提示词和结果缓存起来当有人用了缓存中一模一样的提示词又去提问时会把缓存里的结果返回给用户也就是在调用模型之前先拿着提示词去缓存中查询一下看看这个提示词是否之前有人使用过了如果使用过来就不再调用模型直接返回缓存里的结果这样可以避免Token的消耗2.重试和降级调用模型失败后可以再次调用重试操作如果还继续失败就切换模型降级操作3.影子测试就是有两个模型主副模型这一步就是看看主模型和副模型谁回答的好调用一个新的模型用来评估主副模型回答的效果4.动态指令注入动态修改提示词调用工具的时候高危操作审计就是转账、删除、改配置、发邮件、执行脚本这类高危操作不能直接放行要先挂起走人工审批审批通过后再执行同时把谁申请的、谁审批的、调了什么工具、传了什么参数、返回了什么结果都记到审计日志里方便事后追溯。案例转账/删除等操作需人工审批后执行。最小权限注入就是调用工具时不要给永久、全量的权限而是根据当前用户和任务动态注入一个临时 Token限定它能调用哪些工具、访问哪些资源、能执行什么动作以及有效期多长任务结束就失效这样即使 Token 泄露影响也可控。案例使用临时 Token 调用工具限定权限和时效。超时 容错就是单个工具调用不能无限等待要设置超时时间超时后自动取消避免把整个 Agent 卡死同时要有兜底策略比如返回默认值、缓存结果、降级到备用工具或者提示用户稍后重试。案例单工具调用超时自动取消返回兜底结果。入参校验与修正就是工具调用前先检查参数是否完整、类型是否正确、有没有越权字段比如缺必填项、数字传成字符串、路径穿越等能自动补全或修正的就修正修不了就直接拒绝防止工具执行失败甚至造成安全问题。案例修正或补全错误参数防止工具执行失败。图示

相关推荐

Maven多模块编译加速:从30分钟到8分钟的精准优化实战
Maven多模块编译加速:从30分钟到8分钟的精准优化实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 9:45:11

蜗牛学苑 Java 智能体学习 Day48|Redis 全知识点思维导图复盘
蜗牛学苑 Java 智能体学习 Day48|Redis 全知识点思维导图复盘

一、思维导图整体知识结构梳理Redis 介绍Redis 是什么分类:非关系型数据库 NoSQL(不仅仅是 SQL)NoSQL 解决传统关系型数据库痛点NoSQL 产品:MongoDB、RedisNoSQL 特点易扩展灵活的数据模型大数据量,高性能高可用Redis … · 2026/9/24 9:45:05

2026 企业 AI 办公工具选型指南:评估框架与产品全景盘点
2026 企业 AI 办公工具选型指南:评估框架与产品全景盘点

企业选 AI 办公工具,为什么不能只看功能列表 很多企业在启动AI办公工具调研的第一阶段,都会下意识拉一张长长的功能对比表,把不同产品支持的生成内容类型、插件数量、界面样式逐一罗列打分,甚至直接参考C端用户的热度榜单做决策&a… · 2026/9/24 9:45:05

云边端三层架构设计:责任分层与数据生命周期管理
云边端三层架构设计:责任分层与数据生命周期管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:54:02

物联网碎片化破解:边缘网关与协议归一化实战方案
物联网碎片化破解:边缘网关与协议归一化实战方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:53:56

2026企业AI办公工具选型指南:方法论与主流平台全景盘点
2026企业AI办公工具选型指南:方法论与主流平台全景盘点

企业在采购AI办公工具的阶段,很容易陷入功能清单比对的误区。不少数字化负责人会直接罗列各家产品的能力条目,以功能数量多少作为评判标准,或是单纯参考品牌知名度、订阅成本快速做出决策。这类评估方式忽略了AI办公工具的核心价值在于嵌入企… · 2026/9/24 10:53:56

RK3128固件打包报错No space left?分区表与镜像大小排查指南
RK3128固件打包报错No space left?分区表与镜像大小排查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:53:56

2026年功率电感选型与替代策略:AI算力与汽车电子场景下的工程实践
2026年功率电感选型与替代策略:AI算力与汽车电子场景下的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:53:49

魔百盒M411A线刷安卓9.0全攻略:S905L3B芯片与UWE5621DS无线模块避坑指南
魔百盒M411A线刷安卓9.0全攻略:S905L3B芯片与UWE5621DS无线模块避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:53:19

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码