ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

LangChain学习——Agent入门

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)])
返回列表