news 2026/10/14 13:15:59

17、LLM Agent框架介绍(一)服务端Agent

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
17、LLM Agent框架介绍(一)服务端Agent

前面几篇,我们分别讲了 LLM 应用场景的三项能力拓展:工具调用、思考规划、记忆体系。

这三项能力不是拍脑袋定的,它们对应着 Lilian Weng(OpenAI 前研究与安全副总裁)那篇著名博文《LLM Powered Autonomous Agents》里的经典论断——在一个以大语言模型驱动的自主智能体系统中,LLM 充当系统的大脑,然后辅以三个关键组件:Planning(规划与决策)、Memory(记忆体系)以及 Tool use(工具调用)。

如今 Agent 生态已经非常成熟,这三项能力基本都被各类 Agent 框架封装实现,不需要应用侧从零自研。于是问题就变成了:框架这么多,到底该怎么选?

要回答这个问题,得先有个分类维度。最直观的一个是部署位置——按这个维度,现代 Agent 可以分成两大阵营:

  • 服务端 Agent(如 LangGraph、CrewAI):运行在远程云端服务器或容器中;
  • 客户端 Agent(如 WorkBuddy、Claude Code):运行在用户本地电脑上。

两者在交互模式和安全隔离上差别很大。这一篇先聊服务端 Agent,下一篇再讲客户端 Agent。

01 应用工程内嵌运行模式

假设业务应用的技术栈是 Java,而业务对 Agent 能力的使用又不太复杂,那最省事的做法是:直接在 Spring Boot 项目里引入Spring AI或LangChain4j依赖——这两个框架都兼容 Java 开发风格。

引入之后,Agent 的三大能力是怎么落地的?

工具调用:通过注解的方式,把 Java 项目中的某个方法注册为 Agent 的「工具」。框架会自动把这个方法的参数描述提取出来发给大模型;当大模型判断需要用这个工具时,框架会自动在本地反射执行这个 Java 方法,并把结果送回大模型。

记忆能力:通过拦截器在每次对话前后自动读取和保存历史记录。短期记忆用内存保存,或接入 Redis、JDBC 等实现持久化存储;长期记忆则用框架内置的 RAG 向量存储与检索组件,把用户的长期偏好或企业文档转化为向量,作为 Agent 的长期记忆。

规划决策:本质上依赖两种机制——模型自身的推理能力(如 Chain-of-Thought / ReAct 提示词范式)与框架的循环调度 / 状态机驱动。

依赖大致长这样:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>1.0.0-M5</version></dependency>

这种模式的优势很明确:

  1. 技术栈统一:整个项目都是 Java 开发的,不需要额外兼容 Python 运行环境;
  2. 上手成本低:内嵌运行模式对开发人员来说更贴近原本的开发风格,熟悉度更高。

02 独立 Agent 服务模式

第二种做法,是把 Agent 框架作为独立的微服务部署在单独的服务器 / 容器中,业务系统(如 Java / Spring 业务后端)通过 HTTP / gRPC / WebSocket 接口来调用它:

[用户端] ▼ [Spring Boot 业务主服务] ▼ [Agent 独立服务] ▼ [API 网关] ▼ [推理引擎服务]

这种架构主要用于在后端构建可预测、可控制、高可靠的复杂 Agent 业务流程。落到具体框架,目前比较常见的有四个。

LangChain:把 Agent 能力做成基础组件

最早的是LangChain,目标是标准化大模型应用开发。它采用的是单向流动的链式结构(Chain),非常适合顺序明确的任务,比如输入 → 检索文档 → 总结回答。

但问题也出在这儿:有些 Agent 任务的逻辑是非线性的,需要循环、分支以及断点续跑的能力,单向链就有点力不从心了。

适用场景:简单的 RAG、单次流水线任务。

LangGraph:把流程抽象成有向有环图

后来 LangChain 官方推出了现在最火的LangGraph。它放弃了简单的单向链,把流程抽象为有向有环图(Stateful Graph),并引入三大核心能力:

  • 支持循环(Loops):可以表达「思考 - 行动 - 评估 - 重试」这类迭代逻辑;
  • 全局状态(State):跨节点共享状态对象,用于支撑判断逻辑和分支执行;
  • 断点与人工干预(Human-in-the-loop):可以在图的任意节点暂停,把中间状态持久化到数据库,等待人类审批或补充输入之后再继续运行。

适用场景:企业级复杂 Agent、带人工审批的场景。

CrewAI:把自动化流程包装成一支团队

Crew 原本指的是船务、机务这类有明确角色分工的组织。CrewAI 的设计理念正是模拟人类团队分工:给每个 Agent 固定的角色、目标和背景故事,分配任务,让它们自动协作完成目标——相当于把复杂的自动化流程,包装成一支 AI 岗位分工清晰的团队,各司其职。

适用场景:内容创作团队(研究员 → 撰稿人 → 审稿人)、市场调研、数据分析等有清晰岗位分工和交付文档的业务流程。

AutoGen:更像一个「学术研讨组」

AutoGen 和 CrewAI 一样专注「多智能体(Multi-Agent)」协作,但设计理念完全不同。CrewAI 是岗位明确、流程明确;AutoGen 更像一个学术研讨组——基于 Agent 之间的对话、讨论、辩论,以及在沙箱中写代码跑测试,来共同解决开放性的难题。

适用场景:解决开放式难题,涉及大量编写与真实运行代码 / 数据分析的任务。

03 为什么更多企业选独立部署?

同样是「跑在服务端」,为什么不少企业愿意多花成本,把 Agent 拆成独立服务?主要有五条理由。

1. 技术解耦

独立部署服务通过接口调用的方式暴露能力,不需要考虑与应用服务的技术栈兼容问题。而且现实里,写业务流程的和写 Agent 流程调优的往往是不同的工程师,独立部署能让这两拨人更好地并行开展工作。

2. 生态红利

AI 开源生态以 Python 为主——一些前沿的 AI 能力开源库基本都是 Python 首发、迭代也最快,Java 生态同步过来会存在明显的「时间差」。

3. 资源隔离

Agent 任务经常包含多次 LLM 推理、工具调用以及本地文档解析处理,响应时间长且存在密集型计算开销。内嵌运行的模式很容易影响到 Java 主业务服务的正常运行;独立部署就没有这个风险,而且可以根据业务服务与 Agent 服务各自的特性单独做资源扩容。

4. 安全隔离

如果 Agent 需要具备「执行代码」或「操控浏览器爬取网页」的能力,独立 Agent 服务可以在 Python 侧非常方便地挂载 Docker 沙箱;而在 Java 进程里,很难在 JVM 内部安全地隔离出一个代码执行环境。

5. 系统共享

把 Agent 建设为独立服务之后,不只当前业务应用可以通过接口调用它,公司其他应用也可以复用同一个 Agent 服务接口,避免在各个系统里重复编写相同的 Prompt 和 Agent 流程。

04 Agent 智能体平台模式

第三种形态是平台化。这类框架(如 Dify、Coze)通常自带 Web 前端图形化界面,支持拖拽编排工具与工作流,并能一键暴露 REST API 给业务系统。

它们内置了非常强大的Workflow(工作流)编辑器,把 Prompt、RAG、Agent 节点可视化连接起来,还支持多租户和 Prompt 版本管理。上手门槛极低,更适合提供给非技术人员使用。

∞ 总结

把服务端的三种形态放在一起看,选择逻辑其实很清晰:

  • 内嵌运行:技术栈单一、Agent 需求简单时最省事,改动量最小;
  • 独立服务:需要资源隔离、安全隔离、跨系统复用时,多付的部署成本是值得的;
  • 智能体平台:要让非技术人员也能参与编排时,图形化是最高效的入口。

它们之间不是替代关系,而是随需求复杂度逐级演进的三条路。

下一篇,我们把视角从云端切到本地——聊聊客户端 Agent:当 AI 真正拿到你电脑的文件系统、终端和鼠标键盘,它的架构会变成什么样。

觉得有用的话,点个赞和在看,让更多做安全、做 AI 的朋友看到;也欢迎评论区聊聊你们公司最后选了哪种部署形态。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 13:15:38

自研室内地图系统:语义地图与机器人导航的落地之路

当时立项"lingbot-map"这个子项目的时候&#xff0c;团队内部的争论其实不小。核心产品是那台叫"lingbot"的客服引导机器人&#xff0c;硬件、语音、业务逻辑都排着队等开发资源&#xff0c;为什么非要自研一套地图模块&#xff0c;而不是直接接某个现成的…

作者头像 李华
网站建设 2026/10/14 13:15:37

SLAM地图工程化:从栅格图到可复用导航地图的落地实践

做机器人项目的时候&#xff0c;很多人都会忽略一件事&#xff1a;SLAM能建图&#xff0c;不等于地图能直接用。尤其是当你从一台样机走向多个场景、多台机器人的时候&#xff0c;地图的存储、切换、标注、坐标系统一这些问题会一个个冒出来&#xff0c;每一个都能卡住你半天。…

作者头像 李华
网站建设 2026/10/14 13:15:34

Flutter导航与路由:核心机制与实战优化

1. 导航与路由在Flutter开发中的核心价值在移动应用开发中&#xff0c;页面跳转是最基础也最频繁的用户交互场景。Flutter作为跨平台开发框架&#xff0c;其导航与路由系统的设计直接影响着应用的流畅度和用户体验。与传统Native开发不同&#xff0c;Flutter的导航管理完全由框…

作者头像 李华
网站建设 2026/10/14 13:15:15

VS2015 编译 gRPC 1.28 C++ 库实战指南

简介&#xff1a;本资源为 gRPC 1.28 在 Windows 平台配合 Visual Studio 2015 的 C 编译库&#xff0c;面向需要在 Windows 下开发跨语言微服务通信的 C 工程师与学习者。它解决了在旧版 VS 环境中搭建 gRPC 与 protobuf 3.11 开发环境的繁琐问题&#xff0c;省去自行编译依赖…

作者头像 李华
网站建设 2026/10/14 13:15:09

中英双语医疗器械网站源码:从静态多页结构到语言切换与SEO

简介&#xff1a;中英双语医疗器械公司网站源码是一套面向医疗健康领域的企业官网模板&#xff0c;以淡绿色为主色调&#xff0c;营造清新、专业的视觉体验&#xff0c;适用于医疗器械生产商、贸易商及健康服务机构搭建品牌展示平台&#xff0c;也适合ASP学习者研究多语言站点的…

作者头像 李华
网站建设 2026/10/14 13:15:01

HDFS与Ozone数据删除机制深度对比:从元数据标记到磁盘释放的全链路解析

1. 项目概述&#xff1a;为什么删除操作在分布式存储里从来不是“按一下Delete键”那么简单HDFS和Ozone的数据删除原理对比思考——这个标题乍看像一篇学院派论文&#xff0c;但实际是我在某大型数据平台运维一线踩了三次坑、重读七遍源码、配合三轮压测后写下的实操笔记。如果…

作者头像 李华