返回 文章 apply CMS 文章

用 GPT-6 Astra 和 ChatGPT Work 生成跑步路线:一次实测与透明度反思

一次真实测试:AI 智能体如何用 OSM 数据规划跑步路线,以及它为何让你看不到过程。

ChatGPT WorkGPT-6 AstraOpenStreetMap跑步路线
成长分 / 100 64 综合收获、行动、留存与影响

用 GPT-6 Astra 和 ChatGPT Work 生成跑步路线:一次实测与透明度反思
为什么值得读展示 ChatGPT Work 与 GPT-6 Astra 在真实地理数据任务中的完整工作流与产出形态。

揭示当前 LLM 系统在代码透明度和对话压缩方面的结构性缺陷,对工具设计有警示意义。

关键洞察
  1. ChatGPT Work 配合 GPT-6 Astra 运行了 27 分钟,成功生成 5 公里和 10 公里环形路线,并附带嵌入式可视化和可下载的 GPX、GeoJSON 文件。
  2. 路线生成流程为:用 Nominatim 定位地址,用 Overpass 下载本地 OpenStreetMap 道路和步道,再在本地计算环形路线。
  3. 可视化通过 visualize 技能实现,生成 HTML 文件嵌入 ChatGPT 界面,使用 D3 从允许列表中的 CDN 加载。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:3432

今天早上,我让搭载 GPT-6 Astra (Max) 的 ChatGPT Work 做了一件挺有意思的事:

I live at <my address>. Figure out 5K and 10K running routes from me that loop from my house. Use OSM data.

它工作了 27 分钟,产出的结果正是我想要的,既有嵌入页面的可视化,也有可下载的 GPX 文件和 GeoJSON 文件。这就是那条 5K 路线:

地图截图,浅灰色街道地图上有一条蓝色路线。文字:El Granada harbor loop 5.1 km。N ↑(右上角)。沿途街道标注:Carmel Avenue、Paloma Avenue、San Carlos Avenue、Avenue Granada、Capistrano Road、Francisco Street、Coastal Trail。环线从左下角的港口出发,沿 Avenue Granada 和 Paloma Avenue 向北,到达 Carmel Avenue 附近的北端,然后沿 San Carlos Avenue 向东,再沿 Francisco Street 向南到最右侧,最后沿海岸线旁的 Coastal Trail 向西返回。页脚:地图数据 © OpenStreetMap contributors。提交反馈。

当我问它是怎么生成这条路线的,它回答说:

我用 Nominatim 定位地址,用 Overpass 下载本地的 OpenStreetMap 道路和小径,然后在本地计算环线。

令人沮丧的是,它实际运行的代码和具体操作细节,我在 ChatGPT 界面里都看不到。我认为这种缺乏透明度的做法是个反特性。

等我想到要它给我一份所用的 Python 代码时,ChatGPT 已经无法提供了。原因似乎是该对话线程已被压缩(compaction)。我认为,任何使用压缩的 LLM 系统,都既要保留压缩前的文本,也要让智能体能通过工具调用获取这些文本,以防出现这类问题。

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

这是那份 HTML 的副本,开头如下:

<div id="eg-share-loop">
  <div class="viz-row"><h3>El Granada harbor loop</h3><span class="text-small">5.1 km</span></div>
  <div id="eg-share-stage"></div>
  <div class="text-small text-muted">Map data © <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">OpenStreetMap contributors</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,它从一个白名单内的 CDN 位置加载,相关说明见 visualize skill 的这一节:

外部资源

  • CSP 只允许 cdnjs.cloudflare.com、esm.sh、cdn.jsdelivr.net、unpkg.com、fonts.googleapis.com、fonts.gstatic.com 和 fonts.bunny.net。其他来源会被拦截,并且不会有任何提示地失败。