131 lines
5.9 KiB
Markdown
131 lines
5.9 KiB
Markdown
|
|
# Java AI智能体框架
|
|||
|
|
|
|||
|
|
`AI智能体` `Java` `LLM` `ReAct` `多智能体`
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<img
|
|||
|
|
src="https://img.alicdn.com/imgextra/i1/O1CN01nTg6w21NqT5qFKH1u_!!6000000001621-55-tps-550-550.svg"
|
|||
|
|
alt="AgentScope Logo"
|
|||
|
|
width="200"
|
|||
|
|
/>
|
|||
|
|
</p>
|
|||
|
|
|
|||
|
|
<h3 align="center">用 Java 构建生产级 AI 智能体</h3>
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<a href="https://java.agentscope.io/">📖 文档</a>
|
|||
|
|
|
|
|||
|
|
<a href="README_zh.md">中文</a>
|
|||
|
|
|
|
|||
|
|
<a href="https://discord.gg/eYMpfnkG8h">Discord</a>
|
|||
|
|
</p>
|
|||
|
|
|
|||
|
|
<p align="center">
|
|||
|
|
<img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="许可证" />
|
|||
|
|
<img src="https://img.shields.io/badge/JDK-17%2B-orange" alt="JDK 17+" />
|
|||
|
|
<img src="https://img.shields.io/maven-central/v/io.agentscope/agentscope?color=green" alt="Maven Central" />
|
|||
|
|
<a href="https://deepwiki.com/agentscope-ai/agentscope-java"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|||
|
|
</p>
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
AgentScope Java 是一个面向智能体编程的框架,用于构建由大语言模型驱动的应用程序。它提供了创建智能体所需的一切:ReAct 推理、工具调用、记忆管理、多智能体协作等。
|
|||
|
|
|
|||
|
|
## 亮点
|
|||
|
|
|
|||
|
|
### 🎯 智能自主,全程可控
|
|||
|
|
|
|||
|
|
AgentScope 采用 ReAct(推理-行动)范式,使智能体能够自主规划并执行复杂任务。与僵化的工作流方案不同,ReAct 智能体能动态决定使用哪些工具以及何时使用,实时适应不断变化的需求。
|
|||
|
|
|
|||
|
|
然而,在生产环境中,缺乏控制的自主性是一种风险。AgentScope 提供了全面的运行时干预机制:
|
|||
|
|
|
|||
|
|
- **安全中断** - 在保留完整上下文和工具状态的前提下,随时暂停智能体执行,实现无缝恢复而不丢失数据
|
|||
|
|
- **优雅取消** - 在不破坏智能体状态的情况下终止长时间运行或无响应的工具调用,允许立即恢复和重定向
|
|||
|
|
- **人工介入** - 通过 Hook 系统在任意推理步骤注入修正、补充上下文或指导,对关键决策保持人工监督
|
|||
|
|
|
|||
|
|
### 🛠️ 内置工具
|
|||
|
|
|
|||
|
|
AgentScope 包含针对智能体开发常见挑战的生产级工具:
|
|||
|
|
|
|||
|
|
- **PlanNotebook(计划笔记本)** - 一套结构化任务管理系统,将复杂目标分解为有序、可追踪的步骤。智能体可创建、修改、暂停和恢复多个并发计划,确保多步骤工作流的系统化执行。
|
|||
|
|
|
|||
|
|
- **结构化输出** - 一种自我纠错的输出解析器,保证类型安全的响应。当大语言模型输出偏离预期格式时,系统自动检测错误并引导模型生成有效输出,将结果直接映射到 Java POJO,无需手动解析。
|
|||
|
|
|
|||
|
|
- **长期记忆** - 跨会话的持久化记忆存储,具备语义搜索能力。支持自动管理、智能体控制记录或混合模式。支持多租户隔离,适用于智能体为多用户独立服务的企业级部署场景。
|
|||
|
|
|
|||
|
|
- **RAG(检索增强生成)** - 与企业知识库的无缝集成。支持自托管的基于嵌入的检索,也支持阿里云百炼等托管服务,将智能体响应建立在权威数据源之上。
|
|||
|
|
|
|||
|
|
### 🔌 无缝集成
|
|||
|
|
|
|||
|
|
AgentScope 旨在与现有企业基础设施集成,无需大规模改造:
|
|||
|
|
|
|||
|
|
- **MCP 协议** - 接入任意兼容 MCP 的服务器,即时扩展智能体能力。无需编写自定义集成代码,即可连接不断壮大的 MCP 工具与服务生态——涵盖文件系统、数据库、浏览器和代码解释器等。
|
|||
|
|
|
|||
|
|
- **A2A 协议** - 通过标准服务发现实现分布式多智能体协作。将智能体能力注册到 Nacos 或类似注册中心,使智能体之间的发现与调用像调用微服务一样自然。
|
|||
|
|
|
|||
|
|
### 🚀 生产级品质
|
|||
|
|
|
|||
|
|
为企业级部署需求而生:
|
|||
|
|
|
|||
|
|
- **高性能** - 基于 Project Reactor 的响应式架构确保非阻塞执行。GraalVM 原生镜像编译可实现 200ms 冷启动时间,使 AgentScope 适用于 Serverless 和自动扩缩容环境。
|
|||
|
|
|
|||
|
|
- **安全沙箱** - AgentScope Runtime 为不受信任的工具代码提供隔离执行环境。内置 GUI 自动化、文件系统操作和移动设备交互等预置沙箱,防止对系统资源的未授权访问。
|
|||
|
|
|
|||
|
|
- **可观测性** - 与 OpenTelemetry 原生集成,支持整个智能体执行链路的分布式追踪。AgentScope Studio 提供可视化调试、实时监控以及面向开发和生产环境的全面日志记录。
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
**环境要求:** JDK 17+
|
|||
|
|
|
|||
|
|
```xml
|
|||
|
|
<dependency>
|
|||
|
|
<groupId>io.agentscope</groupId>
|
|||
|
|
<artifactId>agentscope</artifactId>
|
|||
|
|
<version>1.0.11</version>
|
|||
|
|
</dependency>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
ReActAgent agent = ReActAgent.builder()
|
|||
|
|
.name("Assistant")
|
|||
|
|
.sysPrompt("You are a helpful AI assistant.")
|
|||
|
|
.model(DashScopeChatModel.builder()
|
|||
|
|
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
|
|||
|
|
.modelName("qwen-max")
|
|||
|
|
.build())
|
|||
|
|
.build();
|
|||
|
|
|
|||
|
|
Msg response = agent.call(Msg.builder()
|
|||
|
|
.textContent("Hello!")
|
|||
|
|
.build()).block();
|
|||
|
|
System.out.println(response.getTextContent());
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
更多示例请参阅[文档](https://java.agentscope.io/)。
|
|||
|
|
|
|||
|
|
## 贡献
|
|||
|
|
|
|||
|
|
欢迎贡献!请查阅 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解相关规范。
|
|||
|
|
|
|||
|
|
## 社区
|
|||
|
|
|
|||
|
|
| [Discord](https://discord.gg/eYMpfnkG8h) | 钉钉 | 微信 |
|
|||
|
|
|--------------------------------------------------------------|----------| ---------|
|
|||
|
|
| <img src="./docs/imgs/discord.png" width="100" height="100"> | <img src="./docs/imgs/dingtalk_qr_code.jpg" width="100" height="100"> | <img src="./docs/imgs/wechat.png" width="100" height="100"> |
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
Apache License 2.0 - 详见 [LICENSE](./LICENSE)。
|
|||
|
|
|
|||
|
|
## 论文引用
|
|||
|
|
|
|||
|
|
如果您觉得 AgentScope 有帮助,请引用我们的论文:
|
|||
|
|
|
|||
|
|
- [AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications](https://arxiv.org/abs/2508.16279)
|
|||
|
|
- [AgentScope: A Flexible yet Robust Multi-Agent Platform](https://arxiv.org/abs/2402.14034)
|
|||
|
|
|
|||
|
|
## 贡献者
|
|||
|
|
|
|||
|
|
<a href="https://github.com/agentscope-ai/agentscope-java/graphs/contributors">
|
|||
|
|
<img src="https://contrib.rocks/image?repo=agentscope-ai/agentscope-java&max=999&columns=12&anon=1" />
|
|||
|
|
</a>
|