Prompt Engineering:提升大模型效果的技巧
同样的大模型,不同的Prompt可以产生截然不同的效果。Prompt Engineering(提示工程)是用好大模型的关键技能。本文总结经过实战验证的Prompt设计技巧。
核心原则
明确具体:不要说"帮我写篇文章",而是说"写一篇关于阿里云ECS选型的教程,面向刚接触云计算的运维人员,2000字左右,包含实例规格对比和选型建议"。
角色设定:给AI一个角色——"你是一个有10年经验的Java架构师"。角色设定会影响回答的专业度和视角。
结构化输出:明确要求输出格式——"以JSON格式输出"、"用markdown表格对比"、"分3个段落,每段一个小标题"。
高级技巧
Few-shot示例:给模型几个输入→输出的示例,让模型学习模式。比如给3个产品描述→产品标签的示例,模型就能按同样格式处理新产品。
思维链(CoT):让模型"一步步思考"。在Prompt中加入"请逐步分析"或给出分析过程的示例。对于数学推理、逻辑分析类任务效果显著。
分隔符:用 """ 或 --- 分隔指令和输入数据,防止模型混淆。如:"总结以下文本的内容:\n"""\n{文本内容}\n""""。
负面指令:明确告诉模型不要做什么——"不要编造数据"、"不要使用专业术语"、"回答不超过200字"。
常见场景Prompt模板
文本分类:"判断以下客户反馈的情感倾向(正面/负面/中性),只输出分类结果,不要解释。反馈内容:{text}"
信息提取:"从以下文本中提取公司名称、联系人、电话、地址,以JSON格式输出。文本:{text}"
代码生成:"用Python实现一个函数,输入是用户列表,输出是按注册时间排序的列表。要求:使用type hints,包含docstring,处理空列表情况。"
调试方法
效果不好时:1. 检查Prompt是否有歧义 2. 增加示例 3. 调整temperature(创造性任务调高,精确任务调低)4. 拆分复杂任务为多个简单步骤。
