新闻详情

新闻详情

首页 / 资讯中心 / 详情

Java多智能体系统实战:用ADK构建旅游规划助手,让AI智能体协作完成任务_google adk java-CSDN博客

发布时间:2026/9/25 7:58:32来源:尧图网络
Java多智能体系统实战:用ADK构建旅游规划助手,让AI智能体协作完成任务_google adk java-CSDN博客
首屏导读 · 本教程配套付费专栏 大模型工程师修炼手记19.9 元AI 编程 / Agent 实战 本文同主题系统课程· AI时代程序员的自我提升49.9 元AI 时代成长方法论。单篇不过瘾订阅解锁全量源码、实战与答疑文末附资料包领取方式 ↓引言近年来AI智能体Agent技术飞速发展从单一功能的聊天机器人进化为能够自主决策、调用工具、协同工作的多智能体系统。多智能体系统Multi-Agent System通过将复杂任务拆分为多个子任务由不同专业智能体并行或顺序执行最终整合结果大幅提升了AI处理复杂问题的能力。本文将带你用Java实现一个旅游规划多智能体系统包含天气查询、景点推荐、行程规划三个专业智能体它们将协作完成一次完整的旅行规划任务。为什么用Java实现多智能体Java作为企业级开发的主流语言拥有庞大的生态、出色的稳定性和跨平台能力。Google开源的ADK for JavaAgent Development Kit为Java开发者提供了构建、编排智能体的强大工具支持多种协作模式顺序、并行、循环等并能与MCPModel Context Protocol协议无缝集成让智能体轻松调用外部工具和服务。项目概述我们将构建一个“旅游规划师”多智能体系统包含三个核心智能体天气查询智能体查询目的地的实时天气并根据天气提供出行建议。景点推荐智能体结合天气和用户偏好历史、美食、自然等推荐景点。行程规划智能体整合天气和景点信息生成详细的每日行程。系统采用并行执行 顺序汇总的混合流程先让天气和景点智能体并行工作再由行程智能体整合结果输出完整的旅行计划。技术选型Java 17Google ADK for Java 0.3.0智能体框架Maven项目构建JacksonJSON处理可选环境准备Maven依赖在pom.xml中添加以下依赖dependencies!-- Google ADK for Java --dependencygroupIdcom.google.adk/groupIdartifactIdadk-java/artifactIdversion0.3.0/version/dependency!-- Jackson for JSON (可选用于工具类) --dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.2/version/dependency/dependencies配置API密钥在src/main/resources/application.properties中配置Google AI Studio的API密钥从Google AI Studio获取google.ai.api.keyYOUR_API_KEY_HERE项目结构travel-planner-multiagent/ ├── pom.xml ├── src/main/java/com/example/travel/ │ ├── TravelPlannerApplication.java # 主类 │ ├── agents/ │ │ ├── WeatherAgent.java # 天气智能体 │ │ ├── AttractionAgent.java # 景点智能体 │ │ └── ItineraryAgent.java # 行程智能体 │ └── tools/ │ └── WeatherTool.java # 天气查询工具 └── src/main/resources/application.properties代码实现1. 工具类WeatherTool首先我们创建一个工具类用于模拟天气查询。实际应用中可替换为调用真实天气API。packagecom.example.travel.tools;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.node.ObjectNode;importjava.util.Random;publicclassWeatherTool{privatestaticfinalObjectMapperMAPPERnewObjectMapper();privatestaticfinalRandomRANDOMnewRandom();publicJsonNodegetWeather(Stringcity){String[]conditions{晴朗,多云,小雨,大雨,阴天};Stringconditionconditions[RANDOM.nextInt(conditions.length)];inttemperature5RANDOM.nextInt(30);// 5~34度ObjectNoderesultMAPPER.createObjectNode();result.put(city,city);result.put(condition,condition);result.put(temperature,temperature);returnresult;}publicStringgetWeatherAdvice(JsonNodeweather){Stringconditionweather.get(condition).asText();if(condition.contains(雨)){return建议携带雨具选择室内活动;}elseif(condition.equals(晴朗)){return适合户外活动注意防晒;}return天气适宜可正常出行;}}2. 智能体1WeatherAgent使用LlmAgent创建天气查询智能体并注册WeatherTool。packagecom.example.travel.agents;importcom.example.travel.tools.WeatherTool;importcom.google.adk.agents.LlmAgent;publicclassWeatherAgent{publicstaticLlmAgentcreate(){WeatherTooltoolnewWeatherTool();returnLlmAgent.builder().name(weather-agent).description(查询目的地天气并提供出行建议).instruction( 你是一个专业的天气查询助手。 根据用户提供的城市名称使用WeatherTool查询天气 返回包含温度、天气状况和出行建议的格式化报告。 ).model(gemini-2.0-flash).tools(tool).outputKey(weatherInfo)// 输出键供后续智能体引用.build();}}3. 智能体2AttractionAgent景点推荐智能体它依赖天气信息通过{weatherInfo}占位符引用和用户偏好。packagecom.example.travel.agents;importcom.google.adk.agents.LlmAgent;publicclassAttractionAgent{publicstaticLlmAgentcreate(){returnLlmAgent.builder().name(attraction-agent).description(根据天气和用户偏好推荐景点).instruction( 你是一个景点推荐专家。 根据天气信息 {weatherInfo} 和用户偏好如历史文化、美食等 推荐3-5个适合的景点包含简介和建议游览时间。 ).model(gemini-2.0-flash).outputKey(attractions).build();}}4. 智能体3ItineraryAgent行程规划智能体整合天气和景点信息生成每日行程。packagecom.example.travel.agents;importcom.google.adk.agents.LlmAgent;publicclassItineraryAgent{publicstaticLlmAgentcreate(){returnLlmAgent.builder().name(itinerary-agent).description(整合天气和景点信息生成完整行程).instruction( 你是一个行程规划师。 根据天气信息 {weatherInfo} 和景点推荐 {attractions} 结合用户天数要求生成详细的每日行程包含餐饮和交通建议。 ).model(gemini-2.0-flash).outputKey(itinerary).build();}}5. 主类组合多智能体系统在TravelPlannerApplication中我们使用ParallelAgent和SequentialAgent编排智能体。packagecom.example.travel;importcom.example.travel.agents.AttractionAgent;importcom.example.travel.agents.ItineraryAgent;importcom.example.travel.agents.WeatherAgent;importcom.google.adk.agents.LlmAgent;importcom.google.adk.agents.ParallelAgent;importcom.google.adk.agents.SequentialAgent;importcom.google.adk.runners.FlowRunner;importcom.google.adk.sessions.InMemorySessionStore;publicclassTravelPlannerApplication{publicstaticvoidmain(String[]args){// 创建智能体LlmAgentweatherAgentWeatherAgent.create();LlmAgentattractionAgentAttractionAgent.create();LlmAgentitineraryAgentItineraryAgent.create();// 并行执行天气和景点查询ParallelAgentresearchAgentParallelAgent.builder().name(research-agent).description(并行收集天气和景点信息).subAgents(weatherAgent,attractionAgent).build();// 顺序执行先研究再规划行程SequentialAgenttravelPlannerSequentialAgent.builder().name(travel-planner).description(旅游规划师).subAgents(researchAgent,itineraryAgent).build();// 运行器FlowRunnerrunnerFlowRunner.builder().sessionStore(newInMemorySessionStore()).build();StringuserQuery我想去北京旅游3天喜欢历史文化和美食帮我规划一下;System.out.println(用户输入: userQuery);System.out.println(.repeat(50));Stringresultrunner.run(travelPlanner,userQuery);System.out.println(最终行程:\nresult);}}运行效果运行主类后控制台输出示例用户输入: 我想去北京旅游3天喜欢历史文化和美食帮我规划一下 最终行程: 【第一天】 上午参观故宫博物院历史文化的精髓建议3-4小时 中午在故宫附近的四季民福烤鸭店享用北京烤鸭 下午游览景山公园俯瞰故宫全景 晚上逛王府井小吃街品尝北京特色小吃 【第二天】 上午前往颐和园皇家园林建议3-4小时 中午在颐和园附近品尝老北京炸酱面 下午参观圆明园遗址公园 晚上观看老舍茶馆的京剧表演 【第三天】 上午游览天坛公园了解古代祭天文化 中午在前门大街品尝爆肚、卤煮等小吃 下午逛大栅栏商业街购买伴手礼 傍晚结束愉快的北京之旅扩展集成MCP工具ADK for Java支持通过MCP协议调用外部工具。假设我们有一个基于SSE的MCP天气服务器如前文所述可以轻松集成McpToolClientweatherMcpClientMcpToolClient.builder().serverUrl(http://localhost:8080/sse).build();LlmAgentagentLlmAgent.builder().name(weather-agent).tools(weatherMcpClient)// 使用MCP工具.build();更多协作模式除了并行和顺序ADK还支持LoopAgent循环执行直到满足条件Sub-Agents主智能体动态调用子智能体如研究总监模式混合流程嵌套组合多种模式例如Sub-Agents模式适用于主智能体根据用户问题灵活决定调用哪些子智能体的场景。总结本文通过一个旅游规划多智能体系统demo展示了如何使用Google ADK for Java构建能够协作完成任务的多智能体应用。我们实现了三个专业智能体天气查询、景点推荐、行程规划并行顺序混合流程提升效率并保证依赖关系工具注册与使用与MCP协议的集成扩展Java开发者可以借助ADK for Java快速构建复杂的智能体工作流将AI能力无缝集成到现有企业应用中。多智能体系统正在成为AI应用的新范式掌握这一技术将为你打开无限可能。参考资源ADK for Java官方文档ADK for Java GitHub示例MCP协议文档希望这篇实战文章能帮助你开启Java多智能体开发的旅程如果你有任何问题或想法欢迎在评论区交流讨论。hrefhttps://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-e1cc28b339.css relstylesheet hrefhttps://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-d1e89cace4.css relstylesheetAI 智能体本地部署实战OpenClaw 从环境搭建到避坑全攻略本地跑通你的 AI 代理一键订阅内容来源csdn.net作者昵称Tom·Ge原文链接https://blog.csdn.net/gedonshen/article/details/158343458作者主页https://blog.csdn.net/gedonshen标签#人工智能 #AI编程确定要放弃本次机会福利倒计时::立减 ¥普通VIP年卡可用立即使用延伸阅读 · 我的付费专栏觉得这篇文章对你有帮助我把同类主题的系统化内容沉淀成了付费专栏欢迎订阅支持持续输出专栏定价内容大模型工程师修炼手记19.9 元AI 编程 / Agent 深度实战AI时代程序员的自我提升49.9 元AI 时代成长方法论本文配套代码 / 资料包欢迎在评论区留言「求代码」我会私信发送完整资源
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Buildah 与容器镜像仓库实战指南:私有 Registry 与 Docker Hub 的推送、拉取与互操作 2026/9/25 8:35:09

Buildah 与容器镜像仓库实战指南:私有 Registry 与 Docker Hub 的推送、拉取与互操作

云原生 【免费下载链接】buildah A tool that facilitates building OCI images. 项目地址: https://gitcode.com/gh_mirrors/bu/buildah 点击查看 免费下载 导读 本篇教程围绕 Buildah 如何将 OCI 兼容镜像移入、移出私有或公有容器镜像仓库(containe…

阅读更多 →
关键信息基础设施网络安全保护基本要求:五环节闭环与工程化落地指南 2026/9/25 8:35:02

关键信息基础设施网络安全保护基本要求:五环节闭环与工程化落地指南

简介:这份资源是《信息安全技术 关键信息基础设施网络安全保护基本要求》的国家标准征求意见稿文档,面向网络安全从业者、等保测评人员及合规管理人员,用于理解关键信息基础设施安全保护的规范框架与落地要求。文档围绕识别认定、安全防护、检…

阅读更多 →
卫星互联网IP欺骗防御:从流量特征到星上轻量化检测 2026/9/25 8:35:02

卫星互联网IP欺骗防御:从流量特征到星上轻量化检测

简介:这份PDF面向网络安全学习者与CTF-Misc爱好者,聚焦卫星互联网场景下的IP欺骗防御问题,以Starlink用户链路流量为切入点,系统梳理从威胁建模到检测落地的完整知识链路。资源包内仅含1个PDF文件,大小约4.56MB&#x…

阅读更多 →
网络安全监测装置技术规范书:电厂项目部署与验收基线 2026/9/25 8:35:02

网络安全监测装置技术规范书:电厂项目部署与验收基线

简介:针对新澳火电厂网络安全监测装置建设项目编制的技术规范书,由华能罗源发电有限责任公司于2019年发布,面向电力监控系统安全防护相关管理人员、运维人员及投标方,为落实并网电厂电力监控系统网络安全实时监测技术手段建设提供…

阅读更多 →
天融信TopScanner脆弱性扫描与管理系统实战:从部署到误报治理与API闭环 2026/9/25 8:34:56

天融信TopScanner脆弱性扫描与管理系统实战:从部署到误报治理与API闭环

简介:天融信脆弱性扫描与管理系统(TopScanner)一本通,面向网络安全运维人员、等保测评从业者及企业安全管理员,帮助读者系统掌握该产品的功能原理与部署配置。手册围绕系统扫描、Web扫描、口令猜测、基线核查、配置审计…

阅读更多 →
Hermes Agent Vault:面向智能体的本地化密钥安全中枢 2026/9/25 8:34:49

Hermes Agent Vault:面向智能体的本地化密钥安全中枢

1. 项目概述:为什么智能体需要一个“管钥匙的保安”?你有没有试过给一个刚搭好的智能体喂进十来个 API 密钥——OpenRouter 的、Anthropic 的、GitHub 的、Notion 的、Slack 的……结果第二天发现它偷偷把密钥发到了日志里,或者被某个调试接口…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉