找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2241

积分

0

好友

319

主题
发表于 前天 06:33 | 查看: 9| 回复: 0

AgentScope的Java库为构建具备自主规划能力的智能体提供了强大支持。本文将基于AgentScope Java,通过一个完整的会议室预订与邮件通知场景,演示如何实现智能体的“规划-执行”(Plan-To-Execute)模式。

目前,AgentScope Java主要支持以下几种模式的组合:

  1. ReAct:AgentScope主推的推理与行动结合模式。
  2. Plan-To-Execute:智能体先制定计划,再按步骤执行的模式。
  3. Human-In-The-Loop:在智能体执行敏感操作(如删除文件)时,引入人工干预或确认的机制。

AgentScope对Plan-To-Execute模式的支持,是通过内置的一系列计划管理工具来实现的。大模型在任务执行过程中,会根据实际情况动态调用这些工具。

工具名称 用途
create_plan 创建新计划
revise_current_plan 修订当前计划
update_subtask_state 更新子任务状态(todo/in_progress/abandoned)
finish_subtask 标记子任务为已完成
view_subtasks 查看子任务详情
finish_plan 完成或放弃整个计划
view_historical_plans 查看历史计划
recover_historical_plan 恢复历史计划

实战案例:会议室预订与邮件通知

我们将实现一个智能体,它能完成“预订明天某个城市的会议室,并在成功后发送邮件通知给特定群组同事”的复杂任务。这需要智能体自主规划并调用多个工具。

首先,需要定义并实现业务相关的工具:

名称 描述
get_current_date 获取当前的日期时间。大模型无法感知现实世界的时间,需要此工具。
list_rooms 根据城市和时间查询可预订的会议室。
order_room 根据ID和时间预订会议室。
search_email_address 根据群组名称搜索对应的邮箱地址列表。
send_email 发送邮件到指定的邮件地址列表。

这些工具可以通过简单的Mock类来实现,核心是使用AgentScope提供的@Tool注解来声明。

ToolSet工具类Java代码示例

如上图所示,通过@Tool注解可以快速定义工具方法及其描述和参数。之后,利用Toolkit将这些工具注册到智能体中。

ReactAgent与PlanNotebook配置代码

关键的配置在于创建ReactAgent时,需要设置PlanNotebook。它负责记录和管理智能体制定的计划。通过PlanNotebook.builder().needUserConfirm(true)可以开启“人在循环”模式,即计划执行前需要用户确认。

运行效果演示

1. 发送请求并生成计划
我们向智能体发送一个包含复杂需求的请求。

API请求生成计划的响应截图

如图所示,智能体在收到“帮我预订明天佛山市南海区的会议室,预订成功之后,请发邮件给广州群组的所有同事”的请求后,并没有直接执行,而是先制定了一个详细的计划。该计划包含获取当前日期、查询会议室、预订、搜索邮箱、发送邮件等子任务,并等待用户确认。这充分体现了自主规划的能力。

2. 确认并执行计划
当用户回复“执行”后,智能体开始按计划逐步调用工具。

API请求执行计划的响应截图

执行完成后,智能体返回结果,确认会议室已预订且邮件已成功发送给广州群组的同事。

3. 工具执行日志
通过后台日志,我们可以清晰地看到智能体自动选择并按顺序执行了规划中的工具。

控制台日志显示工具调用顺序

日志记录了从get_current_datesend_email的完整调用链,验证了智能体确实在自主驱动整个流程。

总结

通过上述案例可以看到,利用AgentScope Java库,开发者可以高效地构建出具备复杂规划与执行能力的智能体。其核心在于PlanNotebook与内置计划工具的结合,使得大模型能够将模糊的用户指令分解为可执行的具体步骤序列,并结合Human-In-The-Loop机制提升操作的安全性。

本文的完整示例代码已开源,要求运行环境为 JDK >= 17。你可以通过此项目深入了解如何在Java生态中实践智能体技术,也欢迎在云栈社区与其他开发者交流相关经验。




上一篇:技术转管理实战经验:破解团队协作与个人成长的三道核心难题
下一篇:前端开发者必学:Chrome插件开发从入门到实战(Manifest V3)
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-14 17:43 , Processed in 0.317494 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表