LangChain学习——Agent入门

发布时间:2026/9/29 12:59:43

LangChain学习——Agent入门 一、什么时AgentAgent是能自己思考、自己决定要不要调用工具、完成复杂任务的 AI 智能体。普通大模型你问一句它直接回答不会自己调用外部能力。Agent大模型充当 “大脑”可以自主决策判断要不要查数据库、调用工具、检索向量库、调用接口一步步把任务做完。1、创建方法fromlangchain.agentsimportcreate_agent agentcreate_agent(modelgoogle_genai:gemini-3.6-flash,toolstools)2、组件二、ReAct模式ReAct是 Agent 的一种经典工作范式让大模型先思考 (Reason)再决定执行行动 (Act调用工具)交替循环直到完成任务。✅优点可以处理复杂多步骤任务多轮调用多个工具把大模型能力和外部真实世界数据打通数据库、知识库有思考过程可调试verboseTrue可以打印 Thought。❌缺点会多次调用大模型token 消耗高有可能进入死循环必须设置max_iterations工具调用出错会把错误信息再次喂给模型需要做好异常捕获。三、中间件中间件可以拦截、修改请求、修改响应、记录日志、鉴权、跨域、捕获异常不用改动每一个接口代码。中间件提供了一种更紧密控制智能体内部发生的事情的方法。中间件适用于以下场景1、通过日志、分析和调试跟踪智能体行为。2、转换提示词、工具选择以及输出格式化。3、添加重试、回退和提前终止逻辑。4、应用速率限制、护栏guardrails和 PII 检测。1、代码示例fromlangchain.agentsimportcreate_agentfromlangchain.agents.middlewareimportSummarizationMiddleware,HumanInTheLoopMiddleware agentcreate_agent(modelgpt-5.5,tools[...],middleware[SummarizationMiddleware(...),HumanInTheLoopMiddleware(...)],)2、用处生产环境中如果模型调用失败了怎么办需要重试吗如果用户的对话太长超过了模型的上下文窗口怎么办如果用户输入了身份证号、手机号等敏感信息需要脱敏吗如果 Agent 要调用一个高风险操作比如发邮件、转账需要人工确认吗这些问题靠改 system_prompt 是解决不了的。我们需要一个更强大的机制——中间件Middleware。中间件就像是 Agent 的 ‘插件系统’ 让我们可以在 Agent 执行的关键节点插入自定义逻辑实现日志、重试、脱敏、人工审批等功能。”3、自带的中间件4、LangChain中的中间件5、代码应用agentcreate_agent(modelllm,toolstools,system_promptsystem_prompt,checkpointercheckpointer,# 检查点,海马体,用于保存当前的状态,短期记忆debugTrue,# 开启调试模式middleware[# 对话摘要中间件当对话超过 4000 tokens 时自动摘要SummarizationMiddleware(modelllm,trigger(tokens,3000),keep(messages,10)),HumanInTheLoopMiddleware(interrupt_on{transfer:True},description_prefix需要人工审批才能执行),# 模型重试中间件模型调用失败时自动重试ModelRetryMiddleware(max_retries3),# 工具重试中间件工具调用失败时自动重试ToolRetryMiddleware(max_retries3),# 模型调用次数限制防止成本失控ModelCallLimitMiddleware(run_limit10)])
延伸阅读

更多相关文章

2026/9/28 18:19:11

链表 -- 环链表

环链表的创建4 node_t *clinklist_create(void)5 {6 node_t*pheadmalloc(sizeof(node_t));7 if(pheadNULL)8 {9 printf("malloc fail");10 return NULL;11 }12 phead->nextphead;13 return phead;14 }与普通链表区分&…

2026/9/25 0:45:05

CTF杂项解题实战:从文件分析到隐写提取的完整思路

1. 项目概述:一次典型的CTF解题复盘最近在整理过去的比赛记录,翻到了去年参加的一场印象比较深刻的比赛——2022年DASCTF四月赛与FATE联合举办的“防疫挑战赛”。这场比赛的题目紧扣时事,将网络安全知识与“防疫”场景做了不少有趣的结合&…

2026/9/29 0:47:59

Humanizer:消除AI文本机器腔调的关键技术

1. 为什么我们需要Humanizer这个Skill?在AI技术爆发的2024年,一个令人困扰的现象越来越普遍:AI生成内容(AIGC)的"机器腔调"问题。我最近在团队内部做了一次小测试,让10位同事分辨人工撰写和AI生成…

2026/9/29 13:29:53

英语情景教学Agent架构设计与工程落地

1. 为什么“英语情景教学Agent”不能只靠一个大模型调用就完事?我去年带一个教育科技团队做AI口语陪练产品时,第一版原型就是简单把用户语音转文字丢给大模型,再把回复转成语音播出来。表面看流程跑通了:学生说“Where’s the nea…

2026/9/29 13:29:53

YOLOv11遥感建筑物检测:多尺度小目标优化实战

简介:这份PDF文档面向遥感图像处理与目标检测方向的学习者、研究人员及工程实践者,聚焦YOLOv11在多尺度建筑物检测中的训练技巧与数据增强方案,帮助读者应对复杂遥感场景下小目标漏检、尺度差异大、样本稀缺等实际问题。文档共38页&#xff0…

2026/9/29 13:29:53

重庆会议室舞台音响灯光选购与部署实战指南

很多刚接手会议室或小型活动场地搭建的朋友,常会遇到这样的尴尬:花大价钱买的音响设备,开会时却听不清人声,甚至产生刺耳的啸叫;灯光打下来,要么嘉宾脸上阴影重重,要么屏幕反光严重看不清 PPT。…

2026/9/29 13:29:53

AI大模型赋能数字化林业平台:从巡护日志到智能问答的落地实践

简介:这份PPT方案面向林业信息化管理者、智慧林业方案设计者及AI大模型行业应用研究者,系统梳理了AI大模型赋能数字化林业平台的建设路径,帮助读者理解如何将大模型能力落地到林业资源管理场景。资源包共1个pptx文件,大小约442KB&…

2026/9/29 11:07:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/29 0:04:04

AI Evals实战指南:从零搭建LLM应用评估体系与CI/CD集成

1. 为什么AI Evals值得你花时间搞明白做LLM应用的人,迟早会撞上同一堵墙:模型输出飘忽不定,今天答得好好的,明天换个问法就胡说八道。你改了一版提示词,感觉好像好了点,但到底好了多少?说不清。…

2026/9/29 0:04:04

Java采购管理系统实战:从数据库设计到事务一致性

简介:这是一套面向Java Web初学者与课程设计者的采购管理系统完整源码,采用JSP技术搭建,配合MySQL数据库,用于解决企业采购信息的管理问题,适合作为毕业设计、课程大作业或进销存类项目的参考模板。系统实现了用户登录…

2026/9/29 3:53:39

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/29 9:46:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/29 6:36:14

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑