ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

大模型应用实战:模型选型、提示词模板与避坑指南

大模型应用实战:模型选型、提示词模板与避坑指南 简介清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室编写的104页PDF系统梳理国产大模型DeepSeek从入门到精通的完整路径适合想学习AI应用、提示语设计与大模型推理的开发者、内容创作者及职场人士。文档首先介绍DeepSeek公司定位与开源推理模型R1的强化学习特性说明其在数学、代码等任务上比肩OpenAI o1随后对比推理模型与通用模型的能力边界梳理智能对话、文本生成、语义理解、编程辅助、常规绘图等应用场景并给出官网入口、模型选择及提示语策略差异。中间重点拆解提示语的构成与设计方法涉及指令、上下文、期望三要素以及精准定义任务、分解复杂任务、避免过度指令等策略再按文案写作、营销策划和微博、小红书、抖音等平台展开差异化提示语设计。最后探讨人机共生时代所需的AI思维、整合力、引导力与判断力帮助读者从“使用者”迈向“创新者”。压缩包共1个文件为PDF格式大小5.03MB已有1215人学习适合希望建立对DeepSeek的系统认知并按场景落地的读者。1. 一份104页的DS模型手册凭什么值得工程师逐页读最近有份104页的《DS模型从入门到精通》在开发圈传得很广内容覆盖模型选型、应用场景和能力培养三条主线。很多人把它当成提示词合集翻几页就放进收藏夹吃灰也有人照着它的框架重新梳理了团队的AI应用流程收益很明显。这篇笔记不打算复述手册原文而是把它拆成工程师能直接用的判断标准、模板、实验方法和避坑清单让新手能照着上手让熟手能看出边界。适合三类人正在做模型选型的后端工程师、每天和输出质量较劲的算法工程师、需要搭建团队AI协作流程的技术负责人。下面讲的每一条都是我自己按这套思路在真实业务里验证过的做法。2. 模型与应用场景先分清任务边界再谈提示词调优2.1 推理模型和通用模型任务性质决定工作模式大多数人拿到模型后第一反应是写提示词但真正决定产出质量的第一步是先选对模型的工作模式。现在主流模型大致分两类走思维链的推理模型和追求低延迟高吞吐的通用模型。推理模型适合代码审查、多步数学推断、跨文档逻辑校验这类任务它会先拆解步骤再给结论通用模型适合摘要、改写、信息抽取、单轮问答这类相对独立的任务。判断依据很简单任务里有没有多步依赖有没有需要严格遵循的规则有没有必须被验证的中间结果。有就走推理模型没有用通用模型能省一半成本和延迟。我一般会先看一眼模型卡确认上下文窗口长度、是否支持思维链开关、有没有公布过评测基准。上下文窗口决定了你能喂多长的材料思维链开关决定你能否在简单任务上关掉过度思考。举个例子让模型做每日新闻分类用推理模型会带来明显延迟回答还喜欢解释判断过程反而干扰批量处理同一个任务换通用模型温度调到0.1输出就是干净的分类标签。常见做法是在业务层做一个路由短文本、低风险任务固定走通用模型长链路任务自动切推理模型而不是让使用者在对话里频繁切换。这样既保质量也控预算。另一个容易忽略的选型点是成本结构。推理模型的中等输出长度通常比通用模型高出一截如果团队每天有上万次调用任务混跑一个月下来费用差距非常可观。所以在搭建调用层时最好把模型路由做成可配置的规则引擎按任务标签决定走哪条链路这样后续换模型、调阈值都不用改业务代码。2.2 提示词的最小完整结构角色、任务、输出结构、约束提示词不是越长越好长而不结构化反而会让模型把注意力放在无关字句上。我自己习惯把所有提示词拆成四段角色设定、任务描述、输出结构、约束条件。角色设定让模型选对语气和知识背景任务描述要写清楚输入是什么、要做什么输出结构直接决定结果能不能被程序解析约束条件专门防胡编比如只依据给定材料回答、不确定就写待确认。下面的模板可以直接套到本地脚本里# prompt_builder.py from string import Template tpl Template(你是一位$role。 任务$task。 请按以下结构输出 $output_schema 约束 1. 只依据用户提供的原始内容作答。 2. 材料中没有的信息一律标注“待确认”。 3. 不要输出与任务无关的补充说明。 原始内容 $content ) params { role: 有五年经验的研发管理岗助理, task: 把下面的会议录音转写整理成结构化纪要, output_schema: 结论 / 待办事项含负责人与截止时间 / 风险与待确认点, content: 在这里粘贴会议转写文本, } print(tpl.substitute(params))这段脚本做的事情是把提示词变成模板用占位符替换参数。作用有两个一是批量生成不同场景的提示词二是做实验时可以只改一个变量比如把角色从研发管理岗助理换成一线开发工程师对比输出差异。参数里最值得花心思的是output_schema它决定了结果是否稳定。输出结构里每一项都要是可勾选、可填空的不要写“简要说明”这种模糊词。模型面对“简要说明”可以给你写两百字也可以只写一句话回归测试时根本没法断言。约束条件也不是放上去就完事。常见做法是把约束分两条保底约束和增强约束。保底约束写“不确定就标注待确认”增强约束写“如果原始材料是表格输出顺序必须与表格行序号一致”。增强约束是根据业务场景不断补进去的每个场景积累两三条就够了太多约束反而会压低模型对核心任务的注意力。提示词的优化本质是工程迭代不是一次性写出一份完美文本。2.3 场景分层把工作流拆成可外包给模型的单元模型适合做的是单一、边界清楚、有明确验收标准的任务。把整个业务流程一次性丢给模型是最容易翻车的姿势。更可靠的做法是先把流程拆成单元再逐单元决定是否交给模型。下面这张表是我在做场景评估时常用的对照维度场景类型适合模型做的部分不适合模型做的部分数据分析写SQL、解释异常趋势、生成图表结论判断数据口径是否准确、确认业务归因代码开发生成单函数实现、写单元测试、代码审查架构选型、跨模块状态管理、第三方库选型文档处理长文档摘要、信息抽取、格式转换判断文件版本新旧、确认数据来源授权客服运营意图识别、话术初稿、情绪分类复杂投诉的最终处置、涉及赔付的承诺拆完之后每个单元要回答三个问题模型的输出可验收吗出错的影响范围可控吗人工复核成本高吗。三个答案都是肯定的才适合放开有一个不确定就保留人工审批节点。这个分层逻辑不是手册里某一段话而是需要结合场景案例自己推出来的通用判断方式也是把模型嵌进业务时最不容易被替代的能力。还有一个实操细节拆分以后要画出数据流向。比如“上传文档→抽取关键字段→写入业务表→触发人工复核”这个链路里每一步的输入输出都要明确字段名和格式。只要有一个环节的字段定义模糊整个链路的稳定性就会崩。我见过不少团队提示词写得不错但前一个节点传过来的数据格式和模型期望不一致导致全线报废。所以场景分层不只是画表格每条线都要落到字段级。3. 从读手册到能复现知识树、速查表和固定实验3.1 动手前先画知识树五个问题决定你的精读路径104页手册直接从头翻到尾效率很低。我更建议在翻开正文前先花二十分钟写下五个问题的答案你当前最常交给模型的任务是哪类这类任务上一周翻车过几次翻在哪个环节你手头有没有可对比的输入输出样本你希望模型输出能被程序直接解析还是只给人看你愿意为每次调用承担多少延迟和成本。五个问题回答完基本就知道该精读哪几个章节。常见的误区是试图把手册里所有内容都变成自己的日常操作。手册的价值更多是查漏补缺而不是每一章都需要立即落地。比如我主要负责内部工具的模型调用就把重点放在输出结构设计和评测方法上做产品原型的人则应该先读场景案例和应用边界。知识树的本质是给后续每一条笔记找一个挂载点否则看过的内容很容易变成过期的灵感碎片。画知识树的时候我会用三层结构第一层是岗位职责第二层是岗位里用得到模型的任务类别第三层是每个类别对应的具体操作。例如“技术文档工程师”这一层下面挂“版本说明生成”“接口文档校验”“故障报告摘要”三个分支每个分支再挂对应的提示词草稿和评测用例。这样手册里的任何一个片段读完后都能找到自己的位置要么挂进已有分支要么新建分支。没有挂载点的内容再精彩也大概率在未来三个月内被遗忘。3.2 把手册里的提示词模板改造成自己的速查表手册里的示例提示词默认读者是通用人群直接抄会水土不服。我的习惯是把每个示例改成三个版本个人用的简洁版、团队用的规范版、程序用的结构版。改写的依据不是删字而是补上业务上下文。比如“帮我总结这份文档”要改成“基于这份《xx方案》文档提取每个章节的核心结论、未决问题、负责角色三类信息并输出JSON数组字段名固定为conclusion、issue、owner”。补上字段名和格式约束之后模型产出才能被程序稳定消费。改完的速查表建议集中放一个目录用场景名和调用方式做文件名。比如create_meeting_minutes.json、extract_changelog.yaml。这样做的好处是每次接新任务先找最接近的表改参数而不是重写提示词。手册里那些通用示例本质上是这些业务模板的骨架骨架保留血肉换成自己的术语和校验规则。这里最容易被忽略的是输出样本。光写JSON数组还不够最好附一组期望输入输出样例和提示词放一起后续做回归测试直接靠它断言。维护速查表还有一个容易被低估的动作给模板打版本标签。每次改动模板都要同步更新对应的输出样本和回归用例。如果团队里有两个人同时维护一份模板没有版本管理几乎必然出现互相覆盖。后续章节会讲怎么用git把整套模板和用例管起来这里先养成一个习惯改过的模板自己留一份diff记录哪怕只是写在备注里排错时都能省大量时间。3.3 用固定实验验证模型行为温度、上下文和输出结构的正交测试提示词写得再好不跑实验也看不出真实稳定性。我常用的做法是固定一套三变量实验温度、上下文长度、输出结构。温度默认0.2封顶超过0.7只用于头脑风暴上下文长度按照任务真实输入截断成三档输出结构每次只改一个字段其他不动。下面的脚本骨架展示这个实验怎么组织# temperature_sweep.py import itertools prompt_base 你是数据分析师。\n任务判断以下销售数据中毛利异常的分区。\n输出分区名异常原因。\n数据{data_slice} data_slices { short: 华北区毛利-3.2%华东区5.1%, medium: 真实项目里这里放60行Excel导出文本, long: 这里放完整月度明细, } temps [0.0, 0.3, 0.7] responses [] for data_key, temp in itertools.product(data_slices, temps): prompt prompt_base.format(data_slicedata_slices[data_key]) # 这里替换成你实际使用的模型调用入口传入 prompt 和 temperature responses.append(run_model(prompt, temperaturetemp)) print(responses)这个实验的意义不是看单条输出好不好而是看三个维度组合时输出的格式是否仍然稳定。温度升高模型措辞会更自由数据量变大模型可能漏掉部分分区。如果某组合下输出结构频繁变化优先调整的是输出模板而不是继续压低温度。记录实验结果时不光记通过还是失败要截下原始输出存档。等到提示词改版时这批存档就是判断改动是否真的更好的依据。实验结果我建议用一张表来收拢列分别是实验编号、温度、上下文档位、输出结构是否完整、内容是否准确、备注。每周积累二十到三十条记录就能看出模型在当前任务上的鲁棒性边界。有了这个边界团队里其他人写提示词时也知道哪里能碰哪里不能碰而不是靠个人感觉玄学调参。4. 模型落地时常见的5个翻车点与排查方法4.1 不看模型卡直接套模板输出风格完全失控现象同一段提示词从文档复制出来在A模型上输出很专业切到B模型后变成口语化表达甚至开始反问用户。 原因不同模型的训练偏好和默认行为差异很大角色设定被模型吸收的程度不一样手册里的示例通常只针对特定模型验证过。 解决任何提示词换模型后先跑一轮最小样本测试。测试输入不用多5条就够但必须覆盖正常输入、边界输入和明显错误输入。确认风格稳定后再把这组测试结果和提示词一起归档。不要凭感觉微调角色描述先看真实输出的差异再动手。这个坑在新模型发布后最容易出现。团队看到新模型上线直接把存量提示词切过去没有人重新看模型卡。实际上模型卡的开发者说明里通常会写训练数据侧重、支持的系统提示词格式、默认输出偏好等关键信息。花十分钟读一遍能省掉一整天的排查时间。4.2 温度参数照搬默认值事实性任务被“创造力”毁掉现象在信息抽取类任务里模型偶尔把“未提及”写成“推测为”甚至给报告中不存在的数字补上合理的值。 原因温度设置过高概率分布被拉平模型更倾向于猜测而不是忠实原文。相当多的默认界面为了通用体验会把温度设到0.7甚至更高。 解决事实抽取、格式转换、代码生成一律把温度压到0到0.2之间。需要创意时再调高。这个参数必须写进代码里的调用配置而不是每次对话时手调。排查时先看代码里temperature到底传了多少很多翻车根本不是提示词的锅而是默认参数在起作用。还有个类似的参数是top_p它和温度同时生效时会叠加影响。很多调用框架里top_p默认是1.0如果你同时把温度调到0.7输出的随机性会明显大于只调温度。我在实际项目里习惯采用先固定top_p为0.9再单独调整temperature的方式这样每次只动一个变量出了问题也容易回溯。4.3 把一次对话当永久上下文长任务跑到一半就“失忆”现象给模型喂了整份文档后前面几段的内容还能准确引用后十轮对话开始混淆章节信息出现从不同段落拼凑的错误答案。 原因上下文窗口超出有效注意力范围模型对中段内容的利用能力下降。对话历史越长新指令被旧内容淹没的可能性越大。 解决长文档优先切片加检索而不是全量塞进对话。把文档按章节切成小段每次只让模型处理相关片段再把片段结论汇总。如果必须要长上下文把关键摘要和结论放在用户消息末尾避免被冗长的中间内容稀释。我见过更隐蔽的版本模型已经成功处理完前50页材料后20轮对话突然引用起第3页的旧数据看起来像“失忆”其实是前面几轮的中期输出把最新指令的注意力占掉了。排查时要看对话历史里是否堆积了大量中间分析过程而不是只看最终结果。如果中间分析过程是给机器看的就应该放在单独的上下文里不要混进主对话。4.4 强逻辑任务不拆步骤最终答案前后矛盾现象让模型直接回答“这版代码能不能上线有没有内存泄漏风险”模型给出笼统的“整体良好注意部分细节”追问细节时又说出几个问题。 原因没有过程约束的多步推理模型容易在中间环节省略判断直接跳到结论结论的前后一致性自然没有保障。 解决把任务拆成强制步骤要求先列清单再下结论。例如先回答“检查了哪些模块、每个模块发现什么问题、严重级别怎么定性”最后才输出结论。推理模型通常自带拆解通用模型必须靠提示词结构补齐这块能力。这条经验同样适用于代码审查、方案评审、数据核对类任务。拆步骤的一个技巧是在提示词里写明“先输出检查清单再做风险评估最后给出结论”并且每一步都限制长度。如果中间步骤超过五行模型经常会把分析过程和结论混在一起。把步骤和输出格式绑定比单纯在提示词里写“请一步一步思考”要可靠得多因为后者在输出层面没有形成可以被校验的中间产物。强逻辑任务需要的是可验证的中途结果而不是模型脑内默默推理的过程。4.5 只调提示词不做回归一个修好三个坏掉现象改了输出结构里的字段名之后新的用例通过了但历史用例里另外三个任务开始漏字段。 原因提示词是一个多约束系统局部调整会影响全局行为只凭单条用例判断成功与否很容易误伤其他场景。 解决每一次改动都跑固定回归集。回归集规模不用大每个场景3到5条即可但必须包含历史出过错的反例。跑完以后对比输出结构完整率和字段准确率两个指标稳定再上线。养成这个习惯后提示词改动就不需要靠赌博心态了。回归集不能只录正常输入。我每次都会在回归集里放几条“故意带坑”的输入比如空字段、超长文本、疑似重复段落。这些反例在平时看着没什么用但每次改动模型版本或提示词时它们才是真正检验鲁棒性的关卡。没有这些反例回归集测出来的绿只是假绿。5. 能力培养从个人技巧到团队可复制的协作流程5.1 三档能力模型新人能做到什么熟手要掌握什么AI能力培养如果只靠个人悟性团队水平会非常不均。把手册里的内容转成三档能力模型落地会顺畅很多。新人档要求会调用、会套模板、能判断输出可用性熟手档要求能拆业务场景、能改提示词结构、能建立回归用例教练档要求能设计调用策略、能评估成本质量延迟的平衡、能培训别人建立自己的判断体系。三档不是职级是技能里程碑每个人都要逐级过。给团队用的时候不建议直接考背诵或者写总结报告。实操考核更有效给新人一份残缺的业务流程让他先拆单元再选模型给熟手一个频繁翻车的存量场景让他解释根因并改造模板给教练候选一份月度调用账单让他给出降本方案。手册里大量篇幅在做认知培养落到团队里就变成了任务设计题。这套分级还要解决一个常见问题技术水平高的人不一定能做好教练。教练档的核心不是自己写提示词多厉害而是能不能把判断标准讲清楚。团队里有人问“为什么这个场景用通用模型”标准回答应该是一两句话讲明延迟、成本和期望输出的关系而不是一句“我试过就是不行”。培养这种表达能力需要刻意练习每次做技术分享时要求把结论压缩到三句话以内比写长篇文档更锻炼人。5.2 用案例库对抗经验流失记录现象、原因、解法高手和普通人的差距很大程度体现在看过多少失败案例。但案例存在个人脑子里转岗或离岗就带走了。我建议用极简结构做案例库每条记录四件事场景、现象、根因、解法。下面是一个参考条目# 案例-长文档摘要漏点.md 场景: 周报系统自动摘要输入41页项目月报 现象: 输出只覆盖前10页内容后31页的关键风险全部丢失 根因: 单次调用塞入全文模型注意力集中在开头和结尾 解法: 按章节切片后分次摘要再用一次调用合并章节结论 复测: 连续三轮回归章节覆盖率从60%升到95%案例库不需要长篇文章能让人事后看懂就够。关键是每个月至少回看一次把同类案例归并沉淀成新人的入门材料。这个动作本身不产生代码却是团队AI能力从个人技巧变成组织资产的关键一步。新成员入职后直接读案例库可以少踩掉大部分常见陷阱。案例库维护有一个反模式只记录成功经验不记失败过程。有些团队为了好看案例库里全是“优化后效果提升30%”这类内容但找不到当时的试错路径新人读了也不知道哪些做法被否决过。失败案例的价值恰恰在于那些被否决的路径。每条失败案例我都会补一个“为什么不采用”的说明哪怕只有一句话比如“尝试过温度调到0.9但幻觉率上升不可接受”这种信息比成功经验的含金量更高。5.3 评估驱动的迭代节奏回归集、灰度、上线模型应用的迭代和传统软件开发一样要有一个轻量的发布节奏。我给团队的默认流程是先在回归集上验证再在一个低风险内部场景灰度最后全量放开。回归集包含三个部分历史教训用例、当前核心场景用例、随机抽样真实输入。灰度阶段要让一线使用者能反馈问题而不是只靠技术口判断。灰度期的反馈要收集原始输入和原始输出不要只收集打分。打分只能说明用户满意与否原始记录才能帮你定位是提示词问题还是模型问题。改完提示词或参数后重新回到回归集通过后继续下一轮灰度。这个闭环跑顺之后团队对模型的使用会越来越放心因为每次调整都有据可依不是靠一个聪明人临时救火。灰度还有一个容易被忽略的观察项输出长度和调用延迟的变化。有时候提示词微调后质量没变但输出长度突然涨了200字调用成本立刻上升。所以灰度报告里除了正确率还要记录平均输出token数、P95延迟、失败请求数。这些指标能帮你提前发现成本失控的苗头而不是等月底账单出来才发现问题。6. 进阶技巧用版本管理建立自己的私有技能模板库如果团队已经跑到稳定迭代阶段下一步就是把提示词、回归用例、案例库全部收进版本管理。目录结构我习惯这样组织skill-lib/ prompts/ meeting_minutes.json code_review.yaml data_extract.json cases/ 2024-long-summary.md regression/ test_sets/ run_regression.pyrun_regression.py 的核心逻辑是读取regression/test_sets下每一条用例调用配置好的模型入口跑出结果后和录制好的期望输出比对。比对不追求逐字一致而是比对字段级是否齐全、有无新增预期外内容。每次提示词改动先跑一遍这个脚本输出一份简短报告再决定是否更新期望输出。这个流程把提示词变成了可以review、可以回滚的代码资产而不是一份躺在文档里的聊天记录。用这个方法半年后最大的变化是任何一次模型调整都留下痕迹。出错时可以快速查看提交记录找到是哪个改动引入了回归。也建议配套一个团队约定修改prompt必须附带一条变更说明哪怕只是一句“为会议纪要场景增加to_owner字段”这样后续排查连commit信息都不用过脑。新人也通过读commit了解每次调整的原因比对着最新版模板瞎猜要快得多。希望帮到你。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进