2026/1/28 23:04:51
网站建设
项目流程
网站建设制作怎么弄,企业 wordpress 主题,免费小程序制作软件,iis添加网站访问权限一.背景LangChain 作为大语言模型#xff08;LLM#xff09;应用开发的核心框架#xff0c;其核心价值在于将 LLM 与外部工具、数据来源、工作流进行协同整合#xff0c;而 **Agent#xff08;智能体#xff09;** 是 LangChain 实现 “自主决策与行动” 的关键组件 ——…一.背景LangChain 作为大语言模型LLM应用开发的核心框架其核心价值在于将 LLM 与外部工具、数据来源、工作流进行协同整合而 **Agent智能体** 是 LangChain 实现 “自主决策与行动” 的关键组件 —— 简单 Agent 能够基于用户指令自主判断任务类型、选择工具执行操作、整合结果并生成最终响应突破了 LLM 仅能被动生成文本的局限。构建简单 Agent 的需求源于纯 LLM 应用在处理复杂任务时的核心痛点也是开发者从 “调用 LLM API” 走向 “搭建智能应用” 的入门关键。1.纯 LLM 应用的核心痛点在使用 LangChain 构建 Agent 之前开发者通常直接调用 LLM如 GPT-3.5/4、通义千问、文心一言的 API 实现功能但这种方式在处理稍复杂的任务时会暴露诸多难以解决的问题1. 无法处理需要外部数据的任务LLM 的知识局限于训练数据的截止时间如 GPT-4 训练数据截止到 2024 年中且无法访问实时数据如最新天气、股票价格、企业内部数据库或私有数据如本地文档、企业知识库。例如用户询问 “2025 年最新的人工智能行业报告核心数据”纯 LLM 无法获取实时信息只能生成模糊的回答甚至给出错误数据。2. 不具备执行具体操作的能力LLM 仅能生成文本无法直接执行外部操作如计算复杂的数学公式、调用 API 接口、查询数据库、发送邮件等。例如用户要求 “计算 1000 的阶乘并将结果保存到本地文件”纯 LLM 可以给出计算思路但无法实际完成计算与文件写入操作需开发者手动编写代码实现效率极低。3. 任务处理缺乏逻辑拆分与决策能力对于多步骤任务如 “查询北京明天的天气然后推荐适合的户外活动最后生成一份出行计划”纯 LLM 只能一次性生成结果无法按步骤拆解任务、验证中间结果的正确性也无法根据中间结果调整后续行动。例如若天气查询结果为 “下雨”纯 LLM 可能仍推荐户外活动导致结果不符合实际需求。4. 对模糊指令的处理能力不足用户的指令往往是模糊的、非结构化的如 “帮我了解一下我们公司最新的销售数据并做简单分析”纯 LLM 无法明确指令中的核心需求如 “最新” 是指今日还是本月、“销售数据” 包含哪些维度、“分析” 需要哪些指标也无法主动追问用户补充信息只能基于猜测生成回答结果往往不符合用户预期。5. 缺乏错误修正与迭代能力纯 LLM 生成的结果若存在错误如计算错误、信息错误无法自主检测并修正也无法重新执行任务来获取正确结果。例如LLM 计算 “2025 年 10 月 1 日是星期几” 时出现错误只能等待用户指出后重新调用 API无法自主验证并纠正。2.LangChain 构建简单 Agent 的核心价值LangChain 构建的简单 Agent本质是将LLM大脑负责决策、工具手脚负责执行操作、记忆短期存储负责保存中间结果三者整合为一个自主运行的系统。即使是简单 Agent也能解决纯 LLM 应用的痛点核心价值体现在1. 整合外部数据与工具扩展能力边界LangChain 为 Agent 提供了丰富的工具集成能力包括内置工具如搜索引擎、计算器、文件操作、API 调用和自定义工具如企业内部数据库查询、知识库检索。Agent 可根据用户指令自主选择工具获取外部数据或执行操作突破 LLM 的能力限制。例如Agent 可调用搜索引擎获取最新行业报告数据调用计算器完成复杂计算调用文件工具保存结果。2. 实现任务的自主拆解与步骤化执行简单 Agent 能够将多步骤任务拆解为单个子任务按顺序执行并验证中间结果。例如对于 “查询天气→推荐活动→生成计划” 的任务Agent 会先调用天气工具获取结果再根据天气结果选择推荐工具最后调用文本生成工具生成计划确保每一步结果的正确性最终输出符合逻辑的结果。3. 具备模糊指令的解析与交互能力Agent 可对模糊指令进行解析若发现信息不足会主动向用户追问补充信息如 “你所说的‘最新销售数据’是指今日还是本月的”直到明确需求后再执行任务大幅提升回答的准确性与用户体验。4. 拥有基础的决策与反馈机制Agent 以 LLM 为核心能够根据用户指令和工具执行的中间结果自主决策下一步行动如 “是否需要调用工具”“调用哪个工具”“是否需要结束任务”“是否需要修正错误”。例如若工具返回的天气数据为空Agent 会尝试调用另一个天气工具而非直接生成结果。5. 降低智能应用的开发门槛LangChain 提供了标准化的 Agent 架构如AgentExecutor、Tool、LLMChain和丰富的预设组件开发者无需从零编写决策逻辑与工具集成代码只需几行代码即可构建出具备自主决策能力的简单 Agent大幅降低了智能应用的开发成本与门槛。3.LangChain 简单 Agent 的典型应用场景个人智能助手构建能够处理日常任务的简单 Agent如查询天气、计算数据、设置提醒、检索本地文档信息等替代传统的语音助手具备更强的自主决策能力。企业知识库问答Agent 整合知识库检索工具能够根据用户问题自主检索企业内部文档如 PDF、Word、Markdown并生成精准的回答无需用户手动查找文档。数据查询与分析Agent 连接企业数据库或外部数据 API能够根据用户的自然语言指令如 “查询本月的销售总额并对比上月数据”自主查询数据、进行简单分析并生成报告。简单的自动化任务Agent 整合邮件发送、文件操作、API 调用等工具能够完成自动化任务如 “将今日的销售数据发送给销售经理并保存到本地 Excel 文件”无需人工干预。教育与学习辅助Agent 整合计算器、搜索引擎、知识点检索工具能够为学生解答问题如 “解释牛顿第二定律并计算相关物理题”并提供个性化的学习建议。4.关键优势总结LangChain 构建简单 Agent 的核心价值是将 LLM 从 “文本生成工具” 升级为 “具备自主决策与行动能力的智能体”即使是简单 Agent也能解决纯 LLM 应用在数据访问、操作执行、任务拆解上的痛点实现从 “被动响应” 到 “主动服务” 的转变。同时LangChain 的标准化组件大幅降低了 Agent 的开发门槛让开发者能够快速搭建出满足实际需求的智能应用是进入大语言模型应用开发的重要入门环节。综上LangChain 构建简单 Agent 的需求源于开发者对 LLM 应用 “能力扩展、自主决策、任务自动化” 的核心诉求解决了纯 LLM 应用的诸多痛点支撑个人助手、企业知识库、数据分析等核心场景为构建更复杂的多 Agent 系统奠定了基础。二.具体实现1.引入依赖from langchain.agents import create_agent import sys import io import os2.定义大模型配置if sys.stdout.encoding ! utf-8: sys.stdout.reconfigure(encodingutf-8) if sys.stderr.encoding ! utf-8: sys.stderr.reconfigure(encodingutf-8) os.environ[PYTHONIOENCODING] utf-8 os.environ[OPENAI_API_BASE] xxx os.environ[OPENAI_API_KEY] xxx3.定义工具函数def get_weather(city: str) - str: 针对城市给出天气情况. return f在 {city} 天气很热!4.定义agentagent create_agent( modelgpt-4.1-2025-04-14, tools[get_weather], system_prompt你是个很好的助手, )5.调用agent# Run the agent result agent.invoke( {messages: [{role: user, content: 广州天气如何}]} ) # 提取并打印最终的回答 if result and messages in result: messages result[messages] # 获取最后一条AI消息通常是最终回答 for msg in reversed(messages): if hasattr(msg, content) and msg.content and hasattr(msg, __class__): if AIMessage in str(type(msg)): print(f\n助手回答: {msg.content}) break else: print(result)6.结果如下