纲要
- 推理型模型的提示词新范式
- 与传统非推理模型的核心区别
- 三大核心原则:简洁、信任、聚焦目标
- 提示词撰写的四种模式
指令驱动:适用于明确、简单任务需求导向:适用于复杂问题的自主推理混合模式:兼顾灵活性与可控性启发式提问:适用于探索性分析
- 通用提示词公式
- 四要素结构:
指令+上下文+输入+输出
- 四要素结构:
- 按需求场景的分类提示词结构
决策需求、创造性需求、执行需求、分析需求、验证需求
- 新手常用的便捷指令
- 续写、简化、总结、解释、翻译、类比、润色、扩写、步骤、举例
- 组合使用与作用域限定技巧
- 代码实战:
Python调用DeepSeek API对比不同提示词策略- 环境准备与依赖安装
- 完整可运行脚本
- 过度引导 vs 简洁指令的效果对比
- 总结
推理型模型的提示词新范式
DeepSeek-R1 等推理型模型内置了强大的思维链(Chain of Thought,CoT)能力,其提示词撰写方式与传统非推理模型存在本质差异。沿用过去“手把手教模型思考”的方法,反而会限制模型内置的推理能力,导致输出质量下降。
核心区别:
| 方面 | 非推理模型提示词 | 推理型模型提示词 |
|---|---|---|
| 引导方式 | 需要显式分步指导、示例驱动 | 只需明确目标与需求 |
| 复杂度 | 可包含角色扮演、CoT 模板 | 简洁直接,避免冗余引导 |
| 信任程度 | 输出需要多次验证 | 思维链透明,结果更可信 |
| 典型用法 | “你是一位专家,第一步……第二步……” | “请分析以下问题并给出方案” |
三大核心原则:
- 简洁至上:无需在提示词中构造
CoT过程,模型会自动生成结构化的推理步骤。 - 聚焦目标:清晰描述期望的结果,而非指导模型如何思考。
- 避免干扰:慎用角色扮演类启发式提示(如“你是一位资深律师”),此类设定可能干扰逻辑主线。
提示词撰写的四种模式
针对 DeepSeek 推理模型,以下四种提示词模式在实践中被验证为有效:
-
指令驱动:适合简单、快速执行的任务。
- 示例:
用 Python 编写快速排序函数,输出需要包含注释。
- 示例:
-
需求导向:适合复杂问题,让模型自主完成推理链。
- 示例:
我需要优化用户登录流程,请分析当前瓶颈并给出三种改进方案。
- 示例:
-
混合模式:在提供明确约束的同时保留模型的推理空间,兼顾灵活性与可控性。
- 示例:
设计一个杭州三日游计划,必须包含西湖和灵隐寺,且预算控制在 2000 元以内。
- 示例:
-
启发式提问:适合探索性、需要解释逻辑的问题。
- 示例:
为什么在此优化问题中选择梯度下降法?请对比其他算法并说明理由。
- 示例:
模式选择取决于对结果可控性的要求与任务复杂程度。
通用提示词公式
无论何种场景,一个结构化的 DeepSeek 提示词通常包含四个核心要素:
- 指令:明确要执行的动作。
- 上下文:任务背景或领域信息。
- 输入:模型需要处理的具体数据。
- 输出:期望的返回格式(文本、表格、
JSON等)。
按需求场景的分类提示词结构
根据任务类型,可进一步细化提示词结构:
| 需求类型 | 提示词结构要素 | 示例 |
|---|---|---|
| 决策需求 | 目标 + 已有选项 + 评估标准 | “我们需选择云服务商,选项有 AWS/阿里云/华为云,请从成本、延迟、合规三方面评估并推荐。” |
| 创造性需求 | 主题 + 约束条件 + 创新方向 | “请设计一种新的社交 App 的裂变增长策略,要求零广告预算,方向侧重游戏化邀请机制。” |
| 执行需求 | 任务描述 + 步骤约束 + 输出格式 | “用 Python 处理 sales.csv,计算每月总销售额,按月份降序输出为 Markdown 表格,禁止使用 pandas。” |
| 分析需求 | 问题 + 数据/信息 + 分析方法 | “根据过去三个月用户流失数据,用归纳法找出主要流失原因。” |
| 验证需求 | 现有方案 + 验证目标 + 风险点检查 | “以下微服务架构方案是否存在单点故障风险?请逐组件分析。” |
新手常用的便捷指令
DeepSeek 提供了一系列以 / 开头的便捷指令,内置了提示词模板,可显著提升交互效率:
| 指令 | 用途 | 示例 |
|---|---|---|
/续写 | 延续现有内容 | /续写 在上文基础上增加市场分析部分 |
/简化 | 将复杂内容通俗化 | /简化 下面这段技术白皮书 |
/总结 | 提炼长文核心要点 | /总结 这篇 5000 字调研报告 |
/解释 | 解释专业名词或概念 | /解释 什么是 Transformer 自注意力机制 |
/翻译 | 多语言互译 | /翻译 为英文:大模型驱动的智能体 |
/类比 | 用相似事物解释复杂概念 | /类比 解释 RAG,请用图书馆借书做类比 |
/润色 | 优化文本流畅度与专业性 | /润色 这段产品文案 |
/扩写 | 丰富现有内容细节 | /扩写 第三段关于成本分析的论述 |
/步骤 | 分解复杂操作流程 | /步骤 在 AWS 上部署微服务 |
/举例 | 获取具体实例帮助理解 | /举例 高并发场景下的缓存策略 |
使用技巧:
- 组合使用:指令可串联,例如
/总结 文章内容,然后 /续写 补充自己的观点。 - 附加要求:在指令后添加细化描述,如
/翻译 为日语,保留敬语。 - 作用域限定:使用括号
()明确作用范围,如/润色 (第二段)。
这些便捷指令本质上是简化版的提示词模板封装,适合新用户快速上手。
代码实战:用 Python 调用 DeepSeek API 对比不同提示词策略
本节提供一个可直接运行的 Python 脚本,通过 DeepSeek API 对比“过度引导”与“简洁指令”对推理模型输出质量的影响。脚本使用 openai Python 库调用 DeepSeek 的 deepseek-reasoner 模型。
适用版本:
openai>= 1.0.0DeepSeek API:deepseek-reasoner模型(2025-02-24 及之后版本)
准备工作:
- 安装依赖:
pip install openai - 前往 DeepSeek Platform 注册并获取
API Key。
import openai
# ================= 配置区 =================
API_KEY = "your-deepseek-api-key" # 请替换为您的真实 API Key
BASE_URL = "https://api.deepseek.com"
MODEL = "deepseek-reasoner" # 推理模型,版本 >= 2025-02-24
# ==========================================
client = openai.OpenAI(api_key=API_KEY, base_url=BASE_URL)
# 同一问题,使用两种不同的提示词风格
question = "某公司需要从三个候选人中选拔项目经理,请给出决策框架。"
# 提示词 A:过度引导(非推理模型常见模式)
prompt_a = (
"你是一位资深 HR 专家。请按以下步骤思考:"
"第一步,列出候选人评估维度;"
"第二步,为每个维度分配权重;"
"第三步,基于假设的数据打分;"
"第四步,综合排序并给出最终推荐。\n"
f"问题:{question}"
)
# 提示词 B:简洁聚焦目标(推理模型推荐方式)
prompt_b = f"问题:{question}\n请提供一个可直接用于高管会议的决策框架。"
# 调用 API
resp_a = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt_a}],
temperature=0.0,
max_tokens=800
)
resp_b = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt_b}],
temperature=0.0,
max_tokens=800
)
print("===== 提示词 A(过度引导)=====")
print(resp_a.choices[0].message.content)
print("\n===== 提示词 B(简洁指令)=====")
print(resp_b.choices[0].message.content)
运行预期:
- 提示词
A虽能给出答案,但模型受限于人为预设的思维框架,输出广度与灵活性受限。 - 提示词
B通常能生成更具创造性和实用性的决策框架,充分释放模型自身的推理潜力。
通过此对比可直观验证推理模型下“少即是多”的提示词设计哲学。
API 速览
本节梳理代码实战中涉及的 DeepSeek API 核心接口。
ChatCompletion.create
所属库:openai.OpenAI().chat.completions
方法签名:
create(model, messages, temperature, max_tokens, ...) -> ChatCompletion
核心参数:
| 参数 | 类型 | 说明 |
|---|---|---|
model | str | 模型名称,推理模型使用 deepseek-reasoner |
messages | List[Dict] | 对话消息列表,格式为 [{"role": "user", "content": "..."}] |
temperature | float | 采样温度,范围 0.0 ~ 1.0,0.0 为确定性输出 |
max_tokens | int | 最大生成 token 数 |
返回值:ChatCompletion 对象,通过 choices[0].message.content 获取输出文本。
参考文档
官方文档:
参考链接:
总结
针对 DeepSeek 这类推理型模型,提示词工程的核心范式已从“教模型思考”转向“信任模型的思考能力”。遵循简洁、聚焦目标、避免干扰三项核心原则,灵活运用指令驱动、需求导向、混合模式与启发式提问四种提示词模式,配合内置的便捷指令组合,可显著提升交互效率与输出质量。
实际开发中,建议采用渐进式策略:先用最简洁的指令测试模型表现,若未达预期再逐步补充上下文与约束条件,而非在一开始就施加复杂的角色设定和步骤约束。
458



被折叠的 条评论
为什么被折叠?



