最佳实践 (Best Practices)
提升提示词的有效性、可靠性和可维护性的系统化方法。
"任务:从句子中提取人名 → 零样本:'从这句话中提取人名' VS 少样本:'文本:'玛丽有个小羊羔'→人名:玛丽',提供示例让AI更容易理解任务"
"之前:'能否请你构思并创作一首描绘春天生机勃勃景象的文学作品...' → 之后:'写一首关于春天的四行短诗',简洁明了效果更好"
"之前:'写一下我们新智能手表的介绍' → 之后:'为XW5手表写150字介绍,突出7天续航,面向年轻运动爱好者,语气活泼',明确了长度、重点、目标用户和语气"
"限制式:'总结文章,不要包含任何具体数字' → 指令式:'总结核心论点和发现,侧重定性结论和趋势描述',清晰指出需关注内容而非限制"
"方法一:提示词控制'用不超过50个字解释黑洞' → 方法二:API参数控制'解释黑洞'同时设置max_tokens=80,防止生成过长内容"
"硬编码:'给张伟写新年祝福短信' → 变量化:'给{姓名}写{节日}祝福,包含对{成就}的祝贺',程序可以动态替换变量,提高模板复用性"
"同一任务尝试不同提问方式:直接提问'如何提高在家办公效率?'、角色扮演'你是效率专家,分享3个建议'、寻求清单'列出5个工具或技巧',这些不同的问法会引导AI给出不同侧重的答案。"
"垃圾邮件分类示例,固定顺序:非垃圾-垃圾-非垃圾-垃圾 → 打乱顺序:垃圾-非垃圾-垃圾-非垃圾,确保AI学习内容特征而非位置规律"
"旧模型(text-davinci-003):'写邮件给客户确认订单' → 新模型(gpt-4-turbo):'写一封友好、简洁的邮件给客户,语气像老朋友一样随意',根据新模型特性调整提示词"
"提取产品参数,之前:'从描述中提取名称、价格和颜色' → 之后:'请以JSON格式返回,包含name、price、color三个键',返回结构化数据便于程序处理"
"当尝试生成高质量广告文案效果不理想时,与同事共享目标和已尝试Prompt,让他们尝试不同版本或提建议,可能会发现更优方案,如加入目标受众更多描述"
"思维链 (Chain of Thought, CoT)提示技巧时,尤其是在处理那些需要逻辑推理、数学计算时,建议将温度 (Temperature)参数设置为0,使AI严格遵循最符合逻辑的思考路径。"
"例如计算(5+8)*3-7时,在提示词中加入'Let's think step by step',并设置temperature=0,让AI走最确定的思考路径"
"创建一个表格记录:尝试日期/版本号、目标、使用的模型、关键参数、完整Prompt文本、输出结果、效果评价、备注/改进思路,形成系统化的提示工程工作流。"
记录尝试示例表格
日期/版本 | Prompt摘要 | 模型/参数 | 效果评价 |
---|---|---|---|
2024-04-01v1 | 为XW5手表写介绍 | GPT-4/Temp=0.7 | ⭐⭐⭐ 过于专业 |
2024-04-02v2 | 为XW5手表写活泼介绍 | GPT-4/Temp=0.8 | ⭐⭐⭐⭐ 更适合目标用户 |
提示工程核心原则
科学性
提示工程需要不断迭代和优化
结构化
清晰结构:任务、上下文和示例
工程化
系统记录尝试,形成方法论
附录:回退一步提示 (Step-back Prompting)
在直接处理具体问题前,先"后退一步"思考更宏观、更抽象的原则,再解决具体问题。
解决什么问题
直接问复杂问题,AI常给出平庸答案或陷入钻牛角尖,甚至产生幻觉
为何有效
认知启动 (Cognitive Priming): 先思考相关大概念,激活神经网络中更广泛的相关节点,为后续任务做好"知识铺垫"
两步操作法
设计促使AI进行抽象思考的提示
将抽象思考结果作为上下文,结合原始问题形成新提示
Step-back 实例图解
① 直接问(原始问题)
"为FPS游戏写一个水下关卡剧情"
→ 可能得到普通、缺乏深度的答案
② 抽象思考(Step-back)
"FPS游戏有哪些吸引人的设定主题?"
→ AI列出废弃基地、赛博朋克城、水下设施等
③ 结合抽象结果再问
"基于这些主题,写一个水下关卡剧情"
→ AI基于"水下研究设施"概念,写出更有深度的剧情
Step-back是一种通过提升思考维度来优化输出质量的策略,适合需要"深度"而非"速度"的复杂任务。