前言
去年 11 月 8 日,新加坡政府科技局(GovTech)组织举办了首届 GPT-4 提示工程(Prompt Engineering)竞赛。数据科学家 Sheila Teo 最终夺冠。之后,Teo 发布了一篇题为《我如何赢得了新加坡 GPT-4 提示工程赛》的博客文章,慷慨分享了其获胜法门。
核心概念
提示工程是一门融合了艺术和科学的学科 —— 它既需要对技术的理解,也需要创造力和战略思维。优秀的提示词设计能够显著提升大语言模型(LLM)的输出质量、准确性和可控性。
本文包含以下内容,其中 🔵 是指适合初学者的提示工程技术,而 🔴 是指进阶技术:
- [🔵] 使用 CO-STAR 框架来搭建 prompt 的结构
- [🔵] 使用分隔符为 prompt 设置分节
- [🔴] 使用 LLM 防护围栏创建系统 prompt
- [🔴] 仅使用 LLM 分析数据集,不使用插件或代码 —— 附带一个实操示例:使用 GPT-4 分析一个真实的 Kaggle 数据集。
CO-STAR 框架详解
CO-STAR 是一个结构化的提示词构建框架,旨在确保所有关键信息都被传达给模型。其工作方式为:
- © 上下文(Context):提供与任务有关的背景信息。这有助于 LLM 理解正在讨论的具体场景,从而确保其响应是相关的。例如,说明你是产品经理还是开发者,或者项目处于什么阶段。
- (O) 目标(Objective):定义你希望 LLM 执行的任务。明晰目标有助于 LLM 将自己响应重点放在完成具体任务上,避免偏离主题。
- (S) 风格(Style):指定你希望 LLM 使用的写作风格。这可能是一位具体名人的写作风格,也可以是某种职业专家(比如商业分析师或 CEO)的风格。这能引导 LLM 使用符合你需求的方式和词语给出响应。
- (T) 语气(Tone):设定响应的态度。这能确保 LLM 的响应符合所需的情感或情绪上下文,比如正式、幽默、善解人意等。
- (A) 受众(Audience):确定响应的目标受众。针对具体受众(比如领域专家、初学者、孩童)定制 LLM 的响应,确保其在你所需的上下文中是适当的和可被理解的。
- (R) 响应(Response):提供响应的格式。这能确保 LLM 输出你的下游任务所需的格式,比如列表、JSON、专业报告等。对于大多数通过程序化方法将 LLM 响应用于下游任务的 LLM 应用而言,理想的输出格式是 JSON。
示例应用
CONTEXT
I want to advertise my company's new product. My company's name is Alpha and the product is called Beta, which is a new ultra-fast hairdryer.
OBJECTIVE
Create a Facebook post for me, which aims to get people to click on the product link to purchase it.
STYLE
Follow the writing style of successful companies that advertise similar products, such as Dyson.
TONE
Persuasive
AUDIENCE
My company's audience profile on Facebook is typically the older generation. Tailor your post to target what this audience typically looks out for in hair products.
RESPONSE
The Facebook post, kept concise yet impactful.
分隔符使用技巧
在复杂的 Prompt 中,清晰地区分指令、数据和示例至关重要。分隔符可以使用任何通常不会同时出现的特殊字符序列,举些例子:、、。


