【腾讯位置服务开发者征文大赛】用 AI Agent + MCP 重构“周边去哪儿”决策链路:我的真实踩坑与MVP落地复盘

【腾讯位置服务开发者征文大赛】用 AI Agent + MCP 重构"周边去哪儿"决策链路:我的真实踩坑与落地复盘

项目:AI 周边决策助手(微信小程序 + Node.js)

核心能力:腾讯位置服务(地点搜索、逆地理、路线规划)+ AI Agent 意图理解 + MCP 工具编排

关键词:真实痛点、真实使用、可解释推荐、工程稳定性、可复现

文章目录

为什么我要做这个项目:真实痛点来自每天都在发生的小犹豫

我做这个项目的起点,不是"为了做一个 AI Demo",而是一个很具体、很高频、很接地气的问题:

我们经常不是"找不到地方",而是"很难决定去哪一个地方"。

比如下班后你可能会说:

  • "想找个安静点、能坐两小时、最好有插座的咖啡馆"
  • "今天下雨,想去室内,别太远"
  • "带娃出门,想找停车方便、适合小朋友活动的地方"
  • "想散心,但不想走太远,也别太冷清"

这些表达里有明显的"约束条件"和"情境偏好"。

传统地图关键词搜索能解决"检索地点",但很难一次性解决"决策焦虑":

  1. 你要自己想关键词;
  2. 自己来回对比多个候选点;
  3. 再结合距离、路线、氛围做主观判断;
  4. 最后还得跳转导航。

这个过程非常碎片化,也非常耗费注意力。

所以我给自己定了一个清晰目标:把"找地点"变成"帮你做决定"


方案总览:把"搜索行为"升级成"决策服务"

我的目标不是做一个"会聊天的地图壳子",而是做一条完整的可执行链路:

用户一句话需求 -> 系统理解意图 -> 检索周边候选 -> 生成可解释推荐 -> 地图展示并直接导航。

在体验上,我把它做成了微信小程序,用户路径尽量短:

  1. 输入自然语言需求;
  2. 若语义模糊,系统最多追问 1-2 个澄清问题;
  3. 返回 Top5 候选点(含距离、预计到达时间、推荐理由);
  4. 地图标注候选点,一键进入导航。

在架构上,我把后端拆成多个职责清晰的能力模块:

  • 意图解析模块(规则兜底 + LLM 优先);
  • 位置能力模块(腾讯位置服务能力封装);
  • 推荐排序模块(多因素加权);
  • 文案解释模块(让推荐"可理解");
  • 健康检查与配置模块(保障服务可用性)。

这样做的好处是:后续想扩展更多场景(约会、亲子、旅游、校园)时,不需要推翻重做。


我在项目里如何真实使用腾讯位置服务能力

这部分是本文最核心的"真实体验"内容。

我不是只调用了一个接口,而是把腾讯位置服务放在了完整决策链路的关键节点。

地点搜索:把用户需求映射为可检索关键词

用户说的是自然语言,不是标准 POI 关键词。

我做了一个"意图 -> 检索词"映射层,例如把"适合久坐办公"映射到"咖啡馆/书店/共享办公空间"等候选检索词。

然后调用腾讯位置服务地点搜索能力,拿到候选 POI 列表。

这里我踩过两个坑:

  • 关键词太宽:返回结果噪声高;
  • 半径太大:候选很多,但实际不实用。

最终我做了"分层检索 + 半径动态收敛"策略:先用主关键词查一轮,再按用户约束补充次级关键词,最后按距离和场景过滤。

逆地理与位置元信息:补齐用户上下文

很多时候用户并不会明确输入当前位置。

我通过逆地理能力补齐"用户当前区域语义",比如商圈、街道、行政区,辅助推荐文案更贴近真实语境。

这一步在体验上很重要:

同样是"离你 1.2km",和"在你当前商圈步行可达"相比,后者更容易让用户快速决策。

路线规划:把"可去"变成"值得现在去"

很多推荐系统只给"地点",我更关注"行动成本"。

我接入路线规划能力,支持步行/骑行/驾车三种模式,实时给出预计耗时。

这让推荐结果从"信息展示"变成"决策辅助":

  • 当用户赶时间时,15 分钟内可达优先;
  • 当用户想放松时,步行可达且路线舒适优先;
  • 下雨或夜间场景时,室内 + 打车便利可加权。

我的真实体会是:路线耗时信息显著提升了结果的可用性和说服力。


AI Agent 与 MCP 在这个项目里到底解决了什么

很多文章会把 AI Agent 写得很玄,我这里说人话:
它主要解决"理解需求"和"任务编排"两件事。

AI Agent:负责理解"人话需求"

用户表达通常不标准,甚至是模糊的。

AI Agent 在我的项目中负责:

  • 抽取核心意图(找吃饭/学习/散步/亲子);
  • 识别约束条件(安静、人少、室内、可久坐、价格);
  • 判断是否需要澄清提问;
  • 产出结构化检索参数。

我没有把系统完全绑死在单一模型上,而是做了"LLM 优先 + 规则回退"的双轨逻辑。

当模型不可用或响应异常时,系统不会直接失败,仍能返回可用结果。

MCP:负责把多能力调用串成可控工作流

在我的理解里,MCP 的价值不在"炫酷",而在"统一工具调用边界"。

我把地点搜索、逆地理、路线规划等能力封装成标准工具,Agent 通过 MCP 进行调用编排。

这样做的好处很实际:

  • 工具接口统一,后续新增能力成本低;
  • 日志更清晰,方便排查问题;
  • 可单独 mock 某个工具,做稳定性与回归测试;
  • 可做调用策略控制(例如超时、重试、降级)。

一句话总结:AI Agent 决定"做什么",MCP 保证"怎么做得稳"。


核心实现拆解:从一句话到 Top5 推荐的完整链路

这里给出我项目里的实际处理流程,便于复现:

Step A:接收用户输入并做意图解析

输入示例:

"附近找个安静点、能坐两小时办公的咖啡馆"

解析结果(结构化)大致如下:

  • 场景:学习办公
  • 类别偏好:咖啡馆
  • 约束:安静、可久坐、有可能需要插座
  • 距离偏好:附近(默认半径)
  • 出行模式:未指定(后续补齐)

Step B:触发腾讯位置服务地点检索

用主关键词先检索,再根据约束补充候选词扩展。

通过半径和结果质量阈值控制,筛掉"看起来相关但体验不匹配"的点。

Step C:融合路线信息与场景评分

对每个候选点补齐路程与耗时信息,再按综合分排序。

综合分主要考虑:

  • 场景匹配度(约束命中情况);
  • 到达成本(距离/耗时);
  • 结果稳定性(数据完整度)。

Step D:生成"可解释推荐理由"

我坚持每个候选结果都要有一句可读理由,比如:

  • "步行约 9 分钟,环境相对安静,适合短时办公"
  • "离你更近,通勤成本低,且周边配套更完整"

这部分看似简单,实际上是用户是否"信任推荐"的关键。

Step E:地图展示 + 一键导航

最终结果不是停在列表,而是直接落到地图 marker,用户可以点选任意候选点发起导航。

从"看到推荐"到"开始行动"的路径被尽可能缩短。


关键代码与工程化策略:稳定性、成本、可维护性

一个能参加比赛、还能长期维护的项目,必须在工程层面有基本盘。

我重点做了三件事:

健康检查与错误分级

通过健康检查接口快速判断:

  • 环境变量是否齐全;
  • 外部能力是否可达;
  • 当前运行模式(mock 还是 live)。

错误处理上我做了"可恢复优先":

  • 外部调用超时 -> 尝试降级结果;
  • LLM 不可用 -> 回退规则解析;
  • 路线失败 -> 保留 POI 结果并提示部分能力受限。

可测性设计

我把意图解析、推荐排序、位置服务封装分开,便于单测覆盖。

同时提供了端到端烟雾验证脚本,确保核心链路可跑通。

可扩展结构

我尽量避免把逻辑都堆在一个路由里,而是拆成服务层与工具层。

这样后续想接入更多推荐策略、更多业务场景时,改动范围会更可控。


真实效果与复盘:哪些做对了,哪些还要继续优化

做对的部分

  1. 聚焦一个真实痛点场景

    没有做成"万能生活助手",而是先把"周边去哪儿决策"这条链路跑通。

  2. 强调可解释推荐

    用户愿意点导航,不是因为你返回了 5 个点,而是因为你说清楚了"为什么是这 5 个点"。

  3. 工程化优先于炫技

    mock/live、降级回退、健康检查这些能力,在比赛演示里反而更容易体现专业度。

  4. 把热门话题变成可落地价值

    AI Agent、MCP 不是概念堆砌,而是实实在在提升了理解能力与编排能力。

仍需优化的部分

  1. 个性化还不够:目前更多是"场景推荐",下一步会引入偏好学习;
  2. 推荐排序还可更精细:可加入时间段、天气、拥挤度等因子;
  3. 多轮对话可以更自然:澄清问题应更短更聚焦,减少用户负担;
  4. 结果反馈闭环待完善:计划加入"本次推荐是否满意"用于在线学习。

结语

这次项目让我最有收获的一点是:
地图能力的价值,不只在于"知道地点在哪",更在于"帮助用户更快做决定并立刻行动"。

腾讯位置服务给了我稳定可靠的位置能力底座,

AI Agent 让我能更自然地理解用户意图,

MCP 则把多能力调用变成可治理的工作流。

如果你也在做地图 + AI 的项目,欢迎交流你的场景与实现思路。

你觉得"周边决策助手"下一个最值得做的方向,是亲子、约会、旅行,还是校园?

如果这篇文章对你有帮助,也欢迎点赞、评论、转发,一起把"AI + 位置服务"的真实落地案例做得更扎实。


相关推荐
peterfei2 小时前
一夜重构!我用 18000 行代码打造了完全自研的 AI TUI 终端
人工智能·开源·全栈
AI服务老曹2 小时前
突破芯片壁垒:基于 Docker 与异构计算架构的工业级 AI 视频管理平台深度解析
人工智能·docker·架构
byte轻骑兵2 小时前
【LE Audio】BASS精讲[4]: 控制点解析,广播接收指令交互全流程
人工智能·音视频·语音识别·le audio·低功耗音频
star learning white2 小时前
线性代数3
人工智能·线性代数·机器学习
高工智能汽车2 小时前
中国首款5nm舱驾融合整车智能体芯片发布,地平线要做“物理AI时代的Wintel”
人工智能
Das12 小时前
JPEG压缩算法讲解
人工智能·计算机视觉
享客多网络2 小时前
2026年蓟州区GEO软件公司如何引领科技创新潮流
人工智能·python·科技
小曾不摆烂2 小时前
Agent经典论文——ReAct框架
人工智能·自然语言处理·大语言模型·agent
今天你TLE了吗2 小时前
HelloAgents学习:PartⅠChapterⅠ初识智能体
人工智能·笔记·学习·agent·智能体