LangChain 从入门到实战(01):从 Java 后端转 Agent,第一座脚手架叫 LangChain
从 Java 后端转 Agent 开发第一座要爬的脚手架叫 LangChain你在面试或选题时一定见过这个名字LangChain。它可能是 “Agent 开发第一大框架”也可能被吐槽 “包多、版本乱”。对于从 Java 后端切过来的工程师真正要搞懂的其实不是它的某个具体 API而是它想解决的工程问题——用一句话它帮你把调用大模型这件简单事升级成编排一套能做事的系统。这篇当作第一讲只讲三件事①LangChain 到底站在解决什么问题的位置上②它的核心组件分别是什么③一个最小可跑的示例让你知道上手不等于写死一行 API 调用。一、LangChain 解决的是贴胶水问题如果只是发一个请求给模型然后打返回那不需要任何框架一个requests.post就够了。真正的分水岭在第二件、第三件事发生之后同一个模型请求要配不同的提示词模板、不同的解析方式你要能换模型供应商而不改动业务代码一段对话需要有记忆任务需要调用工具答案要引用你私有文档里的资料。这些需求堆叠的结局就是到处重复的胶水代码——每个项目都在重写一遍构造输入、调模型、解析输出、存上下文。**LangChain 的价值是把这层胶水制度化、可插拔。**它不替你做业务它替你搭模型 周边能力的脚手架。二、一次认清核心组件组件干什么对应工程里谁ChatModel调大模型统一抽象不同供应商一个发模型的客户端PromptTemplate把提示词变成带变量的模板标注/格式化参数的模板OutputParser把模型返回的字符串解析成结构化对象一个反序列化器Retriever从私有知识里找出相关内容一个索引查询Tool / Agent让模型能用外部工具、做决策循环一个执行器 调度循环Memory过渡态记住上下文会话状态表v0.3 已弃用直接封装迁移方向是 LangGraph 的 checkpointer注Memory 组件在 v0.3 官方已标记弃用长期记忆的能力被并入 LangGraph 的状态 / checkpointer 体系。初学阶段不必刻意去记旧的ConversationBufferMemory这类 API知道历史上下文要存这一概念即可具体怎么做我们在后面讲 LangGraph 时落地。可以这样理解**模型是你的算力其余组件是把它改造成会干活的系统的零件。**对 Java 工程师这个映射会很亲切——你会发现 LangChain 的角色分布跟你在 Spring 里做依赖注入、编排时想的事几乎同构。三、一个最小但真的能跑的例子下面这段是当前 LangChainv0.3 主流写法langchain-openai包的骨架。重点不是执行结果而是看几个组件如何组合成一条链而不是写死。fromlangchain_openaiimportChatOpenAIfromlangchain_core.output_parsersimportStrOutputParser# 1) 模型——密钥从环境变量读不写死在代码里Java 读者对配置外置再熟悉不过importos llmChatOpenAI(modelgpt-4o,api_keyos.getenv(OPENAI_API_KEY))# 2) 用管道符把模型 解析串成一条链chainllm|StrOutputParser()# 3) 调一次print(chain.invoke(用一句话介绍你自己))观察这个llm | parser这是 LangChain 新一代的本命——LCELLangChain Expression Language管道表达式语法。它不是魔法是一个可以随意重组的管线prompt | llm | parser也一样合法。把提示词模板加进来代码就开始像可插拔管线了fromlangchain_core.promptsimportChatPromptTemplate promptChatPromptTemplate.from_template(你是资深{role}工程师。请回答{question})chainprompt|llm|StrOutputParser()print(chain.invoke({role:后端,question:什么是幂等}))到这里你已经能感到分野不写框架时每次请求都要手动塞模板、手动解析、手动建上下文用 LangChain它们变成一行行可复用的链。四、工程化的第一反应处理工程顺序比冲动重要。建议在进入实战前依次掌握先是模板不要string.format硬拼再是解析不要索引切片然后是检索与状态让答案引用来源、让上下文可管理。正式章节我们把这些组件逐个打开看、逐个跑去别急着一次看全部。这里补一句给后端读者LangChain 的组件-链思维就是把调模型当成一个要能被替换、被测试的 I/O。你在 Spring 里做接口抽象的道理在这里以可插拔组件的形式重现——把握住这点学习成本会低一大截。小结维度要点一句话LangChain 让调模型升级成编排模型成系统第一个动作用 LCEL 管道串prompt | llm | parser核心组件模型 / 模板 / 解析 / 检索 / 工具记忆过渡到 LangGraph下一篇预告第 02 篇用 ChatModel 跑通第一次真实调用看清模型 / 模板 / 解析三者的分工想真正理解 LangChain别从最新酷炫 API开始从它替我做了哪些原本手写的编排开始——理解了编排就理解了 LangChain。

相关新闻

跨租户报表一查全平台卡顿?合众致达472租户混合路由实测:运营聚合P99从82秒压到1.8秒、月账跑批零干扰

跨租户报表一查全平台卡顿?合众致达472租户混合路由实测:运营聚合P99从82秒压到1.8秒、月账跑批零干扰

摘要(CSDN摘要栏填写) 合众致达技术团队2026年Q3对472租户能源SaaS(420公寓租户共享表52园区租户ShardingSphere 16分片)完成跨租户查询与计费性能治理:运营日报全表扫描82秒、单租户月账跑批35分钟期间其他租户P99劣化…

2026/10/5 6:55:27 阅读更多 →
【回溯-8】301.删除无效的括号

【回溯-8】301.删除无效的括号

题目描述:给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。返回所有可能的结果。答案可以按 任意顺序 返回。示例 1:输入:s "()())()" 输出:["(()…

2026/10/5 6:55:27 阅读更多 →
【回溯-6】79.单词搜索

【回溯-6】79.单词搜索

题目描述:给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那…

2026/10/5 6:55:27 阅读更多 →

最新新闻

SpringBoot+Vue3订单管理系统全栈开发实战解析

SpringBoot+Vue3订单管理系统全栈开发实战解析

洗衣店订单管理系统,听名字是个不起眼的小业务系统,但真把它做扎实了,SpringBootVue3MyBatisMySQL这条前后端分离主链路里的弯弯绕绕基本都能摸一遍。我做这个项目不是为了交差,而是想完整体验一次从需求梳理、数据库设计、后端接…

2026/10/5 7:29:44 阅读更多 →
投研人“养虾”指南:打造个人AI投研助手的完整实操

投研人“养虾”指南:打造个人AI投研助手的完整实操

1. 为什么说投研人正在“养虾”“养虾”这个词,最近在投研圈的小范围聊天里出现频率越来越高。第一次听到的时候我也愣了一下,以为是哪个农业研究员在分享水产养殖调研心得,后来才明白,这说的是沉淀自己的AI投研工具——就像养宠物…

2026/10/5 7:29:44 阅读更多 →
Git合并冲突完全指南:读懂HEAD标记,从恐慌到从容

Git合并冲突完全指南:读懂HEAD标记,从恐慌到从容

我第一次在终端里看到<<<<<<< HEAD&#xff0c;是在一个周五的下午。同事刚把他重构后的接口推上去&#xff0c;我在同一天完成了自己的功能改造&#xff0c;两边都动了同一个文件&#xff0c;于是git pull之后&#xff0c;终端瞬间被一堆尖括号刷了屏。当…

2026/10/5 7:29:44 阅读更多 →
嵌入式软件复位后保留RAM数据的NoInit段实现方法

嵌入式软件复位后保留RAM数据的NoInit段实现方法

做嵌入式这些年&#xff0c;系统跑着跑着突然死机、然后看门狗重启&#xff0c;几乎是每个项目都绕不过去的坎。比死机更让人头疼的是另一种情况&#xff1a;设备是被看门狗拉回来了&#xff0c;程序也从头开始正常执行&#xff0c;但重启前缓存下来的业务状态、校准参数、任务…

2026/10/5 7:29:43 阅读更多 →
DeepSeek从入门到精通:提示词、场景模板与工作流避坑指南

DeepSeek从入门到精通:提示词、场景模板与工作流避坑指南

简介&#xff1a;这是一份面向AI工具使用者的DeepSeek从入门到精通指导手册&#xff0c;适合希望通过AI助手提升工作与学习效率的初学者和进阶用户&#xff0c;内容覆盖学术论文辅助、自媒体运营、个性化学习计划制定等场景。全册为PDF格式电子书&#xff0c;仅1个文件&#xf…

2026/10/5 7:29:43 阅读更多 →
医疗公开数据集盘点:90+精选数据集与实战选型指南

医疗公开数据集盘点:90+精选数据集与实战选型指南

医疗数据这行当&#xff0c;圈外人看着光鲜&#xff0c;圈内人做得头疼。前两年我刚接触医疗AI项目的时候&#xff0c;光是找数据就折腾了小半个月——不是进了假库&#xff0c;就是字段缺得没法看&#xff0c;再不然就是样本量少得连验证集都凑不齐。后来慢慢攒了一批来源可靠…

2026/10/5 7:28:43 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

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

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起&#xff1a;它到底在解决什么问题如果你最近在折腾 AI 编程工具&#xff0c;尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手&#xff0c;那你大概率绕不开一个词——plugins。这个词本身不新鲜&#xff0c;从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

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

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/4 20:14:29 阅读更多 →