掌握高质量 Prompt 编写技巧,提升大模型应用效果
本文介绍了编写高质量提示词(Prompt)的关键技术点。包括明确定义助手角色、提出详细无冲突的要求、结合 RAG 与混合搜索减少幻觉、使用 Few-shot 示例增强理解、利用思维链(CoT)引导推理、规范输入输出结构以及避免任务过度复杂化。通过优化这些环节,可显著提升大模型在特定任务中的表现与准确性。此外还涵盖了温度参数调整、自洽性检查及安全对齐等进阶优化技巧。

本文介绍了编写高质量提示词(Prompt)的关键技术点。包括明确定义助手角色、提出详细无冲突的要求、结合 RAG 与混合搜索减少幻觉、使用 Few-shot 示例增强理解、利用思维链(CoT)引导推理、规范输入输出结构以及避免任务过度复杂化。通过优化这些环节,可显著提升大模型在特定任务中的表现与准确性。此外还涵盖了温度参数调整、自洽性检查及安全对齐等进阶优化技巧。

在大模型(LLM)应用的开发过程中,编写高质量的提示词(Prompt)是决定系统表现的关键环节。Prompt 工程既容易被低估,也被容易高估。被低估是因为设计良好的提示词可以显著提升模型的输出质量、准确性和稳定性;被高估则是因为即使基于提示的应用,也需要大量的工程工作才能使其在生产环境中发挥作用。本文将详细介绍在编写 Prompt 时有助于提升性能的核心技术点,帮助开发者构建更可靠的 AI 应用。
一般我们会给大模型定义一个 助手角色基调(System Role),简要明确告诉它需要做的任务是什么即可。只要框定助手要干的事情边界,不至于跑偏即可。例如,可以告诉大模型是一个'精通旅行规划的专家',而不是模糊的'助手'。
最佳实践:
我们在这里可以详细描述助手具体要干的事情,以及需要注意的点。内容一定要 精简不啰嗦,要点一定要 分步罗列清楚,前后文的描述中 不允许有冲突 的地方,否则很容易在推理阶段让大模型不知所措。简要明了的任务要求描述,能让大模型更好的执行任务,减少误差或者歧义。
关键要素:
如果我们有可以获取的 外部知识 也可以加入到提示词中,这里有助于模型减少出现幻觉的可能,让它的回答能更加真实可靠有依据。比如我们现在有一个《行业知识库.txt》,我们放入向量库,在针对不同问题的时候召回相应的 doc 喂给大模型,提升其专业能力。有外部的知识可用,这比大模型空想瞎想靠谱的多。
技术细节:
向量召回 可能效果很差,我们可以结合 传统的 BM25 的方式进行关键词的 doc 召回。最后得到的 doc 相对来说会有用的多。在大多数情况下,混合搜索是非常有效的:关键词搜索用于明显关键词的匹配,而向量召回用于同义词、上位词和拼写错误,以及多模态的信息召回。一般我们会给大模型一些例子,这些例子要有代表性,基本上能把你的任务中的常见情况和特殊情况都覆盖即可,一般 5 个左右足够了,复杂任务可以适当增多。好的例子能大幅度提升大模型对于任务的理解和推理能力。
示例选择原则:
如果你还不知道什么是 思维链,可以先看相关文档了解一下。我们在遇到推理等复杂任务的时候,可以在给出例子中引导大模型一步一步去抽丝剥茧理解问题并解决问题。例如下面让大模型进行算数解答的问题,如果是常规的左边的方式直接给出答案,那就很有可能是错的。如果像右边你能在给出的例子中详细阐述解题思路,最后模型也会在推理的时候一步一步给出思考过程,得到的答案比前一种方式对的可能性更高。
实施策略:
一般我们的输入都是夹在 prompt 中的进行提问的,而输出的内容我们需要提取有效的信息,我一般都有自己的特殊符号,定义了合适的输入和输出格式,有利于我们生成美观的 prompt 和获取有效的信息。
推荐格式:
<input>, <output>, <context> 等标签包裹内容,便于解析。###, ---, ''' 等符号区分指令和数据。随着业务要求的增多,有的人巴不得想让大模型一次能干好多事情,处理更多边缘情况,复杂性就会增加,更多的指令,更多步骤推理,再加上几十个例子,以至于最后 prompt 又臭又长,这种是最忌讳的,出错的可能性极大。还不如拆解一下,每次写的 prompt 能干好一件事情。
模块化设计:
我们上面的理论也讲了很多,下面就让我们结合上面的知识实战一把。下面的例子比较简单,大家理解要领即可。
<role>
你是一名精通旅行规划的专家,擅长用幽默、浪漫的话语和机智的对话打动用户。
你的目标是通过合理的预算,在一周之内规划一次完美的旅行路线。
你可以参考一本《全球旅行指南》的书籍内容来帮助你实现这个目标。
</role>
<input>
目的地:{destination}
预算:{budget}
天数:{days}
偏好:{preferences}
</input>
<requirements>
1. 不能超预算。
2. 行程紧凑但不累人。
3. 根据《全球旅行指南》的内容给出具体策略及话术。
</requirements>
<output_format>
请按照下面的格式输出相关内容:
旅行策略:{strategy}
推荐景点:{spots}
预算分配:{cost_breakdown}
</output_format>
<example_1>
输入:
目的地:巴黎
预算:10000 元
天数:5 天
偏好:艺术、美食
输出:
旅行策略:<这里其实就是思维链的过程,教你如何具体实施的步骤>
1. 从《全球旅行指南》书中提取关于艺术展览和米其林餐厅的内容。
2. 在卢浮宫附近安排住宿,方便参观。
3. 在塞纳河畔安排晚餐,展示浪漫氛围。
4. 使用幽默和机智的对话技巧,逐步引起她的注意和兴趣。
推荐景点:卢浮宫、奥赛博物馆、埃菲尔铁塔
预算分配:住宿 4000,餐饮 3000,门票 2000,交通 1000
</example_1>
在调用 API 时,合理设置 temperature 参数。对于事实性问答,建议使用较低的温度(如 0.1-0.3)以保证准确性;对于创意写作,可以使用较高的温度(如 0.7-1.0)以增加多样性。
在复杂推理任务中,可以让模型生成多个不同的推理路径,然后投票选出最一致的答案。这种方法被称为 Self-Consistency,能显著提高数学和逻辑题的正确率。
在 Prompt 中加入安全指令,防止模型输出有害、偏见或违规内容。例如:'请确保所有建议符合法律法规,不包含任何歧视性言论。'
Prompt 工程是一个迭代过程。建立自动化测试集,对比不同版本的 Prompt 效果,记录成功率和失败案例,持续优化。
编写高质量的 Prompt 是一门结合了心理学、语言学和技术实现的综合艺术。通过明确角色定义、细化任务要求、引入外部知识(RAG)、利用少样本学习(Few-shot)、引导思维链(CoT)、规范输入输出结构以及保持任务单一性,我们可以大幅提升大模型在实际应用中的表现。希望本文提供的技术点能帮助开发者构建出更智能、更稳定的 AI 系统。
在未来的工作中,建议持续关注 Prompt 工程的最新研究进展,探索自动化工具(如 Auto-Prompt)在降低人工成本方面的潜力,同时注意数据隐私和伦理合规问题,确保技术应用的安全可控。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online