Java智能体框架的繁荣是一种代码异味

news/2025/11/4 10:52:15/文章来源:https://www.cnblogs.com/icodewalker/p/19189441

停止构建编排框架,开始构建智能体。未来属于那些掌握生态系统的人,而不是那些被困在构建特定语言引擎中的人。

我需要坦白。我是一个框架狂热者。我的职业生涯建立在 Apache Camel 之上,我人生中的大部分成功都归功于企业集成模式的优雅。我懂。如果有一个社区值得获得诺贝尔框架奖,那就是 Java 社区。从早年在红帽公司到整个大数据生态系统,框架 15 年来一直是 JVM 世界的引擎。我们是抽象的大师。

因此,当智能体时代来临而 Java 在奋力追赶时,我的第一本能是原始的:构建一个框架。我甚至开始了一个,驱动力是这样一个想法:"AI 智能体的 Apache Camel 在哪里?"

三个月前,可能只有一个严肃的 Java 智能体框架。现在,包括 Embabel 在内,已经有了三个。竞赛开始了。但目睹这场爆炸式增长,我不得不提出一个难题:框架本身是否正在成为一种反模式?我们是否在为自己创造负担,而不是专注于真正重要的事情:构建智能体

最近 Java 智能体框架的繁荣并非一个健康、成熟生态系统的标志。它是一种症状。一种架构层面的代码坏味道,告诉我们我们的方法存在根本性问题。

我们最初为什么要构建框架?

让我们回顾一下。为什么像 Spring 和 Camel 这样的框架变得如此主流?原因清晰且合理:

  • 开发人员生产力: 我们当时淹没在样板代码中。框架将其抽象掉了。
  • 代码质量与治理: 它们提供了标准化的模式,防止每个开发人员重新发明轮子。
  • 可重用性: 它们为我们提供了经过实战检验的构造来构建,节省了大量的时间和精力。

目标是优化生产力、质量和治理。但这些是我们今天应该优化的相同参数吗?感觉我们像是在用 2010 年的方法解决 2025 年的问题,完全忽视了房间里的大象:AI 驱动的开发工具

这头大象有个名字:Cursor(及其伙伴)

在我们忙于将 LangChain 移植到 Java 时,情况发生了变化:

Cursor 和 Copilot 生成样板代码的速度比你输入 import 语句还快。你正在构建的那个复杂的链式抽象?Cursor 三秒钟就能写出来。你正在标准化的那个工具注册模式?Copilot 已经知道五种变体。

但在这里,我们需要停下来问一个更根本的问题:你的最终用户实际需要什么?

你真正需要构建什么?

让我们具体点。我们大多数人面临两种情况:

  • 场景 1: 你在未来 12 个月内构建一个关键智能体。也许它是一个每天处理 10,000 次对话的客户服务智能体。或者一个需要理解你公司特定标准的代码审查智能体。或者一个绝不能对监管要求产生幻觉的合规智能体。
  • 场景 2: 你正在构建一个智能体平台。成百上千个智能体,每个都有不同的上下文、不同的领域、不同的需求。也许你在一家咨询公司,为多个客户构建智能体。或者你正在创建一个内部平台,不同团队可以在上面启动自己的智能体。你需要可重用、适应性强、可演进的东西。一种能让你快速创建新智能体,同时保持所有智能体一致性和质量的东西。

在这两种情况下,诚实地问自己:你的用户需要一个代码框架吗?

还是他们需要完全不同的东西?

重新定义框架

在放弃我的框架并实际交付智能体之后,我学到了:我们不需要消除框架。我们需要重新定义在 AI 时代框架实际意味着什么。

  • 旧框架定义: 一种可重用的代码抽象,提供结构并处理横切关注点。你导入并在其之上构建的东西。
  • 新框架定义: 构建智能体的完整环境,一组协同工作的相互依赖的层,其中代码层只是更大拼图的一部分。

以下是现代智能体框架中真正重要的层次:

第 1 层:语言本身

Java(或你选择的语言)及其构造、类型和模式。不包装在抽象中,直接使用。语言已经是你的逻辑结构框架。你不需要在 Java 之上再加一个代码框架。Java 本身就是框架。

第 2 层:模型

一个真正好的大语言模型:GPT-5、Claude、Gemini、Grok。这不仅仅是你调用的 API。它是你技术栈的核心组件。模型的能力直接决定了你能构建什么。像选择编程语言一样仔细地选择它。

第 3 层:开发人员生产力工具

Cursor、Copilot 以及下一代 AI 驱动的开发工具。这些不是可选的。它们是关键基础设施。你的框架应设计成与这些工具无缝协作。如果 Cursor 不能轻松地按照你的模式生成代码,那么你的模式是错误的,或者你可能需要很好地描述你的模式。

第 4 层:提示词包与指南

你经过版本控制、测试、治理的提示词。你的组织语音。你的领域知识。你的合规规则。这是你的业务逻辑存在的地方——不在代码中,而在精心策划的上下文和指令中。将这些视为你的依赖构件,就像 JAR 包,但用于智能体行为。

第 5 层:生态系统 API

对新兴的专业化平台及其 API 的上下文感知。用于知识检索的向量数据库。上下文存储和内存管理系统,如 Zep 或 Cognee。工具执行平台,如 Arcade。用于智能体监控的可观测性平台,如 Langfuse。提示词管理和版本控制工具。这些大多暴露 REST API 或标准协议,大多提供 LLM.txt 用于上下文导入。你的框架需要知道这些存在,并知道如何连接到它们。

第 6 层:架构与设计模式

作为指南和模式捕获的架构思维。关于这些层如何在不同用例中组合在一起的可重用蓝图。不是代码抽象——关于路由逻辑、版本控制策略、部署模式和生态系统集成的文档化知识,这些知识成为你组织上下文的一部分。

想想看。当你构建那个关键的客户服务智能体时,真正决定其成功的是什么?

  • 调用 LLM 的 Java 代码吗?(那是 20 行代码,Cursor 写的)
  • 复杂的链式编排吗?(标准控制流)
  • 重试逻辑和错误处理吗?(Java 已经有这方面的模式)

还是:

  • 选择的模型以及它处理你领域的能力
  • 教导它你的升级规则和语气的提示词
  • 让你能快速迭代这些提示词的工具
  • 与像 Arcade(工具)和 Zep(内存)这样的平台的集成
  • 让你能够对变更进行版本控制、测试和部署的架构
  • 让你能在多个智能体中重用这种方法的设计模式

那就是你的框架。所有六层,协同工作。

实践中的框架

让我向你展示在构建智能体时的实际示例:

第 4 层(提示词包) 是版本化的构件,不是你代码中的字符串:

prompts/customer-service/v1.2/system-prompt.mdescalation-rules.mdtone-guidelines.mdproduct-context.mdexamples/refund-scenarios.yamltechnical-issues.yaml

第 5 层(生态系统 API) 配置在你的环境中:
你的生态系统上下文嵌入在指南中:

# 生态系统集成指南## 工具发现
- 调用 Arcade API 列出可用工具: GET /tools
- 参考: 查看 Arcade LLM.txt 位于 https://docs.arcade.dev/llms.txt## 内存管理
- Zep 会话 API: https://api.getzep.com/v2/sessions/{session_id}
- 参考: 查看 Zep API 文档位于 https://docs.getzep.com## 基础设施与存储
- 用于提示词构件的对象存储: S3, GCS, 或 Azure Blob
- 用于长时间运行工作流的状态持久化

第 1 层(Java) 提供结构,干净简单:

public class CustomerServiceAgent {private final Model model;private final PromptPack prompts;private final ArcadeClient tools;private final ZepMemory memory;public Response handle(CustomerQuery query) {// 检索会话内存var history = memory.getSession(query.sessionId());// 从 Arcade 获取可用工具var availableTools = tools.listTools();// 使用上下文渲染提示词var context = prompts.render("main", query, history, availableTools);return model.complete(context);}
}

第 3 层(Cursor) 在几秒钟内生成这段代码。你专注于架构。

第 6 层(架构) 指南:

# 智能体架构指南## 工作流路由
- 为多节点智能体工作流设计路由逻辑- 分类节点 → 路由到专家节点(支持、销售、技术)- 复杂性分析 → 路由到适当的模型层级(GPT-4o vs GPT-3.5)- 工具选择节点 → 根据用户意图路由到工具执行节点
- 通过 Arcade 网关路由工具执行:集中认证、速率限制、工具发现
- 提示词版本的 A/B 路由:10% 到 v2.0,90% 到 v1.5,监控质量## 速率限制与节流
- 每用户令牌预算:10K 令牌/天(免费),100K(付费)
- 队列管理:最大 100 个并发请求,溢出到 SQS...
..
..

为什么这个框架能扩展

  • 对于一个关键智能体: 选择你的模型(第 2 层),编写清晰的代码(第 1 层),用 Cursor 迭代(第 3 层),优化提示词(第 4 层),集成生态系统 API(第 5 层),遵循架构模式(第 6 层)。
  • 对于一千个智能体: 相同的模型,相同的架构模式,相同的生态系统 API,但每个智能体都有自己的提示词包。Cursor 生成样板代码。你的语言提供结构。生态系统处理难题。

美妙之处何在?各层协同工作。Cursor 生成代码是因为模式简单。提示词是独立版本控制的。集成使用 REST API。架构无需抽象即可实现重用。

不需要编排框架。这就是框架。

引擎与 SDK 的问题

让我澄清一下:我并不是说所有框架都应该消失。我对 LangChain、LangGraph、Mastra、CrewAI、Autogen 等团队所构建的东西怀有极大的敬意。但我们需要理解一个在急于将所有东西移植到 Java 的过程中被忽视的关键区别。

不要混淆引擎SDK

我的意思是:我迫不及待地想用 Java 开发完整的智能体。我热爱 Java。但我不想仅仅因为我想用 Java 开发智能体就要一个 Java 引擎

考虑这些例子:

  • LangChain4J? 作为连接更广泛的 LangChain 生态系统的 SDK,这是一个很好的开始。你用 Java 编写,但你正在利用一个经过验证的引擎。
  • 带有 Java SDK 的 Crew AI? 完美。在 Python 中掌握编排模式,然后给我一个 Java 接口来使用它们。
  • 支持多语言的 Mastra? 正是正确的方向。构建一次引擎,为每种语言提供 SDK。
  • 为使用 Go 构建的 Not7 添加 Java SDK 或任何语言 SDK?

这里的模式是?用你喜欢的语言开发,而无需用该语言重建整个引擎。

编排层正在变薄

这就是为什么我认为即使是 SDK 方法也可能是暂时的,或者至少变得非常精简的原因:

  • 一方面: 模型正变得 dramatically 更好。GPT-5、Claude 4.5、Gemini 2.5 Pro、Grok 的推理能力使得复杂的编排模式过时了。它们可以用简单的提示词处理多步骤工作流,而这在六个月前需要复杂的链。
  • 另一方面: 真正的工程问题正在由专业平台解决。以 Arcade 为例:工具发现、认证、大规模执行、处理速率限制、管理工具版本。这才是艰难的工程工作所在。工具管理不再是编排问题;它是在平台层解决的基础设施问题。
  • 在中间: 编排框架正被挤压得越来越薄。

当你的模型能够推理工作流,并且平台处理复杂的工程问题(工具、内存、上下文)时,编排还剩下什么?

答案是:非常少。这就是为什么工程重点需要从编排转向更广泛的智能体开发挑战——提示词管理、生态系统集成、工具决策可审计性、成本优化。真正的问题已不在编排之中。

新现实:AI 原生框架

代码坏味道不仅仅是我们构建了太多框架。而是我们正在为一个不复存在的世界构建框架。以下是 2025 年构建框架实际意味着什么:

方面 过去的框架思维模式 (2005-2024) 下一代框架思维模式 (2025+)
定义 需要导入的代码库 跨越6个层级的完整环境
业务逻辑 位于代码抽象中 位于版本化提示词与指南中
关键构件 JAR 文件、软件包 提示词、上下文、API 知识
可重用性 代码继承与组合 架构模式与蓝图
开发工具 用于编写代码的 IDE 用于生成代码的 AI 工具(如 Cursor)
生态系统 自包含、单体式 集成专业化平台
样板代码 由框架抽象处理 由 AI 在几秒内生成
你导入/使用什么 Spring、Camel、框架 JAR 包 无需导入——你只需组合这些层级
  1. 接受 AI 驱动的开发现实 每个构建智能体的开发人员都将使用 Cursor、Copilot 或类似工具。这不是趋势——这是新的基线。设计你的框架以与 AI 代码生成无缝协作,而不是背道而驰。如果 Cursor 无法理解你的模式,那你的模式就是错的。
  2. 你的框架是纯文本英语,而不仅仅是代码 你的框架最关键部分将是精心设计的提示词、清晰的指南和结构化的上下文——而不是聪明的抽象。这些是你的版本化构件。这些决定了智能体行为。像对待代码一样严格对待它们。
  3. 当你需要 SDK 时,不要重新发明引擎 是的,Java SDK 至关重要。但你不需要仅仅为了用 Java 编写智能体就重建整个编排引擎。生态系统已经有平台在解决难题:内存(Zep, Mem0)、工具(MCPs, Arcade)、向量(Weaviate, Pinecone, Qdrant)、可观测性等。集成,不要重建。
  4. 框架仍然至关重要——但不是为了编排 如果你正在解决真正的问题——提示词版本控制、决策可审计性、生态系统集成模式、成本优化——那就构建这些。但编排?生态系统已经向前发展了。内存、工具、上下文、可观测性正由专业平台解决。将你的创新重点放在其他地方。
  5. 相信你的语言 如果你觉得你选择的语言中缺少一个框架,请退后一步。现代语言——Java、Python、TypeScript、Go——非常强大。凭借它们的最新特性加上 AI 代码生成工具,你可以用干净、简单的代码构建复杂的智能体。你的语言不是限制——试图用不必要的抽象包装它才是。

未来的框架不是你导入的代码库。它是对六个相互依赖层的掌握:你的语言、你的模型、你的开发工具、你的提示词、你的生态系统集成和你的架构。

也许我们不需要另一个智能体框架。也许我们所需要的只是一个智能体,一个能用你选择的语言创建智能体的智能体。一个开源的就更好了。


【注】本文译自:Java's Agentic Framework Boom is a Code Smell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

faust-音高包络

faust-音高包络import("stdfaust.lib"); en = library("envelopes.lib");pitch_a = hslider("a[style:knob]",0,0,0.1,0.1); pitch_d = hslider("d[style:knob]",0,0,0.3,0.1…

9.8:chrome Dev Tools

1.打开:1.菜单,更多工具,开发者工具 ​ 2.F12 ​ 3.CTRL+shift+I ​ 4.右键:检查 2,命令:CTRL+shift+P 3.常用选项卡:元素:elements ​ 控制台:consol…

2025年比较好的欧洲品牌三段力缓冲铰链厂家最新权威推荐排行榜

2025年比较好的欧洲品牌三段力缓冲铰链厂家最新权威推荐排行榜 随着家居五金行业的快速发展,三段力缓冲铰链作为现代橱柜、衣柜等家具的核心配件,其品质直接影响家具的使用寿命和用户体验。欧洲品牌以其精湛的工艺、…

calico VXLAN 模式有哪些

模式同子网通信跨子网通信性能网络要求推荐场景Never 直接路由 直接路由* 最优 节点间路由可达 BGP 网络环境Always VXLAN 封装 VXLAN 封装 较好 节点 IP 可达 简单 Overlay 网络CrossSubnet 直接路由 VXLAN 封装 最佳…

【2025-11-03】老弟买车

20:00不要以成功为目标——你越是对它念念不忘,就越有可能错过它。因为成功如同幸福,不是追求就能得到,它是一个人全心全意投入并把自己置之度外时,意外获得的副产品。——米哈里契克森米哈赖周末,借老家高中校庆…

2025年靠谱的特教设备最新TOP厂家排名

2025年靠谱的特教设备最新TOP厂家排名 随着特殊教育行业的快速发展,特教设备的需求日益增长。优质的设备不仅能提升教学效果,还能为特殊儿童提供更科学、更人性化的支持。2025年,哪些特教设备厂家值得信赖?本文基…

YOLO检测工作记录

YOLO(包括 YOLO11)不会自动把 34003000 的图裁成小块,而是直接缩放整图。如果其中的小目标被缩小得太小,就可能被忽略。要检测小目标,必须手动切图或提高输入分辨率,因此针对表面缺陷检测,可分两阶段,第一阶段…

lstio

lstio明白了,你希望我给出一份 严格完整、官方级别的 Istio 排查文档,必须包含以下内容:Istio 核心组件全景每次请求是否都需要 XDS 下发及其详细机制流量与组件组合图(包括 XDS 下发过程)完整排查命令、对应组件…

2025年比较好的珍珠棉缓冲垫片厂家最新推荐权威榜

2025年珍珠棉缓冲垫片厂家权威推荐榜:精选TOP5优质供应商 珍珠棉(EPE)缓冲垫片因其轻质、高弹性、防震抗压和环保特性,已成为电子产品、医疗器械、家具物流等领域的核心包装材料。随着市场需求升级,选择技术成熟…

2025年靠谱的昆山绿化维护高评价厂家推荐榜

2025年靠谱的昆山绿化维护高评价厂家推荐榜 随着城市化进程的加快,绿化维护在提升城市环境质量、改善居民生活品质方面发挥着重要作用。昆山作为经济发达地区,对绿化工程的需求日益增长。选择一家专业、可靠的绿化维…

2025年11月办公家具公司推荐榜:十强品牌资质与场景适配全评价

年底集中采购季,行政负责人常面临“预算锁死、工期倒排、环保审查”三重压力:既要赶在11月下单确保12月进场,又要在有限预算内通过招标平台的环保资质初审,还要让不同部门在风格、功能、交付节点上达成一致。政策层…

2025年11月办公家具公司推荐榜:十强对比评测与资质环保全解析

正在打开新办公室的你,可能正被“工期紧、预算有限、环保要达标、风格还得匹配品牌调性”四重压力夹击。2025年第四季度,北京及周边新增企业注册量环比再增7.8%,带动办公家具采购需求集中释放;同时,《政府采购绿色…

2025年比较好的磨床厂家最新推荐权威榜

2025年比较好的磨床厂家最新推荐权威榜 在制造业高速发展的今天,磨床作为精密加工的核心设备,其性能和质量直接影响产品的精度和生产效率。2025年,随着智能制造和自动化技术的进一步普及,市场对高精度、高稳定性磨…

2025年质量好的自动车载灭火器TOP品牌厂家排行榜

2025年质量好的自动车载灭火器TOP品牌厂家排行榜 随着汽车保有量持续增长,车载安全设备需求激增,自动车载灭火器成为预防车辆自燃的核心装备。本文基于产品性能、技术创新、用户口碑及市场反馈,精选2025年五大优质…

安装 Lando v3.25.6和drupal11

安装 Lando v3.25.6和drupal11# save the script curl -fsSL https://get.lando.dev/setup-lando.sh -o setup-lando.sh# make it executable chmod +x ./setup-lando.sh# get usage info bash setup-lando.sh 安装dru…

2025年11月平层全屋定制公司推荐榜:工艺环保与交付速度深度对比

正在准备精装或整装的平层业主,往往面对“风格统一、收纳扩容、环保达标、交付准时”四大痛点:风格碎片导致空间失序、收纳不足让豪宅变仓库、甲醛超标引发健康焦虑、工期拖延令入住遥遥无期。2025年住建部《住宅室内…

git常用的指令-(工作中常用)

在工作中,使用Git进行版本控制是非常常见的。下面是一些常用的Git指令:初始化一个Git仓库:git init 该命令会在当前目录下创建一个新的Git仓库。克隆一个远程仓库:git clone <远程仓库地址>该命令会将远程仓…

在jmeter中http get测试

步骤:在已经创建的http请求中,

2025年质量好的锚固旋喷钻机厂家推荐及选购参考榜

2025年质量好的锚固旋喷钻机厂家推荐及选购参考榜 开篇介绍 锚固旋喷钻机作为现代工程施工中的重要设备,广泛应用于地基加固、边坡支护、隧道工程等领域。随着技术的不断进步,市场对钻机的性能、稳定性和售后服务提…

2025年评价高的无锡写字楼绿植租赁用户口碑最好的厂家榜

2025年评价高的无锡写字楼绿植租赁用户口碑最好的厂家榜 在现代化办公环境中,绿植租赁已成为提升空间品质、优化空气质量、增强员工幸福感的重要选择。无锡作为长三角经济圈的核心城市,写字楼经济蓬勃发展,企业对高…