使用ChatGPT 3编码:项目失败(可以说不是我的错)

所以,这真是让人沮丧的一件事。当然,这确实是我的错,尽管我想假装它不是。这是另一个在我潜在编码项目列表中放置了十年之久的想法。这个前提非常简单。谷歌地图提供了一个“位置共享”功能,让您可以在他们的基于网络和手机应用的地图平台上看到那些已经选择与您分享他们实时位置的人。我记得这个功能在2017年首次发布的时候……

我:“安妮,你知道我喜欢玩新科技。谷歌刚发布了一个新功能,让我们可以在谷歌地图上实时看到彼此的位置。你可以打开它,这样我就可以追踪你吗?” 安妮:“我不知道,感觉有点可怕。嗯,好吧。” 过了3-4周… 我:“哦,这证明它运行良好,让我们关闭它。” 安妮:“但我喜欢知道你到哪里去了…”

我开玩笑的。这是一个我们经常使用的非常有用的功能。接着!

同时,多年来,我在客厅里放了一个谷歌智能音箱,说实话,除了控制灯光之外,并没有用来干很多事情。很长一段时间以来,我一直希望能够说一句,“嘿,谷歌。安妮在哪?”然后它告诉我她在哪里 [安妮编辑:不知为何,这真的有点吓人!]。谷歌已经准备好了所有技术来做到这一点。我有一个在谷歌工作的朋友告诉我,试用期结束后的软件开发人员可以访问公司所有的 API,因此将这些东西联系起来并扩展规模将相对容易。但出于某种原因,他们似乎选择不这样做。

因此,通过几个成功的基于ChatGPT的编码项目,我认为我应该尝试一下这个。我开始直接着手编码 - 我们将看到这种思维上的根本失败。

我开始查看Google地图API的文档。显而易见的是,没有用于位置共享的API。显然,Google有这些数据,为了在您的应用程序中使用API,您必须跳过许多步骤来证明您的身份,因此不应该存在任何数据保护问题-但没有办法访问位置共享数据。我想知道这是否是服务器负载问题-他们不希望许多应用程序每隔几秒钟访问一个终点来跟踪人们的位置。如果是这样的话,通过速率限制可以很容易解决-所以我怀疑不是这个原因。这可能是我没有深入思考足够以找出答案的数据共享问题。

无论如何,谷歌的API都是一个失败,那么我接下来该怎么办呢?好吧,我知道,当我在电脑上打开谷歌地图时,屏幕上显示了一个图标,显示了安妮的位置。所以,这些数据正在发送到我的电脑上。所以,我肯定可以让ChatGPT编写一个脚本,从谷歌发送给我的网页浏览器显示的HTML中提取出这些信息。哈哈。不可能。

原来这里有很多问题。主要的,也是最明显的一个问题是,谷歌确实不希望你这样做。在与ChatGPT一起审查项目时,它再次表达了关于我要求它做的可能违反谷歌服务条款的担忧(但仍然继续做)。

我花了几天时间尝试不同的方法来做这个。谷歌地图是一个非常复杂的网站,这并不是什么意外。它使用Javascript来生成主页所使用的许多URL,以获取额外的数据。我尝试使用了几种不同的嵌入式JavaScript引擎,从我的Python代码中调用,但当这些方法都不起作用时,我深陷其中,尝试使用自动测试平台Selenium来伪装成我,首先是使用谷歌浏览器,接着是Firefox来访问数据。

我向我在谷歌的朋友表达了我的挫折,他耐心地解释说,他们在那里有整个团队专门阻止人们做我试图做的事情。多个团队。

在第四天左右,我突然有所顿悟。ChatGPT突然说了一句像是:“如果你想要获得地理位置相关的数据,不要使用谷歌,为什么不试试类似OwnTracks这样的替代产品呢?”我从未听说过它,但事实证明OwnTracks是一个非常棒的免费产品,引用他们的网站所说:“让您跟踪自己的位置。您可以创建您的私人位置日记或与家人和朋友分享。”我在手机上安装了它,配置到已经设置好的webhook,仅用几分钟,就开始记录我的位置到我的本地数据库中。

为了更实用的应用程序,我要求ChatGPT也将最近的兴趣点存储到该位置,这很快容易地通过免费的OpenCage API检索到。

我差不多到了。现在我要做的就是设置我的谷歌家庭,这样当我要求我的位置时,它会调用一个我已经设置好的另一个网络钩子,并简单地朗读出它返回的文本。

那就是一切都突然停止的时候。

你知道,如果我当时理智一点,我本应该在开始之前就仔细考虑整个过程的各个部分,并确保它们是可实现的。就用代码与我的Google Home进行交互而言,我似乎很模糊地记得很多年前做过一些半心半意的实验,只是假定这整个过程中的那一部分会很简单。

不是。

我开始尝试使用If This Then That (IFTTT) ,因为我相当确定我之前做过这个 — 而且它有实现我想做的事情的文档例子。结果发现那些例子可悲地已经过时了。截至2022年8月,你不能再通过IFTTT来做那种事情了。

好吧,我想,我敢肯定你一定还能做到。我将穿越谷歌智能家居设备文档的地狱般迷宫。

最终,我放弃了,只是在他们的论坛上发布了一条信息。经过大部分的一周,并没有得到回复,我标记了一个我之前看过在那里发过帖子的谷歌员工,几天后,他们回复了。

结果是...你不能。谷歌已经停用了一个名为对话动作的东西,这意味着除了谷歌自身之外没有其他人可以编写可以由语音命令触发的东西给Google助手/家庭/巢的方式。还有其他各种与智能家居整合的方式(通过例行程序,电话应用程序等),但通过谷歌家庭的语音,没有。

原来这只是谷歌墓地中的又一个新增项目,我认为这是一个非常愚蠢的决定。谷歌正押注于他们的AI Gemini(在我有限的实验时间里仍然感觉远远不及ChatGPT)。目前,谷歌Home正在使用完全不同的系统来回答用户查询,控制本地设备和执行其他任务,但尽快将它们整合起来似乎是一件显而易见的事情。取消开发者创建新的语音驱动应用程序的功能,并破坏许多现有应用程序看起来是非常短视的举动,因为在不久的将来,您可能希望在开发界获得许多热情支持者。

啊,好吧。

所以这就是结束了。你可以说我本可以节省一周的时间,不要假设谷歌的这一部分会“正常工作”,或者你可以责怪谷歌似乎毫无意义地关闭了为人们开发双子座应用程序做准备的东西。

或者你也可以两者都做。

无论如何,还有许多科技项目可以尝试使用ChatGPT。接着下一个吧!

2024-09-12 04:24:06 AI中文站翻译自原文