news 2026/6/15 20:39:34

又一个项级的 Java Multi Agent 开源项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
又一个项级的 Java Multi Agent 开源项目

你好,我是阿香。

前几天,技术群里的小伙伴一直在安利 Solon AI。起初我还在想,Java 生态里不是已经有 Spring AI 了吗?出于好奇,我抽空深入研究了一波,结果真香了!

这不仅是一个 AI 框架,它更像是为 Java 开发者量身定制的 “智能体指挥部”。今天就来聊聊这个让我眼前一亮的顶级 Java Multi-Agent 开源项目。


什么是 Solon AI?

简单来说,Solon AI 是 Solon 生态中专注 AI 应用开发的轻量级框架。如果说大语言模型(LLM)是 AI 的大脑,那么 Solon AI 就是它的 “神经中枢” 和 “拓扑指挥官”。

它不仅仅提供了多智能体协作的架构,其核心竞争力在于:极致的轻量化、多协议编排能力以及天然的微服务基因。


Solon AI 与 Spring AI 有哪些不同?

很多小伙伴会问:“既然有了 Spring AI,我为什么要看 Solon AI?”

两者的设计哲学完全不同:

  • Spring AI:更像是一个“集成商”,侧重于把 LLM 包装成一种资源(如 Data Source 一样)融入 Spring 业务流。它擅长的是简单的 RAG 和聊天。
  • Solon AI:原生为 Agentic(智能体)范式 而生。它强调的是“协议(Protocol)”,通过多种团队协议(TeamProtocols)决定任务如何在 Agent 间流转。它更适合构建像“自动化软件公司”、“复杂风控博弈”这种需要多智能体深度协作的应用。

就像我常说的:“没有银弹,选适合自己的”。如果你追求毫秒级启动、追求对协作逻辑的精细控制,Solon AI 会让你爽到飞起。


Solon AI 为什么强?

  1. 八大协作协议(TeamProtocols):这是它的杀手锏。从顺序流(Sequential)、层级制(Hierarchical)到去中心化的点对点(A2A)和模拟生物逻辑的蜂群协议(Swarm),它把多智能体协作玩出了花。
  2. 死循环熔断机制:独创的“信息素惩罚”机制,能自动发现并拦截智能体之间的“踢皮球”行为,防止 Token 在死循环中白白燃烧。
  3. 确定性保障:内置 TeamTrace 溯源。Agent 之间怎么沟通的、谁在摸鱼、谁在胡言乱语,路径回放得清清楚楚。
  4. Java 原生友好:利用@ToolMapping注解,直接把你的 Java 方法变成 Agent 的技能,配合 ONode 进行结构化数据处理,对 Java 开发者极其友好。
  5. 极致性能:延续了 Solon 框架的基因,包体积极小,冷启动飞快。

快速入门

1) 引入依赖

在你的 pom.xml 中引入 Solon AI 的智能体核心包:

/* by yours.tools - online tools website : yours.tools/zh/generatepolkadotwallets.html */ <dependency> <groupId>org.noear</groupId> <artifactId>solon-ai-agent</artifactId> </dependency>
2) 基础智能体创建

只需几行代码,就能创建一个具备身份意识的 Agent。

/* by yours.tools - online tools website : yours.tools/zh/generatepolkadotwallets.html */ // 初始化模型(支持 OpenAI, DeepSeek, Qwen 等) ChatModel chatModel = LlmUtil.getChatModel(); // 创建一个专业助手 SimpleAgent assistant = SimpleAgent.of(chatModel) .systemPrompt(SimpleSystemPrompt.builder() .role("Java专家") .instruction("你是一个精通 Solon 框架的 Java 专家。") .build()) .build(); // 对话 String result = assistant.prompt("Solon AI 怎么选协作协议?").call().getContent(); System.out.println(result);
3) 巅峰对决:多智能体协作(TeamAgent)

这是 Solon AI 最迷人的地方。我们可以轻易编排一个智能体协作的梦之队。

public void testA2AFlowWithRole() { ChatModel chatModel = LlmUtil.getChatModel(); // 1. 前端开发者:负责编写代码并“移交” Agent webDeveloper = SimpleAgent.of(chatModel).name("WebDeveloper") .systemPrompt(SimpleSystemPrompt.builder() .role("资深前端开发者") .instruction("任务:根据用户需求编写完整的 HTML/JS 代码。\n" + "协作:写完后请交给 Reviewer 审查代码质量。直接输出代码,不要用 Markdown 格式。") .build()) .build(); // 2. 审查者:负责质量把关 Agent reviewer = SimpleAgent.of(chatModel).name("Reviewer") .systemPrompt(SimpleSystemPrompt.builder() .role("首席架构师") .instruction("任务:审查 WebDeveloper 提交的代码,查找安全隐患和性能瓶颈。\n" + "协作:如果代码合格,请交给 Archiver 归档;如果不合格,请打回给 WebDeveloper。") .build()) .build(); // 3. 归档员:负责总结 Agent archiver = SimpleAgent.of(chatModel).name("Archiver") .systemPrompt(SimpleSystemPrompt.builder() .role("文档管理员") .instruction("任务:总结最终通过审查的代码功能,并生成唯一的版本快照编号。") .build()) .build(); // 编排 A2A 团队 TeamAgent devTeam = TeamAgent.of(chatModel) .protocol(TeamProtocols.A2A) // 核心:开启点对点直连协议 .agentAdd(webDeveloper, reviewer, archiver) .maxTurns(6) // 兜底:防止 Reviewer 和 Developer 陷入无限改 Bug 循环 .build(); // 执行任务 AgentSession session = InMemoryAgentSession.of("project_v1"); String result = devTeam.call(Prompt.of("帮我写一个实现点击按钮换背景颜色的网页"), session).getContent(); // 溯源:你会看到 WebDeveloper -> Reviewer -> Archiver 的闪电接力 TeamTrace trace = devTeam.getTrace(session); System.out.println("博弈链路: " + trace.getRecords().stream().map(r -> r.getSource()).toList()); System.out.println("最终交付成果:\n" + result); }

进阶能力:不只是协作

  • A2A(Agent-to-Agent)协议:支持 Agent 之间的“直接移交”。当 A 处理不了时,它可以直接把任务“甩”给 B,响应速度极快。
  • 结构化输出控制:通过 ONode 配合 Prompt 约束,Solon AI 能把 AI 那些天马行空的回复,精准解析成你 Java 里的 POJO 对象。
  • 路径断言单测:你可以像写 JUnit 一样写 Agent 测试。不只是断言结果字符串,而是断言执行记录:
assert team.getTrace(session).getRecords().stream() .anyMatch(s -> ContractNetProtocol.ID_BIDDING.equals(s.getSource()))。

总结

研究完 Solon AI 后,我最大的感受是:AI 应用开发正在从“单兵作战”转向“兵团作战”。

Solon AI 的出现,给了 Java 开发者一个强大的武器库:

  1. 不再需要羡慕 Python 生态:Java 同样能优雅地玩转 Multi-Agent。
  2. 工程化程度极高:它解决了 AI 输出不可控、协作过程黑盒等生产痛点。
  3. 微服务天然集成:每一个 Team 都可以是一个微服务,这太符合企业级架构的演进方向了。

如果你正准备在 Java 项目里接入 Agent,Solon AI 绝对值得你加入 Star 列表。

Github 地址:https://github.com/noear/solon-ai

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

Linux内核中SPI 子系统的整体架构

SPI 子系统的整体架构 用户空间应用程序↓spidev.c (字符设备驱动&#xff0c;可以用内核写好的通用字符设备驱动&#xff0c;也可以自己写)↓ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━SPI 核心层 (spi.c)- 注册/注销 SPI Master- 注册/注销…

作者头像 李华
网站建设 2026/6/15 13:13:06

为何标准化蓝牙功能的通信至关重要

蓝牙是全球范围内安全、灵活、可靠、便捷的无线连接基准。如今&#xff0c;全球数十亿台蓝牙设备正被个人、企业与行业以各类方式使用&#xff0c;未来还会有更多设备接入。毫不夸张地说&#xff0c;世界的运转已离不开蓝牙技术。蓝牙技术联盟&#xff08;SIG&#xff09;与成员…

作者头像 李华
网站建设 2026/6/15 13:07:19

Jmeter请求发送加密参数

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快最近在做http加密接口&#xff0c;请求头的uid参数及body的请求json参数都经过加密再发送请求&#xff0c;加密方式为&#xff1a;ase256。所以&#xff0c;jmeter发…

作者头像 李华
网站建设 2026/6/15 18:18:50

接口加密了怎么测?

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、定义加密需求确定哪些数据需要进行加密。这可以是用户敏感信息、密码、身份验证令牌等。确定使用的加密算法&#xff0c;如对称加密&#xff08;如AES&#…

作者头像 李华
网站建设 2026/6/15 18:03:50

利用ai搜索文献:提升学术研究效率与文献检索质量的实践探讨

做科研的第一道坎&#xff0c;往往不是做实验&#xff0c;也不是写论文&#xff0c;而是——找文献。 很多新手科研小白会陷入一个怪圈&#xff1a;在知网、Google Scholar 上不断换关键词&#xff0c;结果要么信息过载&#xff0c;要么完全抓不到重点。今天分享几个长期使用的…

作者头像 李华
网站建设 2026/6/15 14:58:56

2026聚焦:AI驱动的智能安全检测技术革新——从异常分析到自动化响应

一&#xff0c;网络安全漏洞 安全威胁是指所有能够对计算机网络信息系统的网络服务和网络信息的机密性&#xff0c;可用性和完整性产生阻碍&#xff0c;破坏或中断的各种因素。安全威胁可分为人为安全威胁和非人为安全威胁两大类。 1&#xff0c;网络安全漏洞威胁 漏洞分析的…

作者头像 李华