← 文章 / AI技术
Simon Willison 1小时前 · 2026-09-15 17:05:08 · 0 阅读

用 GPT-6 Astra 和 ChatGPT Work 生成跑步路线

用 GPT-6 Astra 和 ChatGPT Work 生成跑步路线

2026年9月12日

今天上午,我让 ChatGPT Work 配合 GPT-6 Astra(Max 版本)完成了一个很有趣的任务:

我住在 <我的地址>。请利用 OSM 数据,为我规划 5 公里和 10 公里的环形跑步路线,起点均为我家。

任务耗时 27 分钟,结果完全符合预期,既生成了嵌入式可视化地图,也提供了可下载的 GPX 文件和 GeoJSON 文件。下面是 5 公里路线:

地图截图,显示在浅灰色街道图上叠加的蓝色路线。文字标注:El Granada 港口环线 5.1 公里。北方指示:↑(右上角)。沿路线的街道名称:Carmel 大道、Paloma 大道、San Carlos 大道、Avenue Granada、Capistrano 路、Francisco 街、Coastal 步道。路线从左下角的港口出发,沿 Avenue Granada 和 Paloma 大道向北至 Carmel 大道附近的北点,随后沿 San Carlos 大道向东,再沿 Francisco 街向南至最东端,最后沿海岸线旁的 Coastal 步道向西返回。页脚:地图数据 © OpenStreetMap 贡献者。反馈意见。

当我询问其生成路线的过程时,它回答:

我使用 Nominatim 定位地址,并通过 Overpass 下载本地 OpenStreetMap 道路和步道数据,随后在本地计算环路。

令人遗憾的是,实际运行的代码及操作细节在 ChatGPT 界面中对我不可见。我认为这种缺乏透明度的设计反而是一种反功能。

等我想到索要其所用 Python 代码的副本时,ChatGPT 已无法提供。这似乎是因为对话线程经过了压缩处理。我认为任何使用压缩机制的 LLM 系统,既要保留压缩前的文本,又要通过 Agent 工具调用使这些文本可访问,以避免此类问题。

至于地图的展示,它调用的是 visualize 技能。它创建了一个名为 /workspace/el-granada-5k-share.html 的文件,直接嵌入到 ChatGPT 界面中。

以下是 该 HTML 文件的副本,开头部分如下:

<div id="eg-share-loop">
  <div class="viz-row"><h3>El Granada 港口环线</h3><span class="text-small">5.1 公里</span></div>
  <div id="eg-share-stage"></div>
  <div class="text-small text-muted">地图数据 © <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">OpenStreetMap 贡献者</a></div>
  <style>
    #eg-share-loop { width:100%; }
    #eg-share-loop #eg-share-stage { width:100%; margin:8px 0; }
    #eg-share-loop .eg-share-map { display:block; width:100%; touch-action:none; }
    #eg-share-loop .eg-share-map text { fill:var(--foreground); font-size:12px; font-weight:400; }
    #eg-share-loop .eg-share-label { paint-order:stroke; stroke:var(--background); stroke-width:3px; stroke-linejoin:round; }
  </style>
  <script type="application/json" id="eg-share-data">{"route":{"type":"LineString","coordinates":[[-122.467425,37.4997753] ...</script>
  <script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js"></script>
  <script>
  (() => {
    const root=document.getElementById('eg-share-loop');

<script type="application/json"> 元素包含了渲染跑步路线和地图本身所需的完整几何数据。渲染过程使用 D3,该库从本部分visualize 技能中描述的允许列表 CDN 位置加载:

外部资源

  • CSP 仅允许 cdnjs.cloudflare.comesm.shcdn.jsdelivr.netunpkg.comfonts.googleapis.comfonts.gstatic.comfonts.bunny.net。其他来源会被阻止且静默失败。
原始来源: Simon Willison

评论 (0)