+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

如何给AI大模型编写更优的提示词?

近日,谷歌宣布将其 Gemini Pro 1.5 的输入上下文窗口从原先的 100万 提升至 200万,为开发者提供了更大的灵活性。同时,OpenAI 也推出了 GPT-4o,该模型不仅在生成 token 的速度上比 GPT-4 Turbo 快2倍,而且价格降低了 50%,更能在本地支持多模式 token 的接收与生成。这些进步无疑标志着近18个月来技术发展的最新动向。随着这些显著的改进,开发者的最佳实践方式也随之发生了相应的调整和变化。 自 2022年11月 ChatGPT 推出以来,多个重要的里程碑相继实现,包括发布GPT-4、Gemini 1.5 Pro、Claude 3 Opus 以及 Llama 3-70b 等模型。在这一过程中,众多模型提供商在两大关键领域显著提升了其能力:一是推理能力,使得大型语言模型(LLM)能够深入思考复杂概念并准确执行繁琐的指令;二是扩展了输入上下文窗口的长度,为处理更为庞大和复杂的数据提供了可能。 GPT-4 和其他高级模型凭借出色的推理能力,能够透彻地阐释附带详尽说明的复杂提示。然而,许多人仍然习惯于向大型语言模型(LLM)提出简短的一两句问题。与之相反,在构建应用程序的过程中,我观察到经验丰富的团队常常会编写长达1到2页的详细提示词(我们团队称之为“超级提示词”)。这些提示词中包含了复杂的指令,用以详尽地指定我们期望 LLM 如何执行特定任务。尽管如此,我仍然认为团队在编写这些详细说明方面还有很大的提升空间。 这与我们通常在大型语言模型(LLM)的网络用户界面中所采用的提示词风格大相径庭。在网络用户界面中,我们往往急于进行快速查询,若回答不尽如人意,则通过与聊天机器人进行多次对话来明确我们的需求。 此外,输入上下文长度的扩展为开发人员提供了新的技术手段。GPT-3 推动了关于少量情境学习的广泛研究。举例来说,当使用 LLM 进行文本分类时,我们可能会提供少量的文本片段及其类别标签(例如1到5个样本),以便模型能够基于这些样本对其他文本进行泛化。然而,随着输入上下文窗口的延长——如GPT-4o 可接收 128,000 个输入 token,Claude 3 Opus 可接收 200,000 个token,而 Gemini 1.5 Pro 更是能接收高达 100万个 token,LLM 的应用范围已不再局限于少数样本。通过 many-shot learning,开发人员现在可以在提示中提供数十甚至数百个样本,这种方法相较于 few-shot learning 更为高效。 在构建复杂工作流的过程中,我发现以下步骤能够帮助开发人员获得优异成果: 首先,编写一些简洁快速的提示词,初步测试其效果。 然后,针对输出结果中的不足之处,逐步丰富和完善提示符。这通常会生成一个更加详尽且可能较长的提示词,有时甚至会形成一个超级提示词。 如果上述步骤仍然无法满足需求,可以考虑采用 few-shot 或 many-shot learning(如果条件允许),或者进行更为精细但不必太频繁的微调。 最后,如果以上方法仍然无法达到期望的结果,那么可以尝试将任务细化为若干个子任务,并应用一个智能化的工作流来逐个解决。 希望这个过程能助力大家更为轻松地构建各类应用程序。若您对深入探究提示策略感兴趣,我强烈推荐您阅读 Medprompt 的论文。该论文详细阐述了一套复杂的提示策略,这些策略在实际应用中能够带来令人瞩目的优异成果。
我的笔记