AgentScope Java:让Java开发者轻松构建智能体应用

2026-06-28 / 19 阅读 / Java

引言

大模型技术的爆发正在重塑软件开发的范式。智能体(Agent)作为连接大模型与业务系统的核心载体,正从实验性原型快速走向生产级应用。然而,对于广大Java开发者来说,想要快速集成大模型能力,却常常被繁琐的API调用、复杂的多Agent协同逻辑以及上下文管理等问题困扰。

AgentScope Java的出现,恰好为Java开发者解决了这些痛点。

什么是AgentScope Java?

AgentScope Java是阿里巴巴开源的Agent编程框架,用于构建基于大语言模型(LLM)的智能体应用。简单来说,它的核心作用是“封装大模型调用、简化Agent协同、统一上下文管理”,让开发者能够专注于业务逻辑,而非大模型接口适配、多Agent调度等底层工作。

目前AgentScope Java已经发布了2.0版本,这是一次较大规模的重构,在1.x的基础上抽出了独立的HarnessAgent层,把工作区、人格、长期记忆、子Agent编排、沙箱隔离、技能装配、计划模式等功能打包成一个“工程就绪”的入口。

核心特性

  1. ReAct推理循环
    ReAct(Reasoning and Acting)是AgentScope最核心的实现范式。其设计思路很简单:将思考(Reasoning)和执行(Acting)分离,通过迭代循环解决问题。Agent会基于当前上下文进行分析,决定下一步行动,调用工具,观察结果,然后继续思考。

  2. HarnessAgent——推荐的工程入口
    HarnessAgent是在ReActAgent之上的一层薄包装,把长期运行Agent必备的工程能力用Builder模式串起来。包括工作区管理、会话管理、记忆持久化、子Agent编排、沙箱隔离等。

  3. 灵活的工具系统
    通过@Tool注解,开发者可以将任意Java方法注册为Agent可调用的工具。工具元数据会自动生成JSON Schema,由LLM自动调用。

  4. 多模型支持
    内置支持多种主流大模型,包括OpenAI协议(DeepSeek、GLM、Ollama等所有OpenAI兼容服务)、DashScope(通义千问)、Anthropic Claude、Google Gemini。开发者可以通过统一接口调用,无需修改代码即可切换大模型。

  5. 会话与状态管理
    AgentState + AgentStateStore取代了1.x的Memory体系,支持跨进程、跨机器、跨副本的状态恢复。提供了多种存储后端:InMemory、JsonFile、Redis、MySQL。

  6. 子Agent编排(2.0新特性)
    2.0版本用“子Agent + 同步/异步spawn”统一了以往Pipeline/MsgHub的多种编排方式。主Agent通过agent_spawn工具委派子任务,支持同步(timeout_seconds > 0)和后台(timeout_seconds = 0)两种模式。

快速上手:第一个Agent

让我们用几行代码来体验一下AgentScope Java的魅力。

首先,在Maven项目中添加依赖:

<dependency>
    <groupId>io.agentscope</groupId>
    <artifactId>agentscope-core</artifactId>
    <version>2.0.0-RC2</version>
</dependency>

然后,创建一个能对话的Agent:

package com.example;

import io.agentscope.core.model.OpenAIChatModel;
import io.agentscope.core.formatter.openai.OpenAIChatFormatter;
import io.agentscope.core.message.UserMessage;
import io.agentscope.harness.HarnessAgent;
import java.nio.file.Path;

public class BasicChatExample {
    public static void main(String[] args) {
        String apiKey = System.getenv("DEEPSEEK_API_KEY");
        
        // 创建Model
        OpenAIChatModel model = OpenAIChatModel.builder()
            .apiKey(apiKey)
            .modelName("deepseek-chat")
            .baseUrl("https://api.deepseek.com")
            .stream(true)
            .enableThinking(true)
            .formatter(new OpenAIChatFormatter())
            .build();
        
        // 创建HarnessAgent(推荐入口)
        HarnessAgent agent = HarnessAgent.builder()
            .name("Assistant")
            .sysPrompt("你是一个乐于助人的AI助手,请友好简洁地回答问题。")
            .model(model)
            .workspace(Path.of("./workspace"))
            .build();
        
        // 调用Agent
        UserMessage userMsg = new UserMessage("你好,请介绍一下自己");
        String reply = agent.call(userMsg, RuntimeContext.empty())
            .block()
            .getTextContent();
        
        System.out.println(reply);
    }
}

代码解读:

  • OpenAIChatModel:使用Builder模式创建,配置API Key、模型名称、服务地址等

  • stream(true):启用流式输出

  • enableThinking(true):启用思考模式

  • HarnessAgent:推荐入口,开箱即用,集成了工作区、会话、记忆等工程能力

  • workspace:指定工作区目录,用于存放人格配置、记忆等文件

适用场景

AgentScope Java尤其适合以下场景:

  • 智能客服:快速构建能理解用户意图、自动回复的客服系统

  • 代码生成与辅助:帮助开发者自动生成代码、进行代码审查

  • 数据分析:自动分析数据、生成报表

  • 业务流程编排:将复杂任务拆解给多个Agent协同完成

写在最后

AgentScope Java让Java开发者无需深耕大模型底层逻辑,就能快速开发出高可用、可扩展的智能体应用。它完美兼容Spring Boot、Spring Cloud、Maven等Java主流技术栈,支持依赖注入、配置化管理,嵌入现有项目无需额外改造。

如果你正在探索如何将大模型能力集成到Java项目中,不妨从AgentScope Java开始——项目地址:https://github.com/agentscope-ai/agentscope-java

Happy coding!

相关推荐