搜索引擎是指为用户提供检索服务吗(谷歌搜索引擎公开私密对话)

   搜狗SEO    

ChatGPT对于一些简单的问题,可以完美的完成任务。但是我让它写一篇完整的文章,看看它能否代替我进行写作地的时候,我确定它不能完全取代人类。

但是我们可以使用更多的指导来让AI在日常工作流程为我们工作,所以本文将讨论如何有效利用ChatGPT。这个想法是从简单的日常用例开始,然后进入更复杂的阶段。最后让我们看看ChatGPT能否替代搜索引擎,给我们提供日常需要的信息。

Google是用来显示其他人类似的问题,而ChatGPT是来回答你确切的问题的。

像大多数人一样,当我不知道的时候,我会谷歌。标准的工作流程是去谷歌,点击最上面的结果,然后阅读,直到感觉你已经得到了正确的答案。如果幸运的话,有人已经问过你同样的问题了,那我们能够直接得到答案。但更多的时候,我们需要看很多结果,并将答案拼接在一起。

让我们问一个非常简单的问题:

这些Google搜索结果主要回答了这个问题:“如何从DynamoDB表中删除项。”接下来,我们需要将搜索重写为“如何向DynamoDB表中添加项”。然后我们需要自己拼凑答案,得到最终结果。

那么让ChatGPT呢

ChatGPT提供了Python和AWS CLI的描述和确切的代码。这就是我们上面说的:Google尽其所能返回与我的问题相似的内容,而ChatGPT则尽其所能生成答案。

ChatGPT自动化了顶级结果并过滤出答案(当然是它认为的答案)。

对于这种简单的问题

那么再复杂一点的问题呢

我们要完整以下的任务

使用Databricks调查S3中的数据。Databricks非常依赖sql,这意味着要执行多个表连接、条件和复杂的分组。

ChatGPT是肯定可以回答一些简单的问题,比如“如何在SQL中连接两个表”。但是你可以用ChatGPT做更多的事情,就需要把上下文的信息给他

回应如下:

ChatGPT可以根据提供的输入形成响应。

可以看到,ChatGPT根据所提供的上下文定制其响应,这远远超过了Google所能做的。没有任何搜索的结果会给出上面的代码。所以就算我们有答案,也需要将多个不同的文章内容拼接在一起。

ChatGPT在制定响应时考虑整个对话的上下文,所以对于一个问题,越深入我们得到的答案越确切:

ChatGPT会记住前面的对话,就像结对编程一样。提供新的输入,可以回滚到以前的步骤,或者尝试一个实验性的路径。但是ChatGPT也会犯错误,就像人类一样,所以还是需要我们人工来进行最终的判断和对ChatGPT进行提示。

如果需要使用ChatGPT构建一个复杂的解决方案。需要从简单的开始,逐步增加复杂性。

我现在我们可以使用ChatGPT回答简单的问题或构建小的代码片段。还能更进一步吗?

这里一个很好的例子是使用ChatGPT为项目提供额外的思路。

比如说:如何能够将程序许可文件自动传输到远程开发环境中

ChatGPT给了一个可靠的答案,说明了上传和下载文件的过程,以及管理AWS Secrets管理器所需的AWS IAM策略等等。每个部分都包括示例代码和解释。

然后我问了ChatGPT一个更普遍的问题:

它还提出了另外八件需要考虑的事情:权限、成本、加密、密钥轮换、区域、资源策略、密钥版本控制和初始帐户设置。每一篇文章都有一段对主题的总结。

这些问题有一些是我们可能没想到的,所以我们可以使用ChatGPT作为头脑风暴的伙伴吗?

上面这几个问题返回的答案非常有用,这是一个很好的例子,因为这些无法在谷歌上搜索到。

使用ChatGPT对的工作进行头脑风暴是可行的,因为他的预料集我们可能一辈子都看不完

当涉及到编写自定义代码库(私有)代码时,ChatGPT绝对是错误的工具(所以我这里会用GitHub Copilot替代)。但是当涉及到编写针对公共api的集成时,ChatGPT的表现非常出色。

如果仔细想想,这是有道理的。因为ChatGPT无法访问你的自定义代码库,而Copilot会扫描本地的代码。

我们问ChatGPT一个公共API的问题:

这里是它生成的代码如下:

看着非常不错,下面我们提高难度让ChatGPT构建一个具有以下限制的小软件程序:

我不输入任何代码。只能执行ChatGPT生成的。然后错误也会让ChatGPT自己更正。

一开始,ChatGPT做得很好。它很容易编写一个RESTful客户端。我告诉ChatGPT需要更多的调试语句,它在整个代码中添加了打印语句。在其他库中封装函数调用也很漂亮。

但是我想到,如果下载和重新上传大文件,时间会很长,所以我问ChatGPT是否可以在命令行上用进度条可视化包装它们。它是这样做的:

略显臃肿,但是可以用。

对于要求ChatGPT重构代码并添加抽象,得到的答案都出现了拼写错误和逻辑错误。所以需要花费很多的时间与ChatGPT进行沟通修改(前面说了,为了测试,所有代码都让ChatGPT写)

对于这个问题,盲猜原因是ChatGPT的每个问题只得到有限的计算时间。情况越复杂,ChatGPT不能完全完善它的响应,只是抛出了一个未经修饰的结果,还有可能是因为token大小的限制。

ChatGPT擅长编写单个函数,但在处理抽象或多个方法时很快就会崩溃。

但是对于ChatGPT,一个非常好的表现是他可以帮我们转换代码,比如:

将Python代码翻译成Typescript。将linux的shell脚本变为windows的cmd脚本

ChatGPT可以用来增强你的能力,而不是取代你的工作

将ChatGPT融入到日常工作中,这是一个很酷的噱头,也许它适用于其他人的工作流程,但不适用于我的。因为有一些工作要么太复杂,要么太专业,外部AI工具无法发挥作用。

最后还有一个问题,ChatGPT数据的更新时间是2022年,所以最近数据它是没有的,这对于经常需要最新数据的行业来说基本就没什么帮助了。

所以回到我们的标题:进行头脑风暴,并作为简单代码的结对程序员是一个非常好应用场景,可以提高我们的效率,但是它并不能代替谷歌,除了时间以外,对于一些信息我们更看重的是准确性。

作者:Elliot Graebert

 标签:

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。