news 2026/5/23 18:03:23

Java 版的 AutoGPT?基于 Semantic Kernel (Java SDK) 构建全自动任务规划 Agent

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 版的 AutoGPT?基于 Semantic Kernel (Java SDK) 构建全自动任务规划 Agent

🦁 前言:Java 程序员的 AI 困境

2024 年了,AI 圈子似乎全是 Python 的天下。
你想写个 Agent,网上的教程全是pip install langchain
而在企业内部,我们的业务系统全是Spring Boot,微服务全是Java

“难道为了接个 AI,我要在生产环境引入 Python 运行时吗?”运维大哥手里的板砖已经举起来了。

别慌!微软给 Java 开发者送来了一把神兵利器——Semantic Kernel (SK)
不同于 LangChain 的野蛮生长,SK 是微软官方出品,专为企业级应用设计。它天生支持 C# 和Java,拥有强大的**Planner(规划器)**能力,能让你用 Java 写出类似AutoGPT的全自动任务智能体。

今天,我们就用 Java + Semantic Kernel,手搓一个能自动拆解任务、自动调用工具的 AI Agent!


🧠 核心原理:Planner 是如何“无中生有”的?

Semantic Kernel 的核心魔力在于Planner
普通的 AI 只能回答问题,而带 Planner 的 Agent 能办事

当你给出一个指令:“帮我查询下周三北京的天气,并给老板写一封邮件建议是否取消出差。
Planner 会自动思考并生成如下计划:

  1. 调用WeatherPlugin.getWeather(city="Beijing", date="Next Wednesday")
  2. 获取天气结果。
  3. 调用EmailPlugin.generateContent(weather=...)
  4. 调用EmailPlugin.send(...)

SK 架构流程图:

执行阶段
核心大脑
读取可用工具
生成执行计划
步骤1: 查天气
步骤2: 写邮件
步骤3: 发送
Planner 规划器
Semantic Kernel
Java Plugins 工具箱
Plan 执行链
用户指令
最终结果

🛠️ 实战开发:Java Agent 起飞

1. 引入依赖

我们需要微软官方的 SK 包。

<dependency><groupId>com.microsoft.semantic-kernel</groupId><artifactId>semantickernel-api</artifactId><version>1.0.0-beta</version></dependency><dependency><groupId>com.microsoft.semantic-kernel</groupId><artifactId>semantickernel-connectors-ai-openai</artifactId><version>1.0.0-beta</version></dependency>
2. 定义“超能力” (Native Plugins)

这是 Agent 的手脚。我们用标准的 Java 注解@DefineKernelFunction来定义工具。

publicclassSystemTools{@DefineKernelFunction(name="get_current_time",description="获取当前系统时间")publicStringgetCurrentTime(){returnLocalDateTime.now().toString();}@DefineKernelFunction(name="send_email",description="发送邮件")publicStringsendEmail(@KernelFunctionParameter(name="recipient",description="收件人")Stringrecipient,@KernelFunctionParameter(name="content",description="邮件内容")Stringcontent){// 模拟发邮件逻辑System.out.println("📧 正在发送邮件给: "+recipient);System.out.println("📄 内容: "+content);return"发送成功";}}
3. 组装 Kernel 与 Planner

这是见证奇迹的时刻。我们将 LLM、工具和规划器组装在一起。

importcom.microsoft.semantickernel.Kernel;importcom.microsoft.semantickernel.planner.actionplanner.ActionPlanner;publicclassJavaAutoGPT{publicstaticvoidmain(String[]args){// 1. 初始化 Kernel (配置 OpenAI/Azure)Kernelkernel=Kernel.builder().withAIService(getOpenAIService())// 这里配置你的 Key.build();// 2. 导入我们的工具kernel.importPluginFromObject(newSystemTools(),"SystemTools");// 3. 创建规划器 (ActionPlanner 适合单一目标,SequentialPlanner 适合多步骤)// 注意:Java SDK 的 Planner 还在快速迭代中,API 可能会变varplanner=newActionPlanner(kernel,null);// 4. 用户指令Stringgoal="既然现在是下午了,给老板(boss@company.com)发个邮件说我下班了。";// 5. 自动生成计划并执行try{varplan=planner.createPlan(goal);System.out.println("🤖 AI 生成的计划: "+plan.getDescription());varresult=plan.invokeAsync(kernel.createNewContext()).block();System.out.println("✅ 执行结果: "+result.getResult());}catch(Exceptione){e.printStackTrace();}}}
4. 运行效果

控制台输出:

🤖 AI 生成的计划: 调用 SystemTools.get_current_time 获取时间,然后调用 SystemTools.send_email 📧 正在发送邮件给: boss@company.com 📄 内容: 老板你好,现在是 2024-12-12T18:00,我下班了。 ✅ 执行结果: 发送成功

看!你甚至没有告诉 AI 要先获取时间,它自己意识到了“现在”是一个变量,需要先调用get_current_time这就是 Agent 的魅力。


🥊 为什么选 Semantic Kernel 而不是 LangChain?

  1. 原生 Java 支持:不需要通过 Jython 或 HTTP 调用 Python 服务,直接嵌入 Spring Boot。
  2. 企业级稳定性:微软出品,API 设计更严谨(虽然 Beta 阶段变动也大,但架构更清晰),更适合大中型项目。
  3. 强类型约束:Java 的强类型系统能更好地约束 AI 的输入输出,减少“幻觉”导致的参数错误。

📝 总结

AI 不仅仅属于 Python。随着Semantic Kernel的成熟,Java 开发者终于有了自己的核武器。

未来,你的 Spring Boot 应用将不再是只会 CRUD 的死程序,而是拥有感知、思考、决策能力的智能体。

种一棵树最好的时间是十年前,其次是现在。赶紧把 Semantic Kernel 加入你的 Maven 依赖吧!


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

18、数字取证镜像采集技术详解

数字取证镜像采集技术详解 1. 远程磁盘采集至 EnCase 或 FTK 格式 可以将远程 SSH 命令通过管道传递给其他程序,以执行任务或转换为其他格式。例如,远程获取原始镜像并在写入磁盘时将其转换为 EnCase/EWF 格式。以下是一个将远程 PC 进行远程镜像采集并保存为 *.ewf 文件的…

作者头像 李华
网站建设 2026/5/22 4:21:54

写论文该用哪款AI工具?6款实测对比给出2025年答案

2025年热门AI论文工具实测推荐&#xff1a;毕业季高效应对查重与AIGC检测 面对论文查重和AI生成内容检测的双重压力&#xff0c;实测筛选出六款高效工具。这些工具在降重、降低AI痕迹、语义改写等核心功能上表现突出&#xff0c;能有效提升学术写作效率。通过对比实际使用效果…

作者头像 李华
网站建设 2026/5/22 0:03:32

ComfyUI社区生态观察:全球开发者都在做什么?

ComfyUI社区生态观察&#xff1a;全球开发者都在做什么&#xff1f; 在AI生成内容的浪潮中&#xff0c;一个有趣的现象正在发生&#xff1a;越来越多的开发者不再满足于“输入提示词、点击生成”的简单操作。他们渴望更精细地掌控模型的每一步推理过程——从文本编码到潜空间迭…

作者头像 李华
网站建设 2026/5/22 14:07:49

Java毕设项目:基于JAVA的航空机票预定管理系统机票的在线预订服务(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华