用Seed Evolving+高德地图做城市旅行规划Agent,完美解决出行选择困难 前言作为一个经常写 Flask 后端的 Python 开发者我平时习惯用高德 API 做一些位置相关的工具。前段时间看到 Seed Evolving 模型做了第二次升级主打 Coding 工程能力、Agent 检索能力和幻觉控制三个方向的提升。正好手头有高德开放平台的 API Key就想试试能不能让 Evolving 模型当大脑高德 API 当眼睛搭一个能真正用的城市旅行规划 Agent答案是能而且效果比我想象中好。本篇是一个 Python 开发者的真实搭建记录让 AI 帮你规划一场完美的城市旅行。想做什么简单说就是用户输入一个城市名和旅行偏好Agent 自动帮你规划每天的行程上午、下午、晚上分别去哪从高德 API 拉取真实景点信息地址、评分、电话查当天天气给出穿衣和出行建议生成一篇有温度的旅行指南文案还能继续追问比如杭州有什么好吃的核心思路是验证 Seed Evolving 的三个升级点Agent 能力多步骤任务规划调用外部工具整合结果检索能力通过高德 API 搜索真实景点和美食幻觉控制基于真实 API 数据生成内容不编造地址和评分怎么搭的技术栈组件选型说明模型Doubao-Seed-Evolving火山方舟平台调用地图 API高德开放平台地理编码、POI 搜索、天气查询后端Flask Python轻量 Web 框架前端原生 HTML/CSS/JS不依赖框架一个文件搞定接入 Seed Evolving火山方舟的 API 完全兼容 OpenAI 格式接入非常简单。先在控制台创建推理接入点拿到 Endpoint ID然后直接 HTTP 调用就行创建在线推理下一步开通授权模型享受免费token不错不错!开通并授权。代码如下importrequestsdefcall_evolving(messages):headers{Content-Type:application/json,Authorization:fBearer{ARK_API_KEY},}payload{model:ep-20260805083044-t5r5c,# 你的 Endpoint IDmessages:messages,temperature:0.7,max_tokens:4096,}resprequests.post(https://ark.cn-beijing.volces.com/api/v3/chat/completions,headersheaders,jsonpayload,timeout120,)resp.raise_for_status()returnresp.json()[choices][0][message][content]这里有个小细节文档说可以直接用模型名doubao-seed-evolving调用但我实际测试时发现需要先在控制台开通模型创建推理接入点后用 Endpoint ID 调用才行。如果直接用模型名会返回 404 提示模型未开通。Agent 三步走架构整个 Agent 的核心是三步调用第一步分析需求生成行程框架让 Evolving 根据城市名、天数、偏好生成 JSON 格式的行程规划。这里我用 system prompt 约束输出格式要求它给出每天上午/下午/晚上的景点安排和美食推荐。defagent_analyze_city(city,days,preferences):system_prompt你是一个专业的城市旅行规划助手。 根据用户提供的城市、旅行天数和偏好生成详细的旅行规划框架。 输出 JSON 格式包含每天的上下午晚行程、美食推荐、预算预估...user_msgf城市{city}\n旅行天数{days}天\n偏好{preferences}contentcall_evolving([{role:system,content:system_prompt},{role:user,content:user_msg},])returnjson.loads(content)第二步用高德 API 获取真实数据这一步是整个 Agent 的关键——拿 Evolving 生成的景点名去高德 POI 搜索接口查真实信息。这样做有两个好处一是景点地址、电话都是真实的不会被模型编造二是高德返回的评分数据可以作为推荐参考。defagent_enrich_with_real_data(city,plan_json):spots[]fordayinplan_json.get(days,[]):forperiodin[morning,afternoon,evening]:spotday.get(period,{}).get(spot,)ifspot:spots.append(spot)enriched_spots{}forspot_nameinspots:poi_dataamap_search_poi(spot_name,city)poispoi_data.get(pois,[])ifpois:poipois[0]enriched_spots[spot_name]{name:poi.get(name,spot_name),address:poi.get(address,暂无地址),tel:poi.get(tel,暂无电话),rating:poi.get(biz_ext,{}).get(rating,暂无评分),}# 顺便查天气weather_dataamap_weather(city)returnenriched_spots,weather_info第三步生成最终旅行指南把前两步的结果——行程框架和真实景点数据——一起喂给 Evolving让它生成一篇有温度的旅行文案。这一步最能体现模型的信息整合能力它需要把行程安排、天气信息、真实景点地址融合成一篇流畅的文章。defagent_generate_guide(city,plan_json,enriched_spots,weather_info,preferences):spots_summary\n.join([f-{info[name]}{info[address]}评分{info.get(rating,暂无)}forinfoinenriched_spots.values()])returncall_evolving([{role:system,content:你是一个旅行文案创作者...},{role:user,content:f城市{city}\n天气{weather_info}\n...},])高德 API 集成高德的接口我用到了四个地理编码城市名转坐标验证城市是否有效POI 搜索搜景点、搜美食返回名称、地址、评分天气查询查城市当天天气用于出行建议景点/美食分类搜索用高德的类型码筛选景点 110000美食 050000defamap_search_poi(keyword,city,types,page1):params{key:AMAP_KEY,keywords:keyword,city:city,citylimit:true,offset:10,page:page,extensions:all,}iftypes:params[types]types resprequests.get(fhttps://restapi.amap.com/v3/place/text,paramsparams)returnresp.json()前端界面前端就是一个 HTML 文件用渐变色做背景卡片式布局展示结果。交互上做了三步动画提示让用户知道 Agent 正在做什么第一步显示分析旅行需求第二步显示调用高德 API 检索真实数据第三步显示生成个性化旅行指南还加了一个对话功能规划完行程后可以继续追问关于这个城市的任何问题。实际效果运行效果如下输入目标城市分析需求智能Agent就检索数据开始搜索并生成指南。输入杭州2天历史文化、美食Agent 返回的结果让我挺惊喜的内容非常丰富包括图文并茂知识全面而且细腻天气感知Evolving 注意到当天杭州中雨 26°C~36°C主动给出了防滑、带伞、穿速干衣的建议。这不是模板话术是真的看了天气数据后给的针对性建议。行程合理性Day 1 上午飞来峰灵隐寺下午岳王庙孤山西泠印社晚上河坊街南宋御街——这些景点在地理位置上确实是串联的不是随机堆的。Day 2 去德寿宫遗址博物馆→胡雪岩故居→京杭大运河桥西街区也是一条合理的路线。真实数据校验每个景点都从高德 API 拉到了真实地址。飞来峰的地址是灵隐街道灵隐路法云弄1号胡雪岩故居是元宝街18号——我查过都是对的。没有出现编造地址的情况。文案质量生成的旅行指南标题是两天一夜杭州旅行指南雨中东晋南宋一口杭帮烟火——这个标题有调性不像 AI 味的杭州两日游攻略。对 Seed Evolving 的真实感受用完之后说几点切身感受Agent 能力确实强。整个流程是三步串行调用每步的输出作为下一步的输入。Evolving 在每一步都能稳定输出结构化 JSON没有出现格式错乱。第二步用高德 API 拿到的真实数据喂给它它能正确地把这些信息整合到最终文案里没有丢失或混淆。幻觉控制有明显改善。我特意测试了如果高德 API 没返回某个景点的评分Evolving 在文案里会写暂无评分而不是编一个分数。在景点地址上它完全使用了高德返回的真实地址没有自己编。这个在实际项目中非常重要——用户按 AI 给的地址去导航结果地址是假的这种体验是灾难性的。长文本生成质量不错。最终生成的旅行指南有 800-1200 字结构清晰有开头引入、天气建议、每天行程详情、结尾总结。语言风格不是干巴巴的列表而是有叙事感的旅行散文。Token 效率。三步调用加起来消耗的 token 不算多个人开发者 50 万免费额度够用很久了。写在最后这个项目原本只是想验证一下 Seed Evolving 的 Agent 能力没想到做出来效果还不错已经可以实际用了。整个开发过程大概花了半天时间大部分时间在调试 prompt 和前端样式。Seed Evolving 在这个项目里扮演的角色很清晰它是 Agent 的大脑负责理解需求、规划行程、整合信息、生成文案。高德 API 是眼睛和手负责获取真实数据和验证。两者配合做出一个既聪明又靠谱的旅行助手。如果你也有类似的需求——需要让 AI 调用外部 API、整合多源数据、生成有质量的内容——可以参考这个方案试试。Seed Evolving 的 Agent 能力和幻觉控制确实能撑住真实业务场景。