ChatGPT Prompt 最佳指南三:复杂任务拆分

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

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

在我们日常生活中,无论是烹饪一道复杂的菜肴,还是组装一台复杂的机器,我们都会自然而然地将复杂的任务拆分成一系列更简单、更易于管理的子任务。这种策略也同样适用于计算机领域。想象一下,如果没有函数这种工具,我们如何能够有效地编写和管理复杂的代码呢?函数的发明,实际上就是为了将复杂的任务拆分成更小、更具体的子任务,使得代码更易于理解和维护。

同样,对于人工智能,特别是像 GPT 这样的模型来说,拆分子任务的策略也同样重要。将复杂任务拆分成更简单的子任务可以帮助 GPT 更好地回答问题,原因主要有以下几点:

  • 理解上的优势:GPT 通过处理一系列简单的任务,可以更好地理解和处理复杂的问题。每个子任务都可以被看作是一个独立的问题,GPT 可以专注于解决这个问题,而不是同时处理多个问题。
  • 上下文的限制:GPT 的上下文窗口有限,也就是说,它只能看到最近的一定数量的输入和输出。如果一个任务太复杂,可能会超出这个窗口,导致 GPT 无法看到所有的相关信息。通过将任务拆分,可以确保每个子任务都在 GPT 的上下文窗口内。
  • 减少错误的可能性:如果一个任务非常复杂,GPT 可能会在尝试解决它的过程中犯错误。通过将任务拆分成更简单的子任务,可以减少这种错误的可能性。
  • 更好的反馈:当你将一个复杂任务拆分成子任务时,你可以在每个子任务完成后给予 GPT 反馈,这可以帮助 GPT 更好地理解你的需求,从而提供更好的答案。

阅读全文

神奇 Prompt 让 ChatGPT 化身数学老师

神奇 Prompt 让 GPT4 化身英语老师神奇 Prompt 让 GPT4 化身物理老师中,已经看到了 GPT4 进行教学的可能性。数学和其他学科比,更加的深奥难懂,GPT 刚出来的时候,连简单的加减乘除都做不对。现在我们尝试来让 GPT4 教我们大学微积分,当然这里用了插件 Wolfram,主要完成计算和绘图功能。

第一步依然是把 prompt 复制给 GPT 作为初始问题,然后用 /language 简体中文 指定后续的语言,接着指定想学习大学的微积分,让它循序渐进给我们讲解。最终的微积分学习助手配置如下:

  • 🎯深度:大学
  • 🧠学习方式:循序渐进
  • 🗣️沟通方式:无特别偏好
  • 🌟语气方式:温和
  • 🔎推理框架:无特别偏好
  • 😀表情符号:❌
  • 🌐语言:简体中文

下面文章中引用部分是我的提问,其余部分都是 GPT4 的回答。

阅读全文

Redis Issue 分析:流数据读写导致的“死锁”问题(1)

Redis 项目中,一个名为 “[BUG] Deadlock with streams on redis 7.2” 的 issue 12290 吸引了我的注意。这个 bug 中,redis 服务器在处理特定的客户端请求时陷入了死循环,这个现象在 redis 这样的高性能、高可靠性的数据库系统中是极为罕见的。

这个 Issue 不仅仅是一个普通的 bug 报告,它实际上是一次深入探索 Redis 内部机制的学习过程。从问题的发现,到复现步骤的详细描述,再到问题的深入分析,最后到解决方案的提出,每一步都充满了挑战和发现。无论你是 Redis 的使用者,还是对数据库内部机制感兴趣的开发者,我相信你都能从这个 issue 中获得有价值的启示。

在开始研究这个 bug 之前,我们先简单了解下这里的背景知识:redis 的流数据类型

阅读全文