ChatGPT 解 Leetcode 题目:识破 ChatGPT 的"幻觉"

当我们让 GPT-4 帮助我们解决编程问题时,它可能会生成一段看起来完美的代码,但实际上,这段代码可能并不能解决我们的问题,或者它的解决方案可能并不是最优的。这是因为GPT-4并不理解代码的含义,它只是模仿它在训练数据中看到的代码模式。这种现象被成为幻觉,用 GPT-4 久了的话,基本都会体会到。

识破这种幻觉的关键在于理解GPT-4的工作原理,以及它的局限性。我们需要意识到,GPT-4并不理解我们的问题,也不理解它生成的答案。它只是一个非常复杂的模式匹配器,它的目标是生成看起来合理的文本,而不是解决我们的问题。当我们使用GPT-4时,我们需要批判性地思考它的回答,验证它的答案,甚至需要寻求其他专家或资源的帮助。只有这样,我们才能充分利用GPT-4的能力,同时避免被它的表面表现所迷惑。

在让 GPT 解决 Leetcode 题目 2352. Equal Row and Column Pairs 的过程中,又一次见识到了 GPT-4 的幻觉。刚读完题目,很快就给出了一个不错的实现,接着让 GPT-4 优化代码实现的时候,它就开始坑蒙拐骗了,还好我及时识破幻觉,通过验证,证实这里确实有问题。和 ChatGPT 完整的对话见这里

阅读全文

ChatGPT Prompt 最佳指南二:提供参考文本

本文是 ChatGPT Prompt 最佳指南系列的第二篇,全部系列文章:

  1. ChatGPT Prompt 最佳指南一:写清晰的说明
  2. ChatGPT Prompt 最佳指南二:提供参考文本
  3. ChatGPT Prompt 最佳指南三:复杂任务拆分
  4. ChatGPT Prompt 最佳指南四:给模型思考时间
  5. ChatGPT Prompt 最佳指南五:借助外部工具
  6. ChatGPT Prompt 最佳指南六:系统基准评测

OpenAI 可以理解和生成人类语言,帮助我们解答问题,写文章,甚至编程。然而,即使是 GPT-4,也有其局限性,其中之一就是上下文长度的限制。GPT-4 的上下文长度限制是由其内部架构决定的,简单来说,GPT-4 在处理输入时,会将输入的文本转化为一系列的“令牌”(tokens)。然而,GPT-4 只能处理一定数量的令牌,这就是所谓的“上下文长度”。超过这个长度,GPT-4 就无法全面理解输入的内容,这可能会影响其生成的输出的质量。

目前 OpenAI 的 GPT4 有两个模型,最多分别支持 8K 长度和 32K 长度的Token。其中 32K 长度 Token 之对少量人开放,大部分用的都是 4K 长度,因为 GPU 算力不够。好在随着 AI 的发展,应该会支持越来越长的 Token。OpenAI 也把支持更长的 token 作为 2023 年的主要目标了,参考 OpenAI’s plans according to Sam Altman

Longer context windows — Context windows as high as 1 million tokens are plausible in the near future.

阅读全文

ChatGPT 解 Leetcode 题目:有界数组找最大值

在前面的 GPT4 解 Leetcode 题目中,GPT4 的表现都很不错,给出了不错的代码和解释,看起来像是真正理解了题目。但是今天这个题目1802. Maximum Value at a Given Index in a Bounded Array ,GPT-4的表现就像是一个机智的“作弊者”,巧妙地提供了正确的代码,然而在解释代码的过程中,却出现了一些低级的错误。这种情况既展示了人工智能的强大能力,同时也揭示了一个事实:即便是最先进的人工智能,至今仍无法完全模拟人类的思维过程

在接下来的文章中,我将详细介绍 GPT-4 是如何解决这个问题的,以及它在解释过程中出现的问题。我希望这篇文章能让你对人工智能在编程领域的应用有更深入的理解,也希望你能从中找到乐趣和启发。

GPT4 意识到自己之前错误的解释

阅读全文