简介:这份由清华大学@新媒沈阳团队编写的《DeepSeek从入门到精通(第二版)》PDF,面向希望将大模型用于职场写作、分析、创意与协作的从业者和学习者,重点讨论DeepSeek如何通过提示语设计、模式选择和多场景落地提升工作效率。内容围绕基础模型V3、深度思考R1与联网搜索三种模式展开,辨析其在规范约束、结果确定性、路径灵活性和风险特征上的差异,并给出RTGO、CO-STAR等提示语框架及V3/R1提问策略;同时结合人机协同、智能角色交互、行业大模型、内容创意、数据分析、医疗与法律等应用场景,说明从任务拆解到结果校验的思路。资源包为1个PDF文件,约10.21MB,便于集中阅读和检索;已有3622人学习。读者可据此建立模型选择与提示语编写的方法框架,理解复杂推理、检索增强生成和平台部署的使用边界,并参考团队研究案例拓展职场应用思路。
1. 同一个模型,两套提示语:为什么“请扮演资深分析师”在深度推理模型上反而会掉分
不少人把写提示语的习惯原样搬过去,结果发现越是把角色、步骤、示例堆得满满当当,某些模型给出的答案反而更啰嗦、更跑偏。这个反直觉现象背后,是 DeepSeek 这类模型内部同时存在两条完全不同的推理路径:一条靠指令跟随把任务压进模板,一条靠强化学习把思考过程内化成能力。职场应用里真正拉开差距的,不是谁的提示词写得更长,而是谁先判断出眼前这个任务该走哪条路。这份资料把提示语技巧、多场景应用与人机协同的路径拆成了可对照的框架,搞懂它为什么这样分,比记住模板本身更有用。
2. 指令跟随与推理模型的机制分野:V3 和 R1 到底差在哪
2.1 从 next-token 到“把计算外化到上下文里”
先看一个容易被忽略的底层事实:Transformer 的一次前向传播,层数是固定的,也就是说单个 token 位置上能做的计算量是个常数。模型想在难题上“多想一会儿”,唯一的物理手段就是多生成一些中间 token,把本该在一次前向里完成的推理,摊开到几十上百个 token 的序列上,靠上下文窗口当草稿纸。这条约束决定了所有大模型的思考能力上限,也决定了两类模型的设计分歧。
基础模型(V3)走的是另一条路。它经过大规模预训练加指令微调,学到的是“给定输入分布,输出最可能的响应”。这类模型擅长的是模式匹配与知识重组:写文案、改语气、做摘要、套格式,本质上都是在高概率区域里采样。它的优势是快、稳、可控,因为指令微调已经把“过程—结果”的映射压得很紧,你说什么它做什么,路径清晰。
代价也在这里。一旦任务需要多步推导、中途回溯、自我否证,基础模型就会倾向于“顺着往下写”,因为它的训练目标从来不是“算对”,而是“接得像”。数理逻辑、复杂代码重构这类任务上,它可能在中途算错一步,然后带着这个错误一路自信地推到结尾。这不是它“不认真”,是它的生成机制里根本没有“回头检查”这个动作。
推理模型(R1)把这件事改了。它在输出最终答案之前,先产出一段思维链 token,这段内容对外可见、可读,作用是把隐式计算显式化。数学题先列条件、再试解法、发现矛盾、换路子、最后验算,这些动作全都落成 token,模型于是在序列维度上获得了近似“多次前向”的深度。这也是为什么同一个基座,开了深度思考之后在需要严密推导的任务上表现会有量级差异。
提示:判断一个任务该不该开深度思考,看它有没有“中间步骤错了后面全废”的结构。有的开,没有的别开,白烧 token 还更慢。
2.2 强化学习如何把探索策略写进权重
思维链本身不稀奇,早期用“让我们一步步思考”这类提示语也能诱导出来。真正的分野在于:提示语诱导出的思维链是模型在模仿训练语料里出现过的解题格式,而强化学习训练出的思维链是模型自己摸索出来的、被奖励信号筛选过的策略。
常见的实现思路是构造可自动判定对错的任务,比如有唯一答案的数理题、能跑通单测的代码题。模型生成完整解答,判分器只给最终结果打分,中间怎么想的不干预。训练过程中,那些“分解问题、尝试、失败、换路径、回代验证”的样本因为最终答对而获得更高奖励,被反复强化;那些“一条路走到黑”的样本因为答错被压低。跑得足够久之后,这套探索策略就从偶然行为变成了默认行为,写进了权重。
这里有个很关键的副作用:既然奖励只看结果,模型会自己学会控制思考长度。简单题上它倾向于短链甚至直接给答案,难题上才展开长链。这意味着你不需要告诉它“这题很难,请仔细想”,它自己会判断。反过来说,如果你在提示语里硬塞一段“请按以下五步思考”,等于用外部模板覆盖了它自己学到的调度策略,效果常常是变差而不是变好。
这也解释了为什么推理模型的提示语原则是“目标清晰、结果可以模糊”。你只需要把问题边界、约束条件、期望形态说清楚,路径交给它。而基础模型恰恰相反,路径必须由你给,因为它没有自主调度能力。两类模型在提示语上的所有差异,根子都在这里。
2.3 5R 维度:把模型差异翻译成工程判据
光知道“一个是指令型、一个是推理型”还不够,落到实际排期和分工上,需要更细的判据。资料里用五个维度做了对照,我把它们整理成下面这张表,并在最后一列补上了我自己在选型时会看的信号。
| 维度 | V3(通用模型) | R1(推理模型) | 选型时的观察信号 |
|---|---|---|---|
| Regulation 规范性 | 强约束,操作路径明确 | 弱约束,操作路径开放 | 输出格式要求是否严格到字段级 |
| Result 结果导向 | 目标确定性高,结果可预期 | 目标开放性高,结果多样 | 同一输入重复跑,结果差异能否接受 |
| Route 路径灵活性 | 线性路径,流程标准化 | 网状路径,多路径探索 | 任务是否需要中途换解法 |
| Responsiveness 响应模式 | 被动适配,按规则执行 | 主动创新,自主决策 | 是否需要模型自己补全缺失条件 |
| Risk 风险特征 | 低风险,稳定可控 | 高风险,不确定性高 | 出错代价与人工复核成本 |
这张表的用法不是背下来,而是当成一次事前自检。我一般的做法是:先在纸上写清楚交付物的验收标准,再倒推这五个维度各自落在哪一侧。如果五个维度里有三个以上指向 R1,那就走深度思考;如果指向 V3 的居多,硬上推理模型只会带来延迟和不可复现性。
举个具体的例子。让模型把一段会议记录改写成三条要点,这是典型的强规范、低风险、线性路径任务,用 V3,几秒钟出结果。让它根据一堆零散的销售数据反推下季度的定价策略,这是开放性目标、需要多路径权衡、还得自己发现数据里的矛盾,这时候用 V3 会得到一个看起来齐整但经不起追问的答案,用 R1 才有机会看到它把几种假设都摆出来互相比对。
3. 提示语框架的底层逻辑:RTGO、CO-STAR 到 CAP 的层层收敛
3.1 RTGO:四个字段各自在压缩什么
RTGO 把提示语拆成角色、任务、目标、操作要求四块。很多人以为角色设定是为了“让模型进入状态”,其实更准确的机制解释是:角色词是在激活预训练语料中的某个子分布。当你说“你是一位有十年经验的 SaaS 商务”,模型内部与之共现概率高的术语、句式、论证习惯会被抬升,输出自然向那个方向偏移。它不是在扮演,是在做分布选择。
任务字段解决的是“做什么”,目标字段解决的是“为什么做”。这两者分开写,价值在于它们经常冲突。比如任务是“写一份活动宣推文案”,目标是“吸引潜在客户并促成转化”,如果只写任务,模型会给你一篇漂亮的抒情文案;把目标写进去,它才知道要放钩子、要给行动指令。
操作要求是唯一直接约束输出形态的字段:字数、段落数、用词风格、要点覆盖、输出格式。这一块写得越具体,返工越少。我通常会把“不超过 300 字”“三段,每段不超过四行”“不出现形容词堆砌”这类硬指标写在这里,因为它是模型最容易验证、也最不容易误解的部分。
四块合起来的作用,是把一个开放的生成问题压缩成一个有边界的填空问题。边界越清晰,基础模型的采样空间越小,输出越稳定。
3.2 CO-STAR:为什么多了受众和语调两个字段
CO-STAR 在 RTGO 的基础上补了上下文、受众、风格、语调、响应类型。它的增量价值集中在“受众”这一项上。
原因是这样的:语言模型在生成时,实际上隐含地在建模“谁在读这段话”。你不写受众,它会默认面向一个平均读者,输出一种没有棱角的通用语体。你明确写“受众是没接触过这个领域的中层管理者”,它就会自动做术语降维、增加类比、缩短句子。这个动作不需要额外训练,是上下文里多了一个约束条件之后概率分布自然偏移的结果。
风格和语调是两个容易混淆的字段。风格管的是文体类型(严肃报告、口语化短文、学术摘要),语调管的是情绪色彩(中性、紧迫、轻松)。分开写的好处是避免一种常见翻车:你想要一份严肃但读起来不累的材料,只写“严肃”会得到公文腔,只写“轻松”会得到段子腔。两个字段同时给,模型才有办法在文体和情绪之间做正交组合。
响应类型这一项在小任务里可以省略,但在需要对接下游系统的场景里必须写死。是要一份可直接粘贴的表格,还是要一段能放进邮件正文的连续段落,差别很大,而且模型不会替你猜。
3.3 CAP 框架:把模型当智能体时的四层结构
当任务从“生成一段文本”升级成“完成一件有多个步骤、需要自己判断边界的事”,前面两个框架就不够用了。资料里给出的思路是把提示语拆成身份定义、能力矩阵、边界系统、工作引擎四层,形成一套完整的智能体提示框架。
# 智能体提示框架(CAP)的结构化写法 identity: # 第一层:身份定义 role: 结构化交付物生成器 # 角色名要具体到职能,不要写"AI助手" background: 熟悉信息架构与文档排版规范 interaction: 先确认信息缺口再动手,不臆造数据 capability: # 第二层:能力矩阵 skills: - 把零散素材归纳成层级目录 - 按固定模板输出结构化文本 - 识别并标注信息不足的位置 scope: [大纲设计, 内容重排, 格式校验] forbidden: [编造引用来源, 代替人工做事实核查] boundary: # 第三层:边界系统 ethics: 不生成涉及个人隐私的具体信息 safety: 拒绝输出无法验证的绝对化结论 resource: 单次输出不超过 4000 字,超出则分批 engine: # 第四层:工作引擎 input: 接收主题 + 受众 + 篇幅 + 禁用词 flow: - 复述需求并列出缺失信息 - 输出一级目录,等待确认 - 逐章展开,每章不超过 5 个要点 - 自检层级编号是否连续 output: Markdown,最多三级标题,不输出解释性前言这份模板里,identity的role必须具体到职能,因为模糊的角色词激活的子分布太宽,起不到收敛作用。capability里的forbidden是我认为最容易被忽略的一栏——正向能力描述告诉模型能做什么,反向禁令告诉它不能做什么,后者在长任务里对防止跑偏的作用往往更大,因为模型在长链生成中容易为了“把话说完”而补全不存在的信息。
boundary里的resource看起来是工程细节,实际上非常关键。单次输出长度受限时,如果不在提示里声明,模型会倾向于压缩后半段内容来凑完整结构,导致越往后越潦草。显式写出“超出则分批”,等于给了它一个合法的退出通道。
engine的flow是这套框架和前面两个框架最大的区别:它描述的是一个有时序的过程,而不是一次性的映射。input之后先复述需求、列出缺口,这一步的作用是把隐含假设暴露出来,让你在它还只输出了一小段的时候就能纠偏,而不是等几千字写完才发现方向错了。
注意:
flow里不要写超过五步。步骤越多,模型在中途丢步的概率越高,而且一旦丢步,后面的步骤会连锁偏移。宁可把复杂流程拆成多次对话。
4. 三种模式的路由机制:V3、R1、联网搜索各自解决哪类不确定性
4.1 通用模式:在参数化记忆里做快速检索
通用模式的本质是从权重里取知识。它快,是因为一次前向就能出结果;它有幻觉,也是因为权重里存的是统计规律,不是事实数据库。当你问一个训练语料里高频出现的概念,它答得又准又稳;当你问一个偏门细节,它可能给出一个格式正确、内容虚构的答案,而且语气毫无迟疑。
这个模式适合的任务有个共同特征:答案的正确性可以由你自己判断。改文案、做归纳、套格式、翻译、润色,这些任务里模型的输出是原料,判断权在你手上,出错成本低。反过来,凡是你不具备判断能力、需要依赖模型给出事实性结论的场景,这个模式就不该单独使用。
4.2 深度思考:搜索树展开与自我校验的代价
深度思考模式的运行过程,可以粗略理解成在思维链里展开了一棵搜索树。模型先给出一个初始思路,往下推几步,遇到矛盾或算不通的地方,退回上一个分叉换条路,直到找到一条自洽的路径,再做一遍验算。这一整套动作全部体现为 token,所以你看到的是一个明显更长的响应。
代价有三个。第一是延迟,思维链越长,等待越久,长链任务上几十秒是常态。第二是不可复现,同一问题两次运行,探索路径不同,最终答案的措辞甚至结论侧重都可能有差异,这对需要批量稳定输出的流水线是个麻烦。第三是过度思考,遇到本来一句话能说清的问题,它可能展开一大段自我辩论,反而把简单问题复杂化。
所以这个模式的价值区间很窄但很深:多步数理推导、复杂代码的定位与重构、需要在多个假设之间做权衡的策略分析、有明显逻辑陷阱的论证题。这几类任务的共同点是,中间过程的正确性比输出速度重要得多,而且错一步的代价远高于多等三十秒。
4.3 联网搜索:RAG 切断了知识截止时间的锁
联网搜索走的是检索增强生成的路子。机制上分三步:先从查询里抽关键词做检索,把命中的网页片段取回来,再把这些片段和你的原始问题一起拼进上下文,让模型基于这些材料作答。它解决的是参数化记忆的两个硬伤——知识有截止时间、细节记不准。
但这条路引入了一类新问题:检索回来的片段可能互相矛盾、可能跑题、可能是低质量内容。模型面对一堆冲突材料时,未必会告诉你“这些来源打架了”,它更常见的做法是折中调和,给你一个看起来周全实际上含糊的答案。
我的处理习惯是,在用联网模式提问时,强制要求标注来源,并在提示语里加一句“如果检索到的信息互相矛盾,请分别列出并说明分歧点,不要合并成一个结论”。这一句能显著提升输出可用性,因为它把“发现矛盾”从模型的隐性行为变成了显性任务。
三种模式的选择可以写成一个很短的判断逻辑:
def route(task): # 第一层:先判断是否依赖时效性事实 if task.needs_realtime_info: # 价格、政策、版本、近期事件 return "search" # 联网检索,且必须要求标注来源 # 第二层:判断是否存在"中间错则全错"的推导结构 if task.has_multi_step_reasoning and task.error_cost > task.latency_cost: return "reasoning" # 深度思考,接受延迟换正确率 # 第三层:其余归入通用模式 if task.answer_verifiable_by_human: # 你自己能一眼判断对错 return "general" # 追求速度与稳定 # 兜底:既不能验证又需要事实支撑,属于高风险区 return "search+reasoning" # 先检索锁定事实,再推理组织结论needs_realtime_info这一项要按业务场景定义,不要凭感觉。error_cost > latency_cost是个粗略但有效的量化方式:如果返工一次的成本高于多等半分钟,就该走推理。最后那个兜底分支值得单独说一句——先检索再推理的组合,在需要基于真实材料做分析的场景里,通常比任何单一模式都稳,因为它把“事实从哪来”和“结论怎么得”这两件事分开了。
5. 避坑与排查:五条踩过的坑
5.1 给推理模型堆角色设定和思维链示范
现象:开了深度思考之后,答案变得又长又散,重点被淹没在一堆自我复述里,准确率反而不如不写角色。
原因:推理模型的探索策略是训练出来的,外部塞进去的角色词和固定步骤会覆盖它自己的调度逻辑,相当于让它一边按你的模板走、一边按自己的判断走,两条路径打架。
解决:推理模型的提示语只保留三样东西——问题边界、约束条件、期望的输出形态。角色、示例、分步引导全部删掉,如果删完效果变差,说明这个任务本来就不该用推理模型。
5.2 用通用模式做多步推导
现象:一段代码重构建议,前两条还算靠谱,第三条开始引用一个根本不存在的函数,语气依旧笃定。
原因:基础模型的生成目标是“接得像”而不是“算得对”,它在长链推理中没有回头校验的动作,一旦中途引入一个虚构前提,后面会全部基于这个前提展开。
解决:凡是任务里存在“中间结论会被后续步骤引用”的结构,一律切到深度思考模式。判断方法很简单,问自己一句:这段输出的第三段如果错了,前两段还有意义吗?有,就用通用模式;没有,就换。
5.3 联网模式下把矛盾信息当成结论
现象:问一个近期有变动的信息,回答里既有旧数据也有新数据,模型用“总体上”“一般来说”这类词糊过去。
原因:检索回来的多个片段本身冲突,而模型的默认行为是调和矛盾而非暴露矛盾,它会把分歧处理成模糊表述。
解决:提示语里显式要求列出分歧点并标注来源,同时限定“若来源之间无法调和,直接说明无法确定”。这一句的作用是把“发现冲突”从模型的隐性判断变成显式交付项。
5.4 长文档一次性塞入导致中段丢失
现象:一份几万字的材料丢进去让它总结,开头和结尾的要点都在,中间章节的关键结论全部消失。
原因:上下文窗口变长之后,注意力在中间区域的分配会明显衰减,这是长上下文模型的普遍特性,不是某一家的问题。
解决:不要指望一次吞下全部。按章节切分,每段单独提炼要点,再把要点汇总做二次归纳。分层处理看起来麻烦,但在长材料上,两轮处理的准确率通常高于一轮直读。
5.5 生成结构化产物时不给语法约束
现象:让模型生成图表描述代码,语法关键字拼错、层级关系写反,粘进去直接报错。
原因:模型对这类领域特定语法的记忆精度不如自然语言,你不给约束,它就按印象生成,而印象里包含了大量错误变体。
解决:在提示语里把约束写死——必须符合哪个版本的语法规范、层级必须到第几级、节点命名不允许出现空格和特殊字符、输出前自检一遍语法。还有一个更省事的办法:先让它输出纯文本的层级结构,确认无误后再让它转成代码,两步走比一步到位稳得多。
6. 约束与自由之间的那条线
写提示语这件事,做到后面会发现它根本不是“怎么问”的问题,而是“你把多少判断权交出去”的问题。
约束给得越细,返工越少,但模型能贡献的意外之喜也越少。让模型生成一份几十页的大纲,如果你把每页的标题层级、章节数量、内容颗粒度全部写死,产出确实规整,可它也就只是一台排版机,那些你没想到的角度不会出现。反过来,只给一个主题就撒手,它会给你一份结构完整但处处泛泛的东西,改起来比重写还累。
我现在的做法是分层放权:骨架必须锁死,内容层面留白。具体说,章节数量、层级深度、每章要点上限、禁用词、输出格式这几项写死;每章内部怎么组织论证、举什么例子、从哪个角度切入,交给模型。这样出来的东西结构可直接用,内容还有增量。
验证方法也很朴素,同一份提示语连跑三遍。如果三次输出的骨架高度一致、内容各有差异,说明约束层和自由层的位置基本对了。如果三次骨架都不一样,说明约束不够,得回去补字段;如果三次内容几乎逐字相同,说明你压得太狠,模型已经在做确定性映射,这时候该松一松,把某些限定词删掉。
部署形态上也有类似的取舍。把模型跑在云端托管服务上,省事,参数可调,但数据和调用都在别人机器上;放在本地或私有环境,可控性高,代价是硬件和维护成本。资料里列出的那些接入方式,本质上是在这条光谱上取不同的点,选哪个取决于你对数据流向的敏感程度,而不是哪个跑分更高。
从那以后我每次写提示语,都会先强迫自己回答一个问题:这个任务里,哪些判断是我必须自己做的,哪些是可以交出去的。答完再动笔,比直接套模板省下来的时间多得多。希望帮到你。
本文还有配套的精品资源,点击获取