首屏导读 · 本教程配套付费专栏: 大模型工程师修炼手记 19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)· AI时代程序员的自我提升 49.9 元(AI 时代成长方法论)。

单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓

Spring Boot应用接入阿里AgentScope框架,目前最直接和推荐的方式是通过 Spring AI Alibaba 项目。它正逐步将内核升级为AgentScope,是面向Java开发者、特别是Spring生态的官方首选方案。
在这里插入图片描述

下面是清晰的接入路径和技术选型对比,你可以根据自己的场景进行选择:

技术方案定位与核心能力推荐场景
Spring AI Alibaba当前官方推荐的Java/Spring Boot集成方案。旨在成为开箱即用的Agent开发框架,深度集成阿里云百炼模型,并支持工作流、多智能体协作、可观测性等企业级功能。新建的Spring Boot AI应用;希望快速集成阿里大模型能力;需要工作流、多Agent协同等复杂功能。
AgentScope Java SDK阿里推出的原生高代码Agent框架。提供了ReAct智能体、工具调用、多智能体协作等最核心的能力,强调对开发者透明和控制力。需要更底层、更灵活控制的Agent应用;作为非Spring Boot项目的依赖库使用。
阿里云百炼平台高代码应用结合AgentScope和Runtime,在百炼平台上实现从开发到部署的闭环。希望将Agent应用直接部署在阿里云百炼平台上,使用其运维和集成能力。
在这里插入图片描述
📦 核心依赖与配置

无论选择哪种方案,你都需要在项目中添加对应的Maven依赖。对于Spring Boot应用,强烈建议从Spring AI Alibaba开始:

1. 添加Spring AI Alibaba依赖
在你的 pom.xml 中引入BOM(推荐)和DashScope Starter。注意版本号可能会更新。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud.ai</groupId>
            <artifactId>spring-ai-alibaba-bom</artifactId>
            <version>1.1.0.0-M5</version> <!-- 请检查最新版本 -->
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <!-- DashScope 模型支持 -->
    <dependency>
        <groupId>com.alibaba.cloud.ai</groupId>
        <artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
    </dependency>
    <!-- 如需使用Agentic API (高级智能体功能) -->
    <dependency>
        <groupId>com.alibaba.cloud.ai</groupId>
        <artifactId>spring-ai-alibaba-agent-framework</artifactId>
    </dependency>
</dependencies>

2. 配置API密钥
在 application.yml 中配置你的DashScope API密钥(需在阿里云百炼平台申请):

spring:
  ai:
    dashscope:
      api-key: ${
   DASHSCOPE_API_KEY} # 建议使用环境变量
🚀 快速开始:创建一个简单的智能体

完成配置后,你就可以像使用普通Spring Bean一样,在Service中注入并使用智能体。以下是一个调用通义千问进行对话的简单示例:

import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class SimpleAIService {
   

    @Autowired
    private ChatModel chatModel; // 或直接注入 DashScopeChatModel

    public String chat(String userMessage) {
   
        // 构建对话请求
        Prompt prompt = new Prompt(new UserMessage(userMessage));
        // 调用模型并获取响应文本
        return chatModel.call(prompt).getResult().getOutput().getText();
    }
}
🔧 进阶开发:构建具备工具调用能力的ReAct智能体

如果你需要智能体能够执行具体任务(如查询天气、调用内部API),可以为其定义工具。以下示例展示了如何构建一个更接近AgentScope设计模式的、具备工具调用能力的ReAct智能体:

import com.alibaba.cloud.ai.agentscope.agent.ReActAgent;
import com.alibaba.cloud.ai.agentscope.tool.Tool;
import com.alibaba.cloud.ai.agentscope.tool.ToolParam;
import com.alibaba.cloud.ai.agentscope.toolkit.Toolkit;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AgentConfiguration {
   

    // 1. 定义自定义工具
    public class BusinessTools {
   
        @Tool(name = "get_weather", description = "获取指定城市的天气信息")
        public String getWeather(@ToolParam(name = "city", description = "城市名称") String city) {
   
            // 这里可以替换为真实的天气API调用
            return String.format("%s的天气是晴朗,25°C。", city);
        }
    }

    // 2. 创建并注册工具到工具包
    @Bean
    public Toolkit toolkit() {
   
        Toolkit toolkit = new Toolkit();
        toolkit.registerTool(new BusinessTools());
        return toolkit;
    }

    // 3. 构建一个具备工具调用能力的ReAct智能体
    @Bean
    public ReActAgent weatherAssistant(Toolkit toolkit) {
   
        return ReActAgent.builder()
                .name("WeatherAssistant")
                .sysPrompt("你是一个天气助手,可以查询城市天气信息。")
                .model(DashScopeChatModel.builder()
                        .apiKey(System.getenv("DASHSCOPE_API_KEY")) // 密钥也可在此配置
                        .modelName("qwen-max") // 指定模型
                        .build())
                .toolkit(toolkit) // 注入工具包
                .maxIters(5) // 设置最大推理迭代次数
                .build();
    }
}

定义完成后,你可以在业务代码中像使用普通Bean一样注入并调用这个 weatherAssistant 智能体。

💡 企业级能力与最佳实践

当你需要将智能体应用到生产环境时,可以考虑集成以下企业级能力:

  • 多智能体协作与分布式部署:结合 Spring AI Alibaba 和 Nacos注册中心,可以轻松构建分布式多智能体系统,实现Agent的注册、发现和基于A2A协议的通信。
  • 全链路可观测:集成 Spring AI Alibaba Admin 或配置 OpenTelemetry,可以实现对Prompt、模型调用、工具执行的全链路追踪和监控,让AI应用变得透明可控。
  • Prompt工程化管理:利用 Spring AI Alibaba Admin 或 Nacos配置中心 对Prompt进行版本化管理、动态发布和热更新,提升迭代效率。
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-e1cc28b339.css" rel="stylesheet"> href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-d1e89cace4.css" rel="stylesheet"> pdf_watermark

延伸阅读 · 我的付费专栏

觉得这篇文章对你有帮助?我把同类主题的系统化内容沉淀成了付费专栏,欢迎订阅支持持续输出:

专栏定价内容
大模型工程师修炼手记19.9 元AI 编程 / Agent 深度实战
AI时代程序员的自我提升49.9 元AI 时代成长方法论

本文配套代码 / 资料包:欢迎在评论区留言「求代码」,我会私信发送完整资源!

更多推荐