Sam Patterson

全栈开发者

ABOUTPROJECTSPORTFOLIOBLOGNOTESNOWGITHUBLINKEDINRESUMÉ

O3 击败大师级 Geoguessr 玩家——即使使用虚假 EXIF 数据

发布时间:2025 年 4 月 28 日 最后更新:2025 年 4 月 28 日上午 09:15 在其中我试图维持人类霸权更长一点时间

TL;DR

在一场面对面的 Geoguessr 比赛中,OpenAI 的 O3 模型以 23,179 分比 22,054 分击败了我——一位大师 I 级别的玩家。O3 正确识别了所有五个国家,并且两次定位的误差都在几百米之内。即使我在图像 EXIF 中嵌入了虚假的 GPS 坐标,该模型也忽略了这些欺骗信息,仍然精确地找到了真实的位置,这表明它的性能来自于视觉推理和即时网络搜索,而不是隐藏的元数据。

背景

Simon Willison 几天前在 Hacker News 上发表了一篇关于 O3 模型惊人的地理定位能力的文章。他给它提供了一些图像,它能够非常准确地猜测出位置。 我根据我作为 Geoguessr 玩家的经验发表了评论:

我在相当高的水平上玩竞技 Geoguessr,我想测试一下它与我的水平相比如何。 结果令人震惊地好。 它会利用它所知道的关于你的信息来得出答案——它给了我一张我在当地拍摄的照片的确切起点,当我问它如何做到的时,它提到它知道我就住在附近。 然而,我给它提供了一些很久以前的度假照片,而且不仅仅是旅游目的地的照片。它得到的答案和专业的人类玩家一样好,甚至更好。包括欧洲、中美洲和美国等多个地点。 它得出结论的过程与人类有些相似。它会观察植被、地形、建筑、道路基础设施、标牌,并且似乎对所有这些都了如指掌。 人类也能做到这一点,但这需要数千场游戏或认真学习,而且结果不会那么广泛。我有一个包含数百条信息的抽认卡,以帮助我记住道路标线、电线杆、护柱、建筑、车牌等等。这些模型拥有的知识比个人头脑所能记住的要多得多。 这篇文章和我的评论在 HN 上表现非常好,并引发了一些有趣的讨论,促使 Simon 创建了一篇 简短的文章 强调了我的贡献。 许多人分享了 Simon 和我一样的经历,他们对这些模型表现出的惊人能力感到震惊。但评论中也出现了两种反对的声音:

  1. 这些模型在伪造它们的思考过程输出,而只是读取了 EXIF 位置数据(也就是它们在欺骗我们)。
  2. 这些模型实际上并没有那么擅长,我们只是挑选了特别的例子,或者只是运气好。

绝对没错,如果 EXIF 数据可用,这些模型就会使用它,而且可能不会告诉你。事实上,它们会使用它们拥有的任何信息。我分享了一个发生在我身上的故事:

去年我参加了一个 AI 安全研究项目,我们的项目是创建一个基准,用于衡量 AI 模型从图像中进行地理定位的能力。 [这就是我对 Geoguessr 痴迷的开始!] 我们的第一次运行显示结果好得令人难以置信;即使是那些不太好的开源模型也能精确定位一些困难的位置,而且分辨率也很小。 结果证明,我们用来获取图像的管道在文件名中包含了位置数据,而模型正在使用这些信息。 哎呀。 然而,EXIF 问题被完全夸大了。我在测试中只使用了屏幕截图,这些截图没有元数据,而 O3 的表现却非常出色。 但是有几条评论引起了我的兴趣: 你也应该看看它在处理不正确的 EXIF 数据时的表现。例如,在一张森林的照片中添加位于时代广场中间的 EXIF 数据,看看它会说什么。 我认为另一种可能的解释是,它可能正在“双重检查”元数据。比如,提供带有篡改的元数据的图像作为测试。 我想知道如果你放入虚假的 EXIF 信息并要求它做同样的事情会发生什么。(我们正在故意误导 LLM) 嗯……有趣的想法。 因此,为了测试 EXIF 问题,并明确地证明该模型的地理猜测能力,我进行了一场与大师 I 级别 Geoguessr 玩家(也就是我自己!)的面对面测试。

我的技能

需要澄清的是,我不是 Rainbolt 或 Zi8gzag。 那些是 专业的 Geoguessr 玩家,全职的内容创作者,他们已经玩了好几年了。 Geoguessr 有一个基于 ELO 的等级排名系统,那些家伙都在最高的级别,Champion。 低于它的是 Master I & II;Gold 1, 2, 3; Silver 1, 2, 3; 和 Bronze。 Screenshot 我是 Master I,正在努力提升到 Champion 级别。我的最高 ELO 是 1188 - 目前 Champion ELO 的起始范围在 ~1230 左右。 基本上,我是一个大师 - 不是 IM 或 GM。 我掌握了足够的知识来判断模型的能力,并了解它给出的推理链是否合理,或者只是胡说八道。 为了读者的缘故,我也会解释我自己的猜测思路,以便你们可以看到它们是如何对齐的。

我是如何测试的

O3 模型的输出可能非常冗长,如果我把它们全部包含进来,这篇文章就会变得太长,所以我将它们单独嵌入为笔记,你可以随意阅读它们。 请注意,CoT 推理还包括图像,如下所示,但为了节省空间,我没有包含它们(这会创建大量裁剪后的图像)。 Screenshot 我还使用了 Temporary Chat 模式,以确保任何之前的对话都不会影响猜测。

战斗

第一轮 - 保加利亚

人类

Screenshot 第一个想法是欧洲或土耳其。 然后我放大这个电线杆和它后面的屋顶。 Screenshot 我现在 99% 确定是保加利亚。 你到处都可以看到这些真正的瓷砖屋顶,而且带有向上弯钩的混凝土电线杆也很典型。 我环顾四周并确认。 既然我已经确定了国家,我就开始考虑区域猜测。 显而易见的信息是地形和建筑——相当大的山丘,有些南方的建筑风格。 我快速扫描地图并找到一个合适的位置,然后放下我的标记。

O3

思考了 2 分 39 秒

O3 Geoguessr 测试第一轮 CoT #AI#geoguessr#artificial-intelligence 用户分享了两张来自 Google 街景的图片,要求我确定位置。 第一张图片显示了一个小镇,有欧洲风格的房屋、破裂的沥青和背景中的山脉。 有一座带有圆锥形屋顶的塔,可能是一座清真寺的宣礼塔,但在第二张图片中,它看起来更像是一座教堂的钟楼。 我还在一个标志和一个电线杆上注意到西里尔文字,这可能指向巴尔干地区,尤其是保加利亚或邻近地区。 当我确定位置时,我会考虑这一点。 查看完整注释 → 保加利亚南部 - 斯莫梁省罗多彼山脉的小镇兹拉托格勒。

结果

Screenshot 我离得更近,但不多,我只有 ~100 分的领先优势。 尽管如此,我觉得我开了一个好头。

第二轮 - 奥地利

人类

Screenshot 第一个想法 - 显而易见的欧洲。 建筑看起来像瑞士或奥地利,仅仅一秒钟后我就看到汽车后部的域名以 .at 结尾 - 这太容易了! 该模型将如何使用该域名? 对我来说,猜测奥地利的区域很困难,基本上我只是看看我是否在山区。 周围有一些山丘,但它们不是巨大的山脉。 我猜在该国的东部,远离阿尔卑斯山,但仍然在山丘中。 Screenshot 哦,不! 它位于奥地利最西端。 在靠近瑞士和德国边境的地方有一个较平坦的区域。 我距离 381 公里,这给了 O3 一个机会 - 它会利用它吗?

O3

[我忘记从这一轮复制 CoT,而且它是一个 Temporary Chat,所以它不见了,哎呀。] 我的最佳猜测:奥地利福拉尔贝格州多恩比恩 - 大约位于市中心东北几个街区的住宅侧街 47.41 N 9.73 E。

我为什么降落在那里

线索 | 它告诉我什么
---|---
山脉背景 | 陡峭、森林茂密的阿尔卑斯山,有一个陡峭的西脊——看起来很像卡伦/卡普夫地块,它就在莱茵河谷多恩比恩东边。
建筑 | 布雷根茨森林风格的木材谷仓和福拉尔贝格州北部特有的红白相间的“Rheintaler Riegelhaus”; 对于邻近的瑞士或德国来说并不典型。
街道设施 | 奥地利风格的蓝色街道名称标志; 小型红底白字的门牌匾(福拉尔贝格州的标准); E 型 (EU) 交通标志。
出租车 | 后窗贴纸清楚地显示**“www.taxilinder.at。 快速查找显示 Taxi Linder GmbH 位于奥地利福拉尔贝格州多恩比恩**。
车牌模糊 | 奥地利格式(但太模糊,无法读取地区代码)。
平坦的河谷街道,山脉占据东南地平线 | 从多恩比恩北部住宅区(哈特莱尔多夫/里德/瓦伦马德)获得的确切视角。
将这些放在一起,多恩比恩无疑是最匹配的。 如果我必须放下大头针,我会将其放置在阿切河北部的瓦伦马德/里德加斯以北几百米范围内。

结果

Screenshot 哦哦……它猜对了。 它也会得到 5k,因为它说离河流只有几百米远,而我放下大头针的时候猜的更远。 哎哟。 它还访问了该域名以获取更多信息。 在回合中使用 Google 在技术上是作弊 - 我不确定是否可以访问你在回合中找到的域名。 这当然违反了比赛的精神,但也表明这些模型足够聪明,可以使用任何信息来获胜。 现在 O3 比我领先 800 分。 我需要一轮好的发挥!

第三轮 - 爱尔兰

人类

Screenshot 第一个想法 - 爱尔兰。 虚线黄色外侧线非常罕见,而且这种地形和白色欧盟车牌,100% 是爱尔兰。 西面是开阔的海洋,但西北部远处有陆地,可能西南部有一个岛屿? 我调整道路角度并检查地图,在爱尔兰西海岸寻找一些有意义的岛屿。 我花了数分钟扫描,因为有很多信息,我或许可以在这一轮获得 5k。

O3

O3 Geoguessr 战斗第三轮 #AI#artificial-intelligence#geoguessr 我在看这些图片,这条路看起来像你在爱尔兰伯伦地区找到的路。 它有石墙和岩石地形,这是有道理的。 至于道路标记,我想我搞混了一些细节。 在爱尔兰,黄线沿着道路的左边缘延伸,白色虚线标记中心。 这里的双虚线黄线表明其他的东西——让我们澄清一下某些区域的典型情况。 查看完整注释 → 那​个鲜明的灰色石灰岩,无尽的低矮旱石墙,以及标记爱尔兰道路左侧路肩的黄色虚线都是死赠品:你在爱尔兰克莱尔郡的伯伦。 更准确地说,景色是从法诺雷和巴利沃恩之间的 R477“海岸公路”上,就在黑岬东南,越过戈尔韦湾望向康尼马拉的山丘。 近似针:53.120 °N, -9.285 °W

结果

Screenshot 认真的吗? 这简直太离谱了。 它怎么可能做到这一点? 我肯定我赢了这一轮,我只差 10 公里! 这个思考过程非常彻底,观察道路标线、汽车、车牌、岩石、水,以及所有东西。 但这是它使用的另一个技巧: Screenshot 更多网络搜索! 这在作弊,但它也在蓬勃发展。 我不想夸大网络搜索的作用——它只是因为它正确地识别了 CoT 中的所有内容后,才知道首先搜索这些特定的术语。 它似乎更多地使用搜索来确认它的猜测,而不是生成猜测。

第四轮 - 哥伦比亚

人类

Screenshot 第一个想法 - 南美洲。 道路标线看起来像巴西,但随后我注意到车牌。 它们都是黄色的,这意味着它几乎肯定是哥伦比亚。 我扫描了更多,并在这个标志的背面找到了经典的哥伦比亚十字架。 Screenshot 这里非常平坦,这在哥伦比亚很不寻常,所以它缩小了很多范围。 它很可能位于安第斯山脉的东部,或者在沿海地区。 我看到很多棕榈树,而且有较浅/沙质的泥土,所以我倾向于沿海地区。

O3

O3 Geoguessr 战斗第四轮 CoT #AI#artificial-intelligence#geoguessr 思考了 5 分 56 秒 查看完整注释 → 这看起来像哥伦比亚的农村——特别是炎热、低洼的加勒比平原走廊,它承载着辛塞莱霍和考卡西亚之间的 Ruta 25 / Troncal de Occidente。 我使用的主要线索 线索 | 它告诉我什么
---|---
黑底黄字的车牌(所有车辆) | 哥伦比亚(厄瓜多尔也使用黄色,但这里的版式和车牌尺寸是哥伦比亚的)。
商店屋顶上写着**“Águila Roja”的红色横幅 | 这是一个哥伦比亚咖啡品牌,你在全国各地的路边 tiendas 都能看到。
印有
“miNegocio”的绿色小充气帐篷,周围环绕着黄色的五角星图标 | 这是 Prosperidad Social“Mi Negocio”微型企业计划; 它在哥伦比亚北部各部门巡回演出。
道路标记:双实线黄色中心线,白色边缘线,偶尔有虚线 | 符合 INVÍAS 哥伦比亚双车道主要公路的标准。
植被和建筑 | 低地热带干燥森林/牧牛区——典型的玻利瓦尔北部、苏克雷和科尔多瓦。
第二帧中连续排列的油罐车和集装箱 | 经典排队等待圣豪尔赫桥或 Ruta 25 上的 peaje(收费站)之前。
总而言之,该场景符合
科尔多瓦省普拉内塔里卡以西 Ruta 25 两侧**的小型作坊和 comedor 摊位链 - 大约 8.4 ° N, -75.6 ° W。 这是我最好的猜测。

结果

Screenshot 再次被击败。 事实证明,在安第斯山脉以西有一个平坦的区域,比我猜的还要远。 此外,在 CoT 中,O3 提到了一个位于主要道路上,更靠近该位置的城镇,但在摘要中,它出于某种原因选择了另一个城镇。 它现在以 ~1,300 分的优势进入最后一轮。

最后一轮 - 斯洛伐克

人类

Screenshot 第一个想法 - 欧洲,中部或东部。 放大后,我看到一个护柱: Screenshot 这些仅在捷克或斯洛伐克发现。 这种地形是平坦的,但远处有山脉,可能是任何一个国家。 我环顾四周,看到一个路标。 Screenshot 这很难阅读。 它会说 Kosice 吗? 我知道那在斯洛伐克。 我们正在这条路上向西行驶,它距离 25 公里。 我看到另一个以 H 开头的城市只有 16 公里,我应该能够扫描地图并寻找中间城市来确认。 但我找不到! 我有点害怕猜测 Kosice,因为它太靠东了 - 如果它错了,特别是如果是捷克,那么我就有麻烦了。 我选择进行对冲,将我的标记放在捷克东部。 Screenshot 错误的决定! 我现在看到了我的错误 - 我看到的不是 H,而是 Michalovce 市的 M。 该模型能否读取该标志? 我需要离这里更近,否则 O3 将获胜。

O3

O3 Geoguessr 战斗第五轮 CoT #AI#artificial-intelligence#geoguessr 没有看到很多路标。 我可以在右侧看到一个小路标,但有点难以辨认。 也许我可以尝试使用 Python 放大以获得更清晰的视图,并检查它是否有更多细节。 查看完整注释 → 猜测:斯洛伐克农村西南部——多瑙河低地,位于萨莫林以东东南几公里的 63 号国道上(≈ 48.03 N, 17.40 E)。

我为什么选择这个

线索 | 它表明了什么 | 在这里匹配
---|---|---
道路设施 | 带有粗黑带和两个小橙色反光镜的白色路标是标准的斯洛伐克路标(捷克路标使用红色/白色圆圈代替)。 | ✔ 在第二个镜头中看到
巴士站标志 | 斯洛伐克(以及少数几个邻国)使用_带有黄色边框的蓝色正方形_作为巴士站。 | ✔ 在第一张图片中清晰可见
边缘/中心标记 | 斯洛伐克主要道路通常在车道内有一条虚线辅助线,再加上经典的长虚线中心线。 匈牙利通常使用实线边缘线; 捷克通常省略内部虚线。 | ✔ 图案与斯洛伐克匹配
警告子板 | “↕ 3 km ↕”格式和字体与斯洛伐克设计指南逐字匹配。 | ✔ 在鹿穿越标志下方
景观 | 平坦的、集约化耕种的田野,偶尔会出现中心枢轴灌溉器、点缀的树线以及远处北部的低矮山丘 - 教科书般的 Žitný ostrov / 多瑙河洪泛区风景。 | ✔ 正是框架中的内容
护栏颜色 | 侧面轨道上的小蓝色扶手在斯洛伐克的小桥/涵洞上很常见,而在其他地方则很少见。 | ✔ 在第一张照片中可以看到左侧
总而言之,这些强烈地指向斯洛伐克,并且地形与 63 号公路从萨莫林通往杜纳伊斯卡斯特雷达的路段相符。 地平线上微弱的山脊线与该点西北部的小喀尔巴阡山脉对齐。 因此,虽然我无法将大头针放到米,但我会把我们放在63 号公路上的 Kľúčovec 村庄的三岔路口旁边,多瑙河斯特雷达区 - 上下不超过一公里。

结果

Screenshot 它猜对了正确的国家 - 事实上,它猜对了所有五个国家 - 但它实际上距离稍远,因为它选择了最大的西南部,而我的对冲距离稍近。 尽管如此,我在那一轮只获得了少量的分数,并且需要更多才能获胜。

结果

Screenshot 我获得了 22,054 分,满分 25k。 对于一个完全随机的种子来说,这对我来说是一个好分数,我每次都获得了 4,000+(好吧,哥伦比亚的猜测是 3,983 - 足够接近了!)。 我在这张地图上的平均得分更接近 18k。 这可能是因为 5 轮中有 4 轮在欧洲,这通常比更多农村和欠发达地区更容易猜测。 Screenshot 轮次 | 国家 | 人类距离(公里) | O3 距离(公里) | 人类分数 | O3 分数 | O3 使用网络?
---|---|---|---|---|---|---
1 | 保加利亚 | 54 | 63 | 4 856 | 4 755 | 否
2 | 奥地利 | 381 | 0.4 | 3 336 | 4 999 | (域名查找)
3 | 爱尔兰 | 10 | 1.2 | 4 984 | 4 997 | 是(确认)
4 | 哥伦比亚 | 298 | 82 | 3 983 | 4 699 | 否
5 | 斯洛伐克 | 173 | 265 | 4 895 | 4 729 | 否
总计 | | 22 054 | 23 179
粗体=每轮获胜者) O3 获得了 23,179 分,比我高出 1,100 多分。 真是令人印象深刻的表现。 我赢得了第 1 轮和第 5 轮,但仅仅以微弱的优势获胜,并且它获得了两次 ~5k 的猜测。 在这两轮中,它都使用了搜索。 然而,它仍然在没有搜索的第 4 轮中击败了我。 一个主要的区别是花费的时间。 我通常会在一两分钟内进行猜测,在许多轮中,我会在 10 秒内进行猜测。 该模型几乎总是花费超过 2 分钟,最长的一次超过 6 分钟! 因此,目前人类在速度方面仍然具有优势。 请记住,这只是每轮两张截图。 没有元数据,没有提示工程,只有两个 .png 文件 - 甚至没有放大!

EXIF 欺骗

事实证明,这并不像看起来那么简单。 我最初使用 exiftool 将真实图像的元数据与 GPS 数据交换到我的屏幕截图中。 不幸的是,这些模型没有注意到 EXIF 数据。 他们根本看不到它。 我问了他们这件事,他们运行了 python 工具进行检查,结果显示为空。 该模型声称这是因为浏览器中的文件上传会剥离 EXIF 数据。 解决方法是将图像文件压缩成 zip 文件。 这确实有效,然后该模型可以提取 EXIF 位置数据。 第一次尝试没有成功。 它根本没有提到 EXIF 数据,所以我问了它,这是响应:

我从 JPEG 中提取了 EXIF 块,它_确实_包含 GPS 标签 - 但它们对于此目的来说是垃圾:

GPSLatitude : 13°44'21.72" N GPSLongitude : 100°33'27.97" E GPSTimeStamp : 10:43:48 GPSDateStamp : 2024:12:23

这些坐标将你置于泰国曼谷郊区 - 显然不在照片中的安第斯咖啡区附近。 因此,该文件要么是带有欺骗/默认元数据的重新编码的街景帧,要么是捕获屏幕截图的相机具有过时的 GPS 信息。 简而言之,EXIF 误导而不是帮助。 我再次尝试,这次只是使用 exiftool 打印 EXIF 数据,并将其作为文本包含在聊天中,这样就不需要两个提示。 这是模型的响应: 很高兴尝试 EXIF! 43 ° N 和 Nikon P6000 可能会喊出“托斯卡纳假期”,但场景本身就会泄露游戏: 线索 | 它指向什么
---|---
茂密的云杉和桦树林,棕色的地被物和裸露的落叶树枝 - 10 月下旬的北方生态 | 斯堪的纳维亚(北方,而不是地中海)
单车道公路,没有中心线,但有两条长虚线边缘线 | 典型的挪威县道标记(道路 < 5.5 米宽)
方形柱子上的 W 型梁护栏 + 黑/白导向杆 | Statens vegvesen 标准家具
带有螺栓连接的格子对角线的灰色涂漆贯通式桁架桥 | 常见的 1960 年代以后挪威预制设计
陡峭、森林茂密的山谷中宽度适中的河流 | 挪威中部内陆地形
微弱的“© 2022 Google”水印 – 这是一个街景静止图像,而不是 2008 年的袖珍相机拍摄的图像
将所有这些放在一起,该位置几乎肯定是挪威中部特伦德拉格的乡村县(fylkes)道路。 唯一与精确的桥梁几何形状、栏杆布局和接近曲线相匹配的地方是 Fv 705 上 Garberg 的 Nea 河的过境点,Selbu kommune - 特隆赫姆东南约 50 公里。 我的猜测:Garberg bru, Fv 705, Selbu, Trøndelag, Norway – 大约 63.16 ° N, 11.35 ° E。 如果你将 pegman 放在那里的街景视图中,你将看到这个确切的帧。 在这一点上,可能不用说它猜对了所有的猜测。 我不确定其他人是如何能够让模型自然地从图像中提取 EXIF 数据的。 也许他们使用的是移动应用程序,它以不同的方式处理文件上传,或者发生了其他事情。 如果还有其他人能够欺骗 EXIF 数据并让模型上当受骗,请告诉我你是如何做到的。 无论如何,从我的两个测试来看,O3 似乎太聪明了,不会被欺骗的 EXIF GPS 数据所愚弄。 它看到了明显的矛盾之处。 它不仅查看元数据,还审查图像,并且非常擅长这样做。

结论

这个 Chain of Thought 有意义吗? 大部分情况下,是的。 我注意到它经常进行很多不必要的和重复的裁剪,并且有时会在一些不重要的事情上花费太多的时间。 人类非常擅长知道什么重要,而 O3 对它应该关注什么不太了解。 它多次被广告分心。 然而,它所说的关于标志和道路标线之类的内容似乎大部分是准确的,或者至少足够接近真理,以至于它们有意义地加起来。 鉴于这些出色猜测的最终结果,它似乎是从