目录
Prompt Engineering Cheatsheet: 构建高效提示的核心要素
活力无限,科技无界
搜索🔍关注👉公众号 猕猴桃实验室一起在网络技术里遨游
公众号来源:猕猴桃实验室 => 转载请注明“转载于公众号:猕猴桃实验室”

公众号:猕猴桃实验室
微信公众号:猕猴桃实验室
LLM实用双技巧
思考过程控制
在使用#Ollama 安装#Qwen3 等大模型时,它们通常会展示思考过程。然而,在某些场景下,我们可能只需要直接的输出结果,而不关心中间思考步骤。以下介绍两种方法来实现这一目的。
软切换方式
大多数#推理模型 支持使用特定指令调整输出行为。一个常用的方法是在聊天模板中添加空的<think></think>
标签,这样可以让#大模型 直接给出结果而跳过显示思考过程。
但是也有一些大模型提供了官方的自定义指令。例如,Qwen3大模型支持在提示词中加入/no_think
来控制思考模式:
在Qwen3-235B-A22B的大模型对话中输入 Hello, 你猜我是谁!
,添加/no_think
与没添加/no_think
指令,出现不同的输出:
我们提供了一种软切换机制,允许用户在 enable_thinking=True 时动态控制模型的行为。具体来说,您可以在用户提示或系统消息中添加
/think
和/no_think
来逐轮切换模型的思考模式。在多轮对话中,模型会遵循最近的指令。—— 引自 Qwen官方文档
硬切换方式
在使用Ollama安装大模型的时候,也可以通过Ollama的#Modelfile 配置文件来调整模型行为,比如Qwen3:
FROM qwen3:30b-a3b-q8_0
TEMPLATE """{{- if .Messages }}
{{- if or .System .Tools }}<|im_start|>system
{{- if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within <tools></tools> XML tags:
<tools>
{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}
</tools>
For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>
{{- end }}<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}<tool_call>
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}</tool_call>
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user
<tool_response>
{{ .Content }}
</tool_response><|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
<think>
</think>
{{ end }}
{{- end }}
{{- else }}
{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
<think>
</think>
{{ end }}{{ .Response }}{{ if .Response }}<|im_end|>{{ end }}"""
PARAMETER top_k 20
PARAMETER top_p 0.95
PARAMETER repeat_penalty 1
PARAMETER stop <|im_start|>
PARAMETER stop <|im_end|>
PARAMETER temperature 0.6
Ollama Modelfile 是一种用于设置和控制Ollama平台模型行为的配置方式。它不仅可以用来创建新模型,还能对已有模型进行参数调整,以适应特定需求。例如,可以内置定制的提示语,调整#上下文长度、温度值、随机因子,以及控制输出文本的多样性和一致性。
值得注意的是,这种调整并非对模型本身进行微调,而是对运行参数的优化。通过Ollama Modelfile,您可以更高效地在本地部署和管理大语言模型,提升资源利用率,获得更理想的运行效果。它极大地简化了LLM的调用和操作流程。
五维提示词框架
Prompt Engineering Cheatsheet: 构建高效提示的核心要素
本#提示词 (#Prompt)速查表为提示工程师提供了一套系统化的框架,用于设计精准且高效的AI交互指令,提高#生产力。其核心模块涵盖五个关键维度:
-
1. Writing Style(写作风格)
提供20种预定义风格选项,如Legal(法律)、Satirical(讽刺)、Scientific(科学)等,帮助快速匹配不同场景需求。例如,在技术文档生成中选择"Technical"风格可确保术语的专业准确性。 -
2. Verb(动词指令)
通过20个核心动词(如Hire/Build/Draft等)明确任务行动,结合Output(输出格式)与Objective(目标),构成基础提示结构:"Verb + Output + Objective",为模型提供清晰的任务定义。 -
3. Voice & Tone(声调与语气)
Voice维度包含Soft/Cool/Bold等12种声线设定,配合Tone中的Formal/Critical/Casual等16种语气选项,实现精细的情感表达控制。例如设置"Stoic Voice + Analytical Tone"可生成冷静理性的分析报告。 -
4. Context(上下文参数)
18项扩展参数(如Data/Industry/Revenue等)用于高级提示构建,通过补充领域知识或业务指标显著提升响应的相关性和深度。 -
5. Prompt Structure(提示结构)
-
• 初级模式:聚焦基础三要素(
动词+输出+目标
) -
• 高级模式:在基础结构上叠加#上下文参数,支持多层约束条件输入
-
这种模块化组合机制,可以让提示工程师能够系统性地快速拆解复杂需求,将模糊指令转化为结构化参数集,从而显著提升大模型任务执行的准确性、一致性和可控性,可以有好的生产力体验。
参考:
-
• https://qwenlm.github.io/zh/blog/qwen3/
-
• https://i.postimg.cc/yY0Ng3XM/dscheat.jpg
-
• https://qwen.readthedocs.io/zh-cn/latest/
-
• https://gist.github.com/ehartford/a465d24116b7df07170efe69116084a3
往期回顾:
社区交流订阅:
