DeepSeek :提示词工程 (Prompt Engineering) —— 人机交互时代的“新编程语言”

前言

在使用 DeepSeek 或 GPT 时,你是否遇到过这些情况?

  • "这 AI 好像听不懂人话,写的代码总是跑不通。"

  • "写的文章车轱辘话来回说,一股 AI 味。"

  • "同样的模型,为什么别人能用它做架构设计,我只能用它做简单的翻译?"

真相是:模型的能力是固定的,但你的 Prompt(提示词)决定了它发挥 10% 还是 90% 的潜能。

大多数人把 AI 当作**"搜索引擎"(给关键词,找答案)或者"聊天对象"(随便聊聊)。

但其实Prompt 是一种自然语言编程。DeepSeek 本质上是一个概率预测引擎,你的每一个字,都是在调整它预测下一个 Token 的概率分布。

一、 底层逻辑:AI 是如何思考的?

要写好 Prompt,首先要理解 LLM(大语言模型)的本质。

LLM 不是人,它是"文字接龙"机器。

当你输入"苹果"时,它不是在脑海里想象一个红色的水果,而是在计算:"在'苹果'这两个字后面,接'手机'、'价格'还是'好吃'的概率更高?"

Prompt 的作用,就是通过上下文约束,把"概率空间"收敛到你想要的方向。

  • Bad Prompt: 解释量子力学。

    • AI 的困惑: 给谁解释?解释多深?是用公式还是比喻?(概率发散,输出平庸)
  • Good Prompt: 你是一名物理学教授。请用给 5 岁小孩讲故事的方式,不用任何数学公式,解释量子力学中的"量子纠缠"现象。

    • AI 的确定性: 角色=教授,对象=5岁,约束=无公式,目标=量子纠缠。(概率收敛,输出精准)

二、 核心方法论:结构化提示词 (Structured Prompting)

优秀的 Prompt 应该像代码一样,具备清晰的结构。我们推荐 CRISPE 框架

  1. C (Context) - 背景: 你是谁?由于什么原因需要做这件事?

  2. R (Role) - 角色: AI 应该扮演什么专家?

  3. I (Instruction) - 指令: 具体要做什么?(动词驱动)

  4. S (Constraints) - 约束: 不能做什么?字数、格式限制。

  5. P (Payload) - 输入数据: 需要处理的具体内容。

  6. E (Example) - 示例: (最重要) 给出一个理想的输出样例。

实战对比:让 DeepSeek 写 SQL

❌ 普通用户的写法:

帮我写个 SQL,查一下最近一个月消费最多的用户。

✅ 工程师的写法:

复制代码
# Role
你是一个精通 MySQL 8.0 的高级数据分析师。

# Context
我们正在进行季度销售复盘,需要找出高价值客户进行回访。

# Database Schema
Table: orders
- user_id (int)
- amount (decimal)
- created_at (datetime)
- status (tinyint, 1=completed)

# Instruction
编写 SQL 查询最近 30 天内,状态为 completed 的订单中,累计消费金额最高的前 10 名用户。

# Constraints
1. 使用 SUM() 聚合金额。
2. 只要输出 SQL 代码,不要 Markdown 格式,不要解释。
3. 性能优先,假设 user_id 和 created_at 有索引。

# Example Output
SELECT user_id, SUM(amount) ...

为什么后者更好?

后者消除了歧义(状态=1,最近30天,Top 10),并约束了输出格式(方便程序直接调用)。

三、Few-Shot Prompting (少样本提示)

如果说 Role 和 Context 是基础,那么 Few-Shot(给例子) 就是提示词工程的进阶表现

原理: 示例让模型直接"模仿"你的思维逻辑和输出格式,而不是去"猜"。

场景:情感分析

Zero-Shot (无样本):

判断这句话的情感:"这手机发热太严重了,但在冬天能当暖手宝。"

AI 回答:这句话包含了负面评价(发热严重)和正面评价(暖手宝),整体情感比较复杂... (废话多)

Few-Shot (少样本):

任务:提取评论的情感极性(Positive/Negative)。

例子 1:

评论:"屏幕清晰,但是电池不耐用。"

情感:Negative

例子 2:

评论:"虽然物流慢,但东西确实好。"

情感:Positive

例子 3:

评论:"这手机发热太严重了,但在冬天能当暖手宝。"

情感:

AI 回答:Negative (直接模仿格式,准确判定"暖手宝"是讽刺)

四、 进阶技巧:思维链 (Chain of Thought, CoT)

对于 DeepSeek-V3 这种通用模型,处理复杂逻辑时,你需要强迫它"慢下来思考"。

魔法咒语: 请一步步思考 (Let's think step by step)。

场景:逻辑推理

普通提问:

约翰有 5 个苹果,吃了 2 个,买了 3 个,送给朋友一半,还剩几个?

AI (可能出错):3 个。

CoT 提问:

约翰有 5 个苹果,吃了 2 个,买了 3 个,送给朋友一半,还剩几个?请一步步思考。

AI:

  1. 起始:5 个

  2. 吃了 2 个:5 - 2 = 3

  3. 买了 3 个:3 + 3 = 6

  4. 送给朋友一半:6 / 2 = 3

  5. 还剩:3 个。

DeepSeek-R1 特别说明:

DeepSeek-R1 是推理模型,它内置了思维链能力。对 R1,你不需要写"请一步步思考",反而应该通过 Prompt 清晰定义目标和边界条件,让它自己去推导路径。

五、 结构化输出:XML 标签法

在长文本或复杂任务中,如何让 AI 清楚地知道哪里是数据,哪里是指令?

推荐使用 XML 标签将 Prompt 分区。这在大文本处理中能显著降低"遗忘"和"幻觉"。

复制代码
<system_instruction>
你是一个代码审计专家。
</system_instruction>

<code_to_review>
def func(x):
    eval(x) # 危险代码
</code_to_review>

<review_requirements>
1. 指出安全漏洞。
2. 给出修复代码。
</review_requirements>

这种写法让 Prompt 对机器更加友好,解析准确率极高。

六、 调试与迭代:Prompt 也是需要 Debug 的

不要指望写一次 Prompt 就完美。提示词工程是一个迭代的过程。

Prompt Debug 流程:

  1. 运行: 观察输出。

  2. 诊断:

    • 废话太多? -> 增加约束:"只输出结果"。

    • 逻辑错误? -> 增加 CoT:"一步步思考"。

    • 格式不对? -> 增加 One-Shot:"参照以下 JSON 格式"。

  3. 修正: 修改 Prompt。

  4. 复测: 用新数据测试。

结语

prompt不仅仅适用于Deepseek,对于所有的ai模型来说,prompt都尤其的重要

相关推荐
「、皓子~2 小时前
AI 创作系列(34)海狸IM桌面版 v1.1 正式发布:Vite + Electron 性能优化与体验升级
前端·人工智能·electron·开源·开源软件·im
子午2 小时前
【2026原创】昆虫识别系统~Python+深度学习+卷积算法+模型训练+人工智能
人工智能·python·深度学习
Rui_Freely2 小时前
Vins-Fusion之 SFM 滑窗内相机位姿及特征点3D估计(十三)
人工智能·算法·计算机视觉
范桂飓2 小时前
LLaMA-Factory 大模型微调平台
人工智能·llama
高洁012 小时前
AI智能体搭建(1)
人工智能·深度学习·机器学习·transformer·知识图谱
lixzest2 小时前
Transformer 零基础学习指南
人工智能·深度学习·transformer
jackywine62 小时前
系统提示词(System Prompt),AI 的“人设剧本“
人工智能·chatgpt
UnderTurrets2 小时前
From_Diffusion_to_GSFix3D
人工智能·计算机视觉·3d
laplace01232 小时前
agent模型基础
人工智能·语言模型·自然语言处理·agent·rag