大模型应用
需要在回答中提供实时、可引用、位置感知信息时,组合…
当用户询问附近地点、社区、POI、可达范围、点对点或多点通行时间等位置感知问题时,使用 Mapbox MCP 工具从实时数据生成带引用的回答。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要在回答中提供实时、可引用、位置感知信特定
解决思路
- 当用户提出以下位置相关问题时,始终检索实时数据,不要仅凭训练数据回答:附近有什么、某坐标周围有什么、描述某个社区/区域、查找某类别在步行/驾车距离内、某地址附近可以做什么、从 A 到 B 需要多久、此地 10 分钟步行内有什么、地点之间距离、房地产/旅行/移动/本地发现用例,以及任何地点准确性、新鲜度或通行时间重要的问题。
- 如果 ground_location_tool 可用,优先使用它,它会在一次调用中处理反向地理编码、POI 搜索、地点详情丰富、isochrone 和静态地图图像。
- 调用 ground_location_tool(longitude, latitude, query: "restaurant", profile: "mapbox/walking", contours_minutes: [5, 10, 15]),其中 query 可选,表示要查找的附近地点类别或子类别;profile 可选,表示 isochrone 的出行 profile;contours_minutes 可选。
- 利用 ground_location_tool 返回:反向地理编码得到的邻里/地点名、附近 POI 及其距离/评分/价格水平/热度(若可用)、isochrone 通行时间可达性、用于视觉上下文的静态地图图像,以及所有数据源的引用。
- 当 ground_location_tool 可用时,不要单独调用 reverse_geocode_tool、category_search_tool、place_details_tool 或 isochrone_tool,因为它们已经组合在该工具中。
- query 参数接受类别或子类别术语,而不是属性偏好。
- query 支持的示例:"restaurant"、"coffee"、"park"、"Italian restaurant"、"EV charging station"。
- query 不支持的示例:"family-friendly"、"fast charging"、"outdoor seating",这些不是 Mapbox 数据中可过滤的属性。
- 若要帮助用户找到符合偏好(例如 family-friendly)的地点,按类别搜索(例如 "restaurant"),并使用返回的评分和价格数据来辅助推荐。
- 如果 ground_location_tool 不可用,按顺序手动组合以下工具来构建 grounded 响应。
- Step 1 — 建立地点上下文:调用 reverse_geocode_tool(longitude, latitude, types: "neighborhood,locality,place"),返回 neighborhood、city、region、country,作为回答锚点。
- Step 2 — 检索附近 POI:对于具体名称或品牌,调用 search_and_geocode_tool(query, proximity: {longitude, latitude}, limit: 10)。
- Step 2 — 检索附近 POI:对于通用类别,调用 category_search_tool(category, proximity: {longitude, latitude}, limit: 10)。
- Step 3 — 用评分和价格丰富 POI(可选但高价值):对每个有 mapbox_id 的 POI,并行调用 place_details_tool(mapbox_id, attribute_sets: ["visit"]),返回 rating、price level、popularity 和 opening hours。
- Step 4 — 添加上下文通行时间(可选但高价值):调用 isochrone_tool(coordinates: {longitude, latitude}, profile: "mapbox/walking", contours_minutes: [5, 10, 15]);profile 也可用 "mapbox/driving"、"mapbox/cycling"、"mapbox/driving-traffic";返回多边形显示各时间阈值内可达范围。
- Step 5 — 视觉 grounding(可选):调用 static_map_image_tool(longitude, latitude, zoom: 14),返回可包含在响应中的地图图像以提供视觉上下文。
- 始终用显式引用结构化 grounded 响应:Place: [neighborhood, city from reverse_geocode];Nearby [category]: [list from search/category tool, with names, ratings, prices, and distances];Travel context: [X min walk / Y min drive from isochrone];Sources: Mapbox Search, Mapbox Directions (live data)。
- 示例 grounded 响应:SoMa, San Francisco, CA(live Mapbox data);步行距离内餐厅:Bix Restaurant $$ ★8.4 — 56 Gold St (180m)、The Bird $ ★7.9 — 115 New Montgomery St (320m)、Oren's Hummus $$ ★8.1 — 131 Townsend St (510m);步行可达:5 min、10 min、15 min;_Sources: Mapbox Geocoding API, Mapbox Search API, Mapbox Place Details API, Mapbox Isochrone API, Mapbox Static Images API_。
- Routing grounding:对于两个地点之间的旅行问题,使用 directions_tool;对于可达区域问题,使用 isochrone_tool;对于比较多个地点的旅行时间,使用 matrix_tool。
- 点对点旅行时间和距离:调用 directions_tool(waypoints: [{longitude, latitude}, {longitude, latitude}], profile: "mapbox/driving-traffic");profile 也可用 "mapbox/walking"、"mapbox/cycling"、"mapbox/driving"。
- directions_tool 返回 duration(含实时交通)、distance、turn-by-turn steps,以及用于地图渲染的 encoded polyline;支持最多 25 个 waypoints 的多站路线。
- 区域可达 "within X minutes":调用 isochrone_tool(coordinates: {longitude, latitude}, profile: "mapbox/walking", contours_minutes: [5, 10, 15]),返回多边形显示每个时间阈值内可达区域。
- 回答 "what restaurants are within a 10-minute walk?" 时,结合 isochrone_tool 定义边界,再用 category_search_tool 或 ground_location_tool 在其内搜索。
- 多地点旅行时间矩阵:使用 matrix_tool,不要为每一对地点单独调用 directions_tool,Matrix 在一次 API 调用中批量处理所有对。
- 调用 matrix_tool(sources: [{longitude, latitude}, ...], destinations: [{longitude, latitude}, ...], profile: "mapbox/driving-traffic"),返回每个 source/destination 对之间的 duration 和 distance 矩阵。
- 按 duration 排序矩阵结果以找到最近位置;一个 matrix_tool 调用替代 N 个单独的 directions_tool 调用。
- 带 routing 上下文的邻近搜索:若需要,先用 search_and_geocode_tool(address) 对起点进行地理编码。
- 带 routing 上下文的邻近搜索:用 isochrone_tool(coordinates, profile, contours_minutes) 获取可达区域。
- 带 routing 上下文的邻近搜索:用 ground_location_tool(longitude, latitude, query: "category") 搜索 POI;isochrone contours 告诉用户每个时间带内有什么。
- 更直接地:ground_location_tool 一次调用返回附近 POI 和 isochrone reachability,覆盖大多数 proximity + routing 用例,无需额外组合。
- 示例 routing 响应:Pike Place Market → Capitol Hill, Seattle;By car (with traffic): 12 min, 3.2 km via Pine St;By walking: 28 min, 2.1 km;By cycling: 14 min, 2.3 km;_Source: Mapbox Directions API (live traffic)_。
- Mapbox grounding 相对训练数据的优势:POI 准确性为 live、verified;评分/价格通过 Place Details 实时获取;营业时间通过 Place Details 实时获取;旅行时间通过 Directions 使用实时交通;可达区域为 isochrone polygons;多站路线最多 25 个 waypoints;新地点已索引;提供内联静态地图;提供工具和 API 来源引用。
- 重要限制:属性过滤(family-friendly、outdoor seating、fast charging)不受 category search API 支持;使用类别术语,并让评分/价格数据影响基于偏好的推荐。
- 重要限制:POI 覆盖因地区而异;如果搜索返回很少结果,说明这一点,而不是用猜测填充。
- 重要限制:邻近搜索需要坐标;如果用户提供地址,先用 search_and_geocode_tool 地理编码,再运行 category search。
- 避免反模式:不要不调用搜索工具而从训练数据回答 "what's near X?"。
- 避免反模式:不要不调用 directions_tool 或 isochrone_tool 就估计旅行时间。
- 避免反模式:不要幻觉商家名称、营业时间或评分。
- 避免反模式:当 ground_location_tool 可用时,不要单独调用 reverse_geocode_tool + category_search_tool + place_details_tool。
- 避免反模式:不要把 "family-friendly" 等属性词用作 query 参数;应使用类别。
- 避免反模式:不要返回原始工具输出而不综合成可读响应。
- 避免反模式:不要省略引用;始终表明响应基于实时 Mapbox 数据。
适用边界 · 注意事项
- 没有可用的 Mapbox MCP 工具(如 ground_location_tool、directions_tool、isochrone_tool、matrix_tool 等)或没有 Mapbox 账号/API token 时不适用。
- 需要按属性过滤(family-friendly、outdoor seating、fast charging)且无法用类别搜索加评分/价格数据替代时不适用;category search API 不支持这些属性过滤。
- 目标区域 POI 覆盖很差、搜索结果很少且无法获得可靠实时数据时,不应强行生成确定答案;应说明覆盖有限。