走进智能体的世界 你有没有想过,为什么现在的AI助手能帮你自动订机票、自动写报告、甚至自动改代码?它们是怎么做到的? 如果你用过Cursor写代码,让它帮你实现某个功能,它会先看看你的文件结构,找到合适的位置,写代码,然后运行看看有没有问题
框架实战快速上手框架实战快速上手 前面几篇把 Agent 的概念、协作模式和架构拆开讲过了,这一篇进入实战——用 Spring AI Alibaba ReactAgent 从零搭一个订单助手,五个核心能力(Tools、Memory、Hook、Interce
主流架构深度对比主流架构深度对比 上一篇我们知道了Agent是什么,这篇来聊聊Agent是怎么干活的。 同样是完成一个任务,不同的Agent可能有完全不同的"工作风格"。有的边想边干,做一步看一步;有的先整体规划,再分步执行;有的做完还要自我检查,反复打磨
多智能体深度协作多智能体深度协作 前面两篇我们聊的都是单个Agent,但在真实的业务场景中,一个Agent往往搞不定复杂的任务。 想象一下,你有一个超级智能客服的需求:它要能回答产品问题、处理售后投诉、查询订单物流、还要能做数据分析给出运营建议。如果把这些
进阶特性与源码探秘进阶特性与源码探秘 本章节比较难,是讨论源码的流程,如果对源码不感兴趣或者不想看源码的同学,可以直接跳过。 前面几篇我们学会了搭建Agent、给它配工具、让它有记忆。但在生产环境中,还有一些关键问题需要解决: 敏感操作(如支付、退款)能让A
认识工具调用机制认识工具调用机制 你有没有想过这样一个问题:为什么大模型能写诗、能写代码,却没法告诉你今天股票涨了多少? 这不是因为它笨,而是因为它的"记忆"是静态的。大模型的知识来源于训练数据,训练完成后这些知识就被"冻结"了。你问它2023年的事情可能
Spring AI工具调用实战Spring AI工具调用实战 上一节我们搞明白了工具调用是怎么回事。现在的问题是:在Spring AI里,具体怎么把自己的方法变成大模型能调用的工具? Spring AI给我们提供了两种路子: 注解方式:用@Tool把普通方法变成工具 函
ToolCallback源码解析ToolCallback源码解析 上一节我们知道了Spring AI提供两种定义工具的方式:@Tool注解和Function Bean。那你有没有好奇过:这两种方式在底层有什么区别?Spring AI拿到你的工具定义后,内部是怎么调用的?
工具设计原则与最佳实践工具设计原则与最佳实践 前面几节我们学会了怎么定义工具、怎么调用工具。但有个问题还没聊:怎么定义一个好用的工具? 这里的"好用"不是指你写代码方便,而是指模型能不能正确理解和使用。 工具定义好了、功能能跑,但模型就是不调或者调错——问题往往
深入MCP通信机制深入MCP通信机制 在设计一个通信协议时,有很多选择:RESTful API、GraphQL、gRPC、自定义二进制协议......MCP最终选择了JSONRPC。这个选择背后有什么考量? 先来看看JSONRPC的几个特点: 极简主义 JS
Spring AI构建MCP服务端实战Spring AI构建MCP服务端实战 实战目标 这一篇我们动手搭建一个真实可用的MCP Server。为了让示例更有实际意义,我们以"智能办公助手"为场景,开发以下工具: 工具名称 功能描述 checkAttendance 查询员工考勤记
MCP调用链路源码解密MCP调用链路源码解密 前面几篇我们已经把 MCP Server 和 Client 跑起来了,但上一篇对“源码调用链路”的描述还是偏通用,容易把 Spring AI 的公共机制和本项目的真实实现混在一起。 这一篇不泛讲概念了,以之前的项目里
MCP企业级开发进阶技巧MCP企业级开发进阶技巧 当你在本地调试MCP时,一切都很顺利。但真正推向生产环境时,肯定会有各种的问题:远程服务怎么做认证?网络断了如何自动恢复?不同用户能调用的工具不一样怎么办?这篇文章就来聊聊这些企业级开发中的进阶技巧。 认证鉴权:给
MCP与相关技术的关系MCP与相关技术的关系 当你开始在项目中引入MCP时,可能会遇到这样的疑问: "我们已经有RPC框架了,还需要MCP吗?" "MCP和我们现有的微服务架构怎么配合?" "听说还有个A2A协议,它和MCP什么关系?" 这些问题的本质是在问:M
三种传输模式全面解读三种传输模式全面解读 上一篇讲的JSONRPC解决了"说什么话"的问题——统一的数据格式。但光有话术还不够,还需要解决"怎么把话传过去"的问题。 这就像人类通讯方式的演进: 最早是面对面交流:两个人坐一起,说话直接听到 后来有了电话:隔着距
揭开MCP协议的面纱揭开MCP协议的面纱 想象一下这样的场景:你问智能助手"帮我订一下明天下午3点的会议室",它回复道"好的,我已经帮您预订好了"。但当你走到会议室门口,发现根本没有预订记录。为什么会这样? 因为大模型本质上是一个"只会说话的大脑"。它的所有知
Spring AI MCP客户端开发指南Spring AI MCP客户端开发指南 上一篇我们开发了MCP Server,现在来做另一半——MCP Client。 想象你要打造一个企业智能助手,它需要具备多种能力: 对接HR系统查考勤、查工资 对接行政系统订会议室、查排期 对接搜索
RAG入门与核心原理概述RAG入门与核心原理概述 先来看个真实的场景。 某公司花了大价钱接入了某知名大模型,想做一个智能客服。产品经理信心满满地上线了,结果第一天就翻车了 用户问:"你们家XX3000型号打印机的墨盒怎么换?" AI客服回答得头头是道:"首先打开打
分片代码实战:Spring系列分片代码实战:Spring系列 前面讲了分块策略的理论和ChunkViz可视化实验,这篇开始写具体的实现代码。 Java生态中主要有三个框架支持文档分片: 框架 特点 推荐度 Spring AI 官方只提供TokenTextSplitter
RAG三代进化史与架构选型RAG三代进化史与架构选型 还记得诺基亚那个年代吗?手机只能打电话发短信,拍照是奢侈功能,像素还低得可怜。后来有了智能机,拍照能力一代比一代强——从单摄到双摄,从双摄到三摄,从普通拍照到AI算法加持。 RAG技术的演进也是类似的路子。 从最
元数据的详细解析元数据的详细解析 上一篇聊了文档分块的各种姿势,把长文档切成小块之后,你会发现一个问题:每个块就剩一段光秃秃的文字,完全不知道它从哪来、该给谁看、出了问题怎么找。这就像把一本书撕成碎片,每片纸上虽然有字,但没人知道这是哪本书的第几页。 这篇
文档切片策略选择文档切片策略选择 假设你点了一个超大的披萨,18寸的那种。 直接抱着吃?不现实。得切成小块。 但怎么切有讲究: 切太大,嘴巴塞不下 切太小,馅料都掉了,吃起来没味道 切得位置不对,可能把一块完整的培根切成两半 文档分片也是同样的道理。 大模
文档预处理读取清洗与标准化文档预处理读取清洗与标准化 下厨房做饭,第一步是什么? 不是开火,不是切菜,而是洗菜。 买回来的青菜上面有泥土、虫子、农药残留,不洗干净直接下锅,做出来的菜能好吃吗? RAG也是一样的道理。 企业里的文档五花八门——PDF里混着图片和表格,
ChunkViz实验与可视化ChunkViz实验与可视化 上一篇讲了分块策略的理论,但光看文字描述可能还不够直观。 这篇用一个免费的在线工具——ChunkVizhttps://chunkviz.up.railway.app/,来可视化地展示不同分块策略的效果,让你亲眼
搞懂Tika才能做好RAG文档解析搞懂Tika才能做好RAG文档解析 先来个例子。 朋友小陈做了一个内部知识库系统——员工上传各种产品手册和技术文档,然后通过AI问答来检索。系统上线当天,领导试了一下: "我们XX200系列的安装步骤是什么?" AI回答得特别自信: "XX
RAG入门与核心原理概述RAG入门与核心原理概述 先来看个真实的场景。 某公司花了大价钱接入了某知名大模型,想做一个智能客服。产品经理信心满满地上线了,结果第一天就翻车了 用户问:"你们家XX3000型号打印机的墨盒怎么换?" AI客服回答得头头是道:"首先打开打
RAG三代进化史与架构选型RAG三代进化史与架构选型 还记得诺基亚那个年代吗?手机只能打电话发短信,拍照是奢侈功能,像素还低得可怜。后来有了智能机,拍照能力一代比一代强——从单摄到双摄,从双摄到三摄,从普通拍照到AI算法加持。 RAG技术的演进也是类似的路子。 从最
文档预处理读取清洗与标准化文档预处理读取清洗与标准化 下厨房做饭,第一步是什么? 不是开火,不是切菜,而是洗菜。 买回来的青菜上面有泥土、虫子、农药残留,不洗干净直接下锅,做出来的菜能好吃吗? RAG也是一样的道理。 企业里的文档五花八门——PDF里混着图片和表格,
搞懂Tika才能做好RAG文档解析搞懂Tika才能做好RAG文档解析 先来个例子。 朋友小陈做了一个内部知识库系统——员工上传各种产品手册和技术文档,然后通过AI问答来检索。系统上线当天,领导试了一下: "我们XX200系列的安装步骤是什么?" AI回答得特别自信: "XX
文档切片策略选择文档切片策略选择 假设你点了一个超大的披萨,18寸的那种。 直接抱着吃?不现实。得切成小块。 但怎么切有讲究: 切太大,嘴巴塞不下 切太小,馅料都掉了,吃起来没味道 切得位置不对,可能把一块完整的培根切成两半 文档分片也是同样的道理。 大模
分片代码实战:Spring系列分片代码实战:Spring系列 前面讲了分块策略的理论和ChunkViz可视化实验,这篇开始写具体的实现代码。 Java生态中主要有三个框架支持文档分片: 框架 特点 推荐度 Spring AI 官方只提供TokenTextSplitter
ChunkViz实验与可视化ChunkViz实验与可视化 上一篇讲了分块策略的理论,但光看文字描述可能还不够直观。 这篇用一个免费的在线工具——ChunkVizhttps://chunkviz.up.railway.app/,来可视化地展示不同分块策略的效果,让你亲眼
元数据的详细解析元数据的详细解析 上一篇聊了文档分块的各种姿势,把长文档切成小块之后,你会发现一个问题:每个块就剩一段光秃秃的文字,完全不知道它从哪来、该给谁看、出了问题怎么找。这就像把一本书撕成碎片,每片纸上虽然有字,但没人知道这是哪本书的第几页。 这篇
Spring AI工具调用实战Spring AI工具调用实战 上一节我们搞明白了工具调用是怎么回事。现在的问题是:在Spring AI里,具体怎么把自己的方法变成大模型能调用的工具? Spring AI给我们提供了两种路子: 注解方式:用@Tool把普通方法变成工具 函
ToolCallback源码解析ToolCallback源码解析 上一节我们知道了Spring AI提供两种定义工具的方式:@Tool注解和Function Bean。那你有没有好奇过:这两种方式在底层有什么区别?Spring AI拿到你的工具定义后,内部是怎么调用的?
工具设计原则与最佳实践工具设计原则与最佳实践 前面几节我们学会了怎么定义工具、怎么调用工具。但有个问题还没聊:怎么定义一个好用的工具? 这里的"好用"不是指你写代码方便,而是指模型能不能正确理解和使用。 工具定义好了、功能能跑,但模型就是不调或者调错——问题往往
认识工具调用机制认识工具调用机制 你有没有想过这样一个问题:为什么大模型能写诗、能写代码,却没法告诉你今天股票涨了多少? 这不是因为它笨,而是因为它的"记忆"是静态的。大模型的知识来源于训练数据,训练完成后这些知识就被"冻结"了。你问它2023年的事情可能
MCP与相关技术的关系MCP与相关技术的关系 当你开始在项目中引入MCP时,可能会遇到这样的疑问: "我们已经有RPC框架了,还需要MCP吗?" "MCP和我们现有的微服务架构怎么配合?" "听说还有个A2A协议,它和MCP什么关系?" 这些问题的本质是在问:M
MCP企业级开发进阶技巧MCP企业级开发进阶技巧 当你在本地调试MCP时,一切都很顺利。但真正推向生产环境时,肯定会有各种的问题:远程服务怎么做认证?网络断了如何自动恢复?不同用户能调用的工具不一样怎么办?这篇文章就来聊聊这些企业级开发中的进阶技巧。 认证鉴权:给
MCP调用链路源码解密MCP调用链路源码解密 前面几篇我们已经把 MCP Server 和 Client 跑起来了,但上一篇对“源码调用链路”的描述还是偏通用,容易把 Spring AI 的公共机制和本项目的真实实现混在一起。 这一篇不泛讲概念了,以之前的项目里
Spring AI MCP客户端开发指南Spring AI MCP客户端开发指南 上一篇我们开发了MCP Server,现在来做另一半——MCP Client。 想象你要打造一个企业智能助手,它需要具备多种能力: 对接HR系统查考勤、查工资 对接行政系统订会议室、查排期 对接搜索
Spring AI构建MCP服务端实战Spring AI构建MCP服务端实战 实战目标 这一篇我们动手搭建一个真实可用的MCP Server。为了让示例更有实际意义,我们以"智能办公助手"为场景,开发以下工具: 工具名称 功能描述 checkAttendance 查询员工考勤记
三种传输模式全面解读三种传输模式全面解读 上一篇讲的JSONRPC解决了"说什么话"的问题——统一的数据格式。但光有话术还不够,还需要解决"怎么把话传过去"的问题。 这就像人类通讯方式的演进: 最早是面对面交流:两个人坐一起,说话直接听到 后来有了电话:隔着距
揭开MCP协议的面纱揭开MCP协议的面纱 想象一下这样的场景:你问智能助手"帮我订一下明天下午3点的会议室",它回复道"好的,我已经帮您预订好了"。但当你走到会议室门口,发现根本没有预订记录。为什么会这样? 因为大模型本质上是一个"只会说话的大脑"。它的所有知
深入MCP通信机制深入MCP通信机制 在设计一个通信协议时,有很多选择:RESTful API、GraphQL、gRPC、自定义二进制协议......MCP最终选择了JSONRPC。这个选择背后有什么考量? 先来看看JSONRPC的几个特点: 极简主义 JS
主流架构深度对比主流架构深度对比 上一篇我们知道了Agent是什么,这篇来聊聊Agent是怎么干活的。 同样是完成一个任务,不同的Agent可能有完全不同的"工作风格"。有的边想边干,做一步看一步;有的先整体规划,再分步执行;有的做完还要自我检查,反复打磨
多智能体深度协作多智能体深度协作 前面两篇我们聊的都是单个Agent,但在真实的业务场景中,一个Agent往往搞不定复杂的任务。 想象一下,你有一个超级智能客服的需求:它要能回答产品问题、处理售后投诉、查询订单物流、还要能做数据分析给出运营建议。如果把这些
框架实战快速上手框架实战快速上手 前面几篇把 Agent 的概念、协作模式和架构拆开讲过了,这一篇进入实战——用 Spring AI Alibaba ReactAgent 从零搭一个订单助手,五个核心能力(Tools、Memory、Hook、Interce
走进智能体的世界走进智能体的世界 你有没有想过,为什么现在的AI助手能帮你自动订机票、自动写报告、甚至自动改代码?它们是怎么做到的? 如果你用过Cursor写代码,让它帮你实现某个功能,它会先看看你的文件结构,找到合适的位置,写代码,然后运行看看有没有问题
进阶特性与源码探秘进阶特性与源码探秘 本章节比较难,是讨论源码的流程,如果对源码不感兴趣或者不想看源码的同学,可以直接跳过。 前面几篇我们学会了搭建Agent、给它配工具、让它有记忆。但在生产环境中,还有一些关键问题需要解决: 敏感操作(如支付、退款)能让A