尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

准备出版《Spring AI Alibaba智能体开发实战 ——构建企业级Java AI智能体》

准备出版《Spring AI Alibaba智能体开发实战 ——构建企业级Java AI智能体》 互联网的热潮已经退却而现今AI落地的热潮已经开始。Python的AI Agent目前风生水起而Java互联网的技术已经成熟而这个行业也开始退潮AI大模型的应用也成为了现在的浪潮。Spring AI Alibaba下文简称SAA目前在GitHub的star已经到达1.06万了已经属于当前受到各方关注的热门技术。大模型LLM的开发已经不可逆Python无法给与稳定、安全、可控、简单运维的能力所以预计在Agent场景复杂和深度开发的阶段python的瓶颈就会来到。因此切换为java就十分必要了。加上安全审计的需求金融电信政务工业很多企业等企业并不敢把Python Agent直接加入核心链路因为没有成熟的微服务框架它们对安全、性能、稳定、可控、运维要求更高甚至很多银行业务系统就禁止使用python技术。反观当前国内互联网企业大部分使用Spring Cloud AlibabaSCA技术框架Nacos注册中心等因此将来将SCA的技术和SAA结合起来就相对容易风险和成本相对可控因此学习SAA技术就很有必要了。也有数百万的java程序员需要转型我愿意吃吃螃蟹试试看嘿嘿。未来绝大多数后端开发者的主战场不再是从零训练大模型底座而是开发 Agent 智能体调用成熟大模型能力、赋能企业原有业务传统纯 CRUD 增删查改开发已经变成基础底线能力。训练大模型底座属于少数顶尖团队的赛道95% 的业务开发人员走大模型【应用落地】路线。出版社都觉得风险大毕竟是国内第一本Java AI智能体的专业书籍他们没有经验但是我看培训和学习的热情挺高的所以我觉得我应该吃下螃蟹。我今天提交了大部分书稿在写A2A协议和MCP协议会补充在第13章目前如下第1章 人工智能体的概述1.1 为什么需要人工智能体1.1.1 人工智能体的诞生1.1.2 为什么需要Agent1.2 Agent的特点和未来方向1.2.1 Agent的特点1.2.2 Agent未来的发展方向1.3 AI的缺陷1.3.1 AI的幻觉1.3.2 为什AI无法取代人类1.4 为什么选择Spring AI Alibaba第2章 初识AI智能体Agent2.1准备百炼平台环境2.2 开发第一个智能体2.3 ReactAgent的概念和理论2.3.1 Agent是如何工作的2.3.2 了解工具2.3.3 提示词和消息2.3.4 输出格式化2.4 使用Spring Boot方式开发2.5 Agent现存短板与落地局限第3章 模型程序应用接口——Model API3.1 Model API模型3.2 Model和ModelOptions3.3 提示词——Prompt3.4 响应结果——ChatResponse3.5 流式响应——StreamingModel的应用3.6 绑定到智能体Agent中第4章 消息——Message4.1 消息设计4.2 使用消息4.3 助理消息是如何保存上下文的4.4 直接发送字符串4.5 消息的复制和变异4.6 ReactAgent是如何存储消息的第5章 工具——Tool5.1 工具概述5.2 使用工具5.2.1 功能回调FunctionToolCallback5.2.2 方法工具回调MethodToolCallback5.2.3 通过注解定义工具的方法5.3 工具规范5.3.1 ToolCallBack接口5.3.2 ToolDefinition——工具定义5.3.3 工具元数据——ToolMetadata5.3.4 注解Tool和ToolParam5.4 工具的执行5.4.1 开发者自己控制工具的运行5.4.2 工具异常处理5.5 工具上下文——ToolContext5.6 工具消息——ToolResponseMessage第6章 钩子Hooks和拦截器Interceptor6.1 ReactAgent的属性6.2 钩子Hooks6.2.1 ModelHook6.2.2 MessagesModelHook6.2.3 AgentHook6.2.4 MessagesAgentHook6.2.5 自定义钩子6.3 拦截器——Interceptor6.3.1 ToolInterceptor6.3.2 ModelInterceptor6.3.1 自定义拦截器第7章 短期记忆——Memory7.1 短期记忆的设计7.2 生产环境使用短期记忆7.2.1 使用RedisSaver7.2.2 使用MySqlSaver7.3 控制短期记忆上下文7.3.1 修剪消息7.3.2 删除消息7.3.3 消息摘要7.4 在工具和拦截器中访问短期记忆7.4.1 在工具中访问短期记忆7.4.2 在拦截器中访问短期记忆第8章 技能——Skill8.1 技能的使用机制8.1.1 技能的注册机——SkillRegistry8.1.2 SkillsAgentHook8.2 技能内容规范8.2.1 SKILL.md文件8.2.2 使用例子——examples8.2.3 引用——references8.3 在Skill中使用工具8.3.1 工具的使用8.3.2 渐进式工具Tool披露8.4 返回结果的格式控制8.4.1 使用outType方法控制返回格式8.4.2 使用SKILL.md描述输出8.5 使用Skill的最佳实践第9章 长期记忆9.1 长期记忆的设计和自定义9.1.1 准备环境学习store9.1.2 使用MemoryStore9.1.3 自定义Redis存储长期记忆9.1.4 自定义关系数据库存储长期记忆9.2 长期记忆的使用9.2.1 在钩子Hooks中使用长期记忆——用户偏好9.2.2 长短记忆混合使用第10章 多智能体的应用10.1 在SAA中多智能体的模式10.2 多智能体涉及的一些内容10.2.1 自定义Agent上下文10.2.2 说明Instruction占位符10.3 交接模式10.3.1 顺序执行——SequentialAgent10.3.2 并行执行——ParallelAgent10.3.3 路由——LlmRoutingAgent10.3.4 循环执行——LoopAgent10.3.5 混合使用交接模式10.4 工具调用模式第11章 向量数据库和RAG11.1 向量数据库11.1.1 安装PgVector11.1.2 向量存储VectoreStore11.1.3 距离类型和索引类型11.1.4 添加和查询向量11.1.5 用户和向量的相似度11.1 RAG三种常见的架构11.2.1 两步RAG11.2.2 Agentic RAG11.2.3 混合RAG第12章 工作流——StateGraph12.1 DAG图的三个核心概念12.2 节点12.2.1 使用NodeAction创建节点12.2.3 使用NodeActionWithConfig创建节点12.3 构建工作流12.3.1 构建流程节点12.3.2 创建工作流13.3.3 并发和聚合节点12.3 使用ReactAgent作为节点在补齐MCP和A2A协议毕竟这两个东西目前SAA存在很多坑需要重新构思如何写感觉目前达不到企业应用层级不过可以写写谈谈思路只能这样了一路踩坑过来的。
返回列表