单位 10 / 12

常见提示错误及解决方法

收益:

  • 从真实示例中识别最常见的提示错误
  • 可以对每个错误应用实用且可重复的修复
  • 认识到不良输出通常是由不良提示引起的

在本模块中,我们一一学习了编写好的提示的技巧。现在让我们从不同的角度来强化这些:通过查看最常见的错误及其解决方案。绝大多数糟糕的人工智能输出是由于糟糕的提示,而不是模型的不足。如果您发现本机中的错误,您可以在自己的提示中快速诊断并修复问题;你可以说“让我像这样修复我的提示”,而不是说“人工智能不能做到这一点”。

为什么识别错误很重要?

当输出不符合您的期望时,您可以通过两种方式做出反应:责怪工具或质疑提示。有经验的用户会选择后者。因为大多数时候,问题的根源是显而易见的,稍加修正结果就会发生变化。下面我们将看到八种最常见的错误、它们的症状和解决方案。

八个最常见的错误

错误

症状

解决方案

歧义

通用的“一刀切”答案

给予可衡量的指导

零上下文

输出不符合情况

添加人物/原因/历史

未指定格式

输出格式错误

强制格式

没有约束

内容过多、异常

添加“不要”列表

过载

模型跳过一些请求

划分工作,确定优先顺序

未证实

使用虚假信息

与来源核实事实

一击期望

不要在第一个出口就放弃

迭代

自相矛盾的指令

输出不一致

对齐约束

逐步诊断方法

当损坏的输出到达时,请遵循以下顺序:

  1. 使命明确吗?动词具体吗?它是否意味着您唯一想要的东西?
  2. 上下文足够吗?模特知道情况吗?
  3. 有没有提到格式?格式是你想要的吗?
  4. 有什么限制吗?是不是写了不想要的东西?
  5. 是不是我加载太多了?我是否在一个提示中要求了 5 份不同的工作?
  6. 我验证了吗?号码、姓名、日期是否已检查过?

这六个问题几乎捕获了所有错误。

四个可复制的校对模板

1)消除歧义:

使该指令可测量:[模糊指令]将每个模糊点转化为具体的数字、数量或标准。

2)分担过载:

不要一次完成这项任务。按此顺序进行,完成每一步后停止,等待我的确认:1) [子任务 1]2) [子任务 2]3) [子任务 3]

3)限位拟合:

只需依赖我在下面提供的信息即可。如果没有信息,则写“无数据”;不要猜测或添加。指出您使用的每个重要声明来自哪一行。来源:【正文】

4)解决矛盾:

检查我给您的说明是否有任何矛盾。如果是这样,请列出冲突点并询问我优先考虑哪一个;然后进行相应的生产。

弱提示/强提示

弱(许多错误组合在一起):

为我们公司制定一份有关营销、预算和招聘的全面计划,然后就可以开始了。

强大(已修复错误):

角色:您是一名为中小企业提供咨询的业务发展专家。背景:一家有12人的软件公司;本季度的目标是 20 个新客户。任务:仅编写营销计划(不包括预算和招聘)。格式:5 点行动清单;每项:行动+责任+标准。约束:付费广告预算0;仅推荐有机渠道。不要给出虚假的指标;证明该建议的合理性。

强大的版本拆分了重载(将三个主题塞进一个提示中),用标准取代歧义(“祝你好运”),并添加格式和约束。

三个迷你箱

情况 1 — 过载。经理要求在一次提示中提供报告摘要、演示计划和电子邮件;该模型将这三个部分分成了两半。通过将作业分为三个单独的提示,每个输出都是完整且可用的。总时间比处理一个复杂提示的时间还短。

情况 2——未确认。内容团队未经验证就发布了模型给出的“行业统计数据”;结果证明这个数字是错误的,他们不得不进行更正。后来,他们采取了“给每个号码一个来源,我会检查来源”的规则,消除了这个风险。

案例 3——指令冲突。当营销人员说“它很短但讲述了所有功能”时,该模型跳过了一些功能。当我将指令定为“用 60 个词描述 3 个最重要的特征”时,输出既简短又完整。

提示:在上线之前,请先回答“六个诊断问题”。这个 30 秒的检查使得大多数轮次的迭代从一开始就变得不必要。
注意:最危险的错误是“未验证”,因为输出看起来流畅且令人信服,所以它被忽视了。该模型可以非常自信地匹配数字、名称或来源。独立验证任何要发布或用作决策基础的事实。我们将在下一个单元中深化这个主题。

看不见的错误:“几乎正确”的输出

有些错误很容易发现:输出格式错误、偏离主题或显示空白。但最阴险的错误是输出几乎是正确的。文字流畅,结构流畅,语气切中要害;只是有一个错误的数字、一个被忽视的约束或一个小的逻辑错误。这些类型的输出是危险的,因为它们“看起来不错”而逃避检查。

有两个习惯可以防止这种情况发生。首先,不要在未阅读输出的情况下使用它:无论您有多匆忙,请在发送之前通读它。其次,让模型检查其输出:“检查您是否遵循了我给您的所有约束”或“列出本文中的所有数字”将使隐藏的错误浮出水面。这两个步骤需要几秒钟的时间,但由于“几乎正确”的输出而导致的错误决策的成本要高得多。

避免错误:设计胜于控制

有经验的用户不会在输出中寻找错误,而是会在出现提示时尝试从一开始就阻止错误。这就是心态上的差异。将每个重复出现的错误变成“永久规则”:如果模型不断在摘要作业中添加注释,现在为每个摘要提示设置“不添加注释”约束。如果模型总是在列表作业中生成太多项目,请在模板中放置“恰好 X 个项目”约束。这样,您就可以从一开始就防止它发生,而不是一次又一次地捕获相同的错误。精心设计的提示取代了后续的数十次更正;这将错误诊断从负担变成了学习和改进工具。

常见错误

  • 责怪中间人。说“AI做不到”,而不是在提示中寻找问题所在。
  • 在单个提示中投入太多工作。将五项独立的任务压缩为一条指令并完成一半。
  • 跳过验证。假设流畅的输出是正确的。
  • 给予矛盾的约束。自我冲突的要求,例如“简短但全面”。
  • 在没有诊断的情况下重试。重复同样的错误却没有找出问题所在。

综上所述

  • 大多数糟糕的输出是提示的问题,而不是模型的问题;可以诊断并纠正。
  • 最常见的错误:歧义、零上下文、缺乏格式、缺乏约束、过载、缺乏验证、一次性期望和矛盾。
  • 六个诊断问题(任务、上下文、格式、约束、负载、验证)可捕获大多数错误。
  • 与将复杂的作业加载到单个提示上相比,划分复杂的作业可以提供更快、更高质量的结果。
  • 最阴险的错误是不验证;输出流畅并不意味着准确。

应用任务

找到一份您不喜欢的旧打印输出,然后通过“六个诊断问题”运行提示。标记发生的错误,对每个错误应用本单元中的修复,然后再次运行提示。注意哪一次修正产生了最大的改进,而不是多少轮。

清单

  • [ ] 如果输出错误,我会首先查询提示,而不是代理。
  • [ ] 我可以执行六个诊断问题。
  • [ ] 我把复杂的任务分成多个提示。
  • [ ] 我注意到有冲突和不明确的说明并予以纠正。
  • [ ] 我在发布之前验证了事实输出。