在AI模型越来越强大的今天,与其说“你是怎么问的”不如说“你怎么设计提示”更关键。Google团队近日发布一份由Lee Boonstra主笔的白皮书《Prompt Engineering》,系统性地介绍如何针对大型语言模型(LLM)设计高效提示,帮助开发者与用户从AI模型中获得更准确、有条理的回应。
提示工程是一种设计文本输入(prompt)的技术,通过设计得宜的语句,引导AI模型输出符合预期的结果。无论你是要它总结一段文本、生成程序代码、翻译语言、分析场景或分类数据,一个好的prompt能让AI表现出色;反之,模糊或无结构的prompt往往得到的是杂乱、无用的答案。
除了提示内容,模型本身的输出设置也深深影响结果。像是:
Temperature(温度):控制随机性,低值偏向固定输出,高值则会让输出更有创意。
Top-K与Top-P(nucleus sampling):设置模型只从前K名或累积机率前P的词汇中挑选下一个token。
最大Token数量:决定输出的长度。
这些参数若搭配不当,也可能出现模型进入“重复循环”产生冗词的问题。
不过,这些参数设置只有高端使用本地端跑大模型的人才会用的到,对于一般我们习惯直接使用像是ChatGPT、Gemini、Grok等已经由官方帮我们调教好的这些大模型,是没办法调整这个参数的。
提示词(Prompt)是与大型语言模型(如ChatGPT、PaLM 2、Gemini等)互动的“界面语言”。根据Google白皮书的归类,设计提示词的策略可分为几种主要类型,各自对应不同的任务与使用需求。
白皮书归纳多种常见的prompt设计方式,包括:
Zero-shot:直接给任务指令,不提供范例。
Few-shot:加入几个范例,帮助模型模仿。
系统提示(System Prompt):定义任务目的与结构。
角色提示(Role Prompt):让模型扮演特定角色,如导游、老师。
上下文提示(Contextual Prompt):提供任务背景资讯。
Chain of Thought:要求模型逐步推理,有助于复杂问题解题。
Step-back Prompting:让模型先思考相关问题,再回答原始任务。
以下进一步提供范例,方便大家理解。
最直接的方式,单纯给指令不加任何范例。
范例:
请将这段英文翻译为繁体中文:The future of AI is exciting.
加入一到两个范例,提高模型理卸任务格式的准确度。
范例:
英文:Good morning.
中文:早安。
英文:How's the weather today?
中文:
告诉模型它的角色与行为范围。
范例:
你是一位资深UI设计师,请针对以下APP界面给出用户体验改善建议。
让AI模型“扮演某人”帮助聚焦回答风格。
范例:
假设你是营养师,请为中午要外食的上班族推荐三种高蛋白但不油腻的便当选项。
给背景资讯,让模型理卸任务场景。
范例:
用户为新手摄影师,请简单解释“快门速度”与“感光度”的差异。
鼓励模型一步步推理,适用于逻辑与数理问题。
范例:
问:如果1颗苹果要15元,我买了4颗,然后用100元付款,找回多少钱?请逐步列出计算过程。
请模型先思考要问什么,帮助拆解复杂任务。
范例:
为了判断“这家公司是否值得投资”,我们应该先问自己哪几个问题?请列出三项。
接下来我们进一步用更多的例子,让你理解各种提示词技巧的使用场合
✔ 适用简单任务/快速测试
✅正面范例
请翻译以下英文句子为繁体中文:It is raining today.
模型回应清晰、精确
今天正在下雨。
❌负面范例(没说要翻译、没指定语言)
It is raining today.
🔴模型可能误解成续写或评论天气,不翻译
Yes, it seems like a gloomy day.
💡为什么要加任务指令?
模型无法预测你的意图,Zero-shot必须指令明确、具体。
✔ 适用于格式需要模仿、语气有要求的任务
✅正面范例
英文:Good night.
中文:晚安。
英文:Thank you.
中文:
模型正确理卸任务,并模仿格式
谢谢你。
❌负面范例(无示范)
请翻译英文:Thank you.
🔴模型可能使用简体、英文回答,或乱换格式
Thanks.
感谢(没有前后对应格式)
💡为什么提供范例?
能稳定模型输出格式与风格,尤其用于自动化批处理效果最佳。
✔ 用来设置模型身份、用途与语气范畴
✅正面范例
你是一位资深科技记者,请撰写一段正式口吻的新闻导言。
模型语气严谨,风格新闻化
❌负面范例(没设置角色)
帮我写一段新闻稿。
🔴模型可能语气过于轻松、像博客
大家注意啦~新iPhone又来了!
💡为什么要设置“你是谁”?
角色定位能帮助模型调整语气、专业度与上下文理解。
✔ 适合模拟对话、客服、教学与风格演出任务
✅正面范例
请扮演一位有耐心的小学数学老师,向十岁孩子解释“分数是什么”。
模型会用简单语言、有例子、语气温和
❌负面范例(直接说:解释分数)
解释分数。
🔴模型可能使用过于技术化的术语
分数是两个整数a/b的比值...
💡为什么要加入角色?
能影响模型的用词、逻辑、语调,适用于用户引导与对话设计。
✔ 当任务需理解背景,避免模型“自行想象”错误场景
✅正面范例
背景:你是一名客服,面对一位对送货延迟不满的客户。
任务:请撰写一段道歉且具建议的回应。
模型能理解立场与语气,给出具体建议
❌负面范例(没给背景)
帮我写一段道歉文本。
🔴模型可能内容空泛、无针对性
很抱歉造成不便,希望您能见谅。
💡为什么要提供背景?
模型没有记忆、不知道任务场景,上下文有助创建任务“状态”。
✔ 复杂问题、需要逻辑推理与数学运算时特别有效
✅正面范例
请一步步计算:我有500元,买了三样商品,分别是150、180和90元,还剩多少?
模型会依串行出计算过程与结果
❌负面范例(只问最终答案)
我买了这三样商品后还剩多少钱?
🔴模型可能算错,或中途跳步骤
💡为什么要要求分步骤?
可以让模型“慢慢想”,降低算错、乱猜的机率。
✔ 复杂任务前先引导模型“反问”,强化思考结构
✅正面范例
在回答“我该不该离职创业?”之前,请先列出应该考量的五个关键问题。
模型会先创建决策框架,再进行判断
❌负面范例(直接问:我该不该离职?)
我该离职吗?
🔴模型回应过于简化或主观
视情况而定,创业很辛苦。
💡为什么要让模型“先退一步”?
能帮助生成更全面的回应架构、避免一刀切式结论。
无论以上哪一类型,都可以进一步搭配“明确的结构指令”加强回应品质。
指令强化范例:
请以条列式列出
控制在150字以内
请避免重复词
请先给结论,再附理由
提示词不是魔法,而是一种“策略对话设计”。通过这些分类与实战练习,你不仅能更高效地引导AI工作,还能真正将它变成日常生活与职场上的得力助手。