ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

大模型应用开发四大工程范式:从 Prompt 工程到微调,如何选型与组合

大模型应用开发四大工程范式:从 Prompt 工程到微调,如何选型与组合 这里写自定义目录标题欢迎使用Markdown编辑器一、范式全景四种模式的能力边界二、Prompt 工程被低估的杠杆三、Function Calling让模型真正干活四、RAG企业落地的绝对主力五、微调什么时候才值得做六、范式组合的实战心法七、RAG 进阶混合检索与重排序的实践细节八、评测四种范式迭代的仪表盘九、写在最后新的改变功能快捷键合理的创建标题有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能丰富你的文章UML图表流程图FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好 这是你第一次使用# 大模型应用开发四大工程范式从 Prompt 工程到微调如何选型与组合接触过大模型应用开发的人会发现一个现象同样是想让 AI 完成某类任务网上给出的解决方案五花八门。有人教你怎么写提示词有人推荐你用 Function Calling有人让你搭 RAG还有人劝你直接微调模型。这些方案不是相互替代的关系而是适用于不同场景的四种工程范式。理解它们的适用边界和组合方式是做好大模型应用的第一步。一、范式全景四种模式的能力边界如果把大模型比作一名员工四种范式对应着四种不同的管理方式。Prompt 工程是口头交代。你通过精心组织的自然语言指令告诉模型要做什么、注意什么、输出什么格式。它的成本最低改起来最方便但上限也取决于模型的先天能力。适合任务边界清晰、模型本来就会做、只需要约束行为方式的场景。Function Calling 是给员工配工具。模型在回答过程中可以主动申请调用外部函数——查数据库、算数、发请求——系统执行完函数再把结果喂回给模型。它让模型从只会说变成能办事是构建智能体的技术基础。RAG 是给员工发资料。把私有知识库检索出来的相关片段拼进提示词让模型基于这些资料作答。它解决了模型知识过时和幻觉问题是当前企业落地大模型最主流的方案因为绝大多数业务场景都需要让模型基于企业内部文档和数据进行回答。微调是给员工做岗前培训。用一批高质量的任务数据对模型做进一步训练让它在特定领域的表现发生质变。它的成本最高、周期最长但效果最彻底适合任务模式高度固定、对效果和风格有极致要求的场景。理解这四个范式的关键在于承认它们不是单选题。一个生产级的应用往往是多种范式的组合拳。二、Prompt 工程被低估的杠杆很多团队在 Prompt 工程上栽跟头不是因为技术难而是因为态度不端正——把提示词当成一次性写死就完事的文案。实际上优秀的提示词是迭代出来的。写提示词有几个基本套路值得反复实践。角色设定能显著影响输出风格让模型作为一名资深架构师和直接提问答案的专业深度往往不同。结构化输出要用明确的格式约束比如要求输出 JSON 并给出字段定义配合模型的结构化输出能力可以拿到干净的机器可读结果。Few-shot 示例是约束行为最有效的手段之一给出两三个高质量的输入输出对模型的输出风格会迅速向示例靠拢。更重要的是一条工作流提示词要当作代码来管理。版本化、可回滚、有评测。实践中我发现很多团队把提示词写在业务代码里改一次提示词就要重新发版这完全没有必要。把提示词抽成独立配置配合提示词管理平台做 A/B 测试效果提升和成本节约都是立竿见影的。三、Function Calling让模型真正干活如果说 Prompt 工程让模型会说话Function Calling 让模型会干活。它的工作机理是开发者预先声明一批工具的元信息——函数名、参数结构、功能描述——随请求一起发给模型。模型判断当前任务需要哪个工具就返回一个结构化的调用请求而不是直接输出文字。应用侧解析请求、执行真正的函数调用把结果以消息形式回传给模型模型再基于结果组织最终回复。这里有一个关键的工程认知模型本身不执行任何代码它只负责决定调用什么和组织最终答案执行是应用侧的事。这个认知决定了整个架构的安全边界——任何敏感操作都要在应用侧做权限校验绝不能因为模型说要调这个接口就无条件执行。在 Java 生态中Spring AI 提供了与 LangChain 类似的 Function Calling 支持通过注解声明工具 Bean框架自动生成工具元信息接入成本很低。这解决了 Java 团队长期面临的大模型开发绕不开 Python的尴尬让存量 Java 系统可以平滑地接入 AI 能力。四、RAG企业落地的绝对主力RAG 之所以成为企业落地的主力是因为它精准解决了两个痛点知识时效性和幻觉。模型训练数据有截止日期但企业内部的知识是持续更新的模型可能一本正经地胡说八道但如果你强制它只根据提供的资料回答资料中没有的信息明确说不知道幻觉问题就能被大幅压制。RAG 的完整链路包括五个环节文档加载、文本切分、向量化入库、相似度检索、生成回答。每个环节都有优化空间。切分粒度决定了检索的语义完整性太细会丢上下文太粗会混入噪音。向量化质量取决于嵌入模型领域专有名词多的场景值得用领域微调过的嵌入模型。检索环节可以引入重排序模型先用粗召回拿到候选再用精排模型把最相关的片段顶到前面。生成环节的提示词要明确仅依据资料回答并附上原文引用既提升可信度也方便追溯。一个常见的误区是把 RAG 当成开箱即用的黑盒。实际上 RAG 系统的效果优化是一个持续迭代的过程上线后要收集真实问题分析检索命中和未命中的原因针对性地调整切分策略、补充知识库内容、优化检索参数。我见过太多团队把 RAG 搭起来就以为万事大吉结果线上问题回答准确率堪忧又回头怀疑技术路线选错了——其实只是缺少工程化的评测和迭代机制。五、微调什么时候才值得做微调是成本最高的一档必须想清楚再动手。判断是否值得微调有三个标准任务模式是否高度固定比如固定的分类体系、固定的抽取字段通用模型的表现是否已经逼近但达不到要求差的只是最后那一点以及是否有充足的高质量标注数据微调的数据质量直接决定微调效果用脏数据微调只会污染模型。微调的技术路线也在演进。全参微调成本高、容易灾难性遗忘现在更流行的是 LoRA 这类参数高效微调方法只训练一小部分额外参数成本低且效果好。微调之后往往还需要配合 RLHF 或 DPO 做对齐优化进一步强化模型在目标任务上的表现。需要提醒的是微调解决的是行为模式和输出风格的问题它不能替代 RAG 来注入知识——让模型记住海量文档既昂贵又不可靠检索仍然是最优的知识供给方式。六、范式组合的实战心法四种范式的组合顺序有讲究。我建议遵循由轻到重、逐级叠加的原则先写提示词看效果是否达标不达标就加 RAG 注入知识或 Function Calling 扩展能力仍不达标再考虑微调。每一步叠加都要有可量化的评测依据避免凭感觉盲目升级方案。以一个企业智能客服为例Prompt 工程负责设定服务风格和回复规范RAG 负责供给产品文档和常见问题Function Calling 负责打通订单查询、退换货等业务系统如果特定品类的问答风格始终不理想再考虑针对该品类做轻量微调。四种范式各司其职共同构成一个完整可用的系统。七、RAG 进阶混合检索与重排序的实践细节基础版 RAG 往往在两类问题上翻车一是语义检索对专有名词、编号、型号等精确匹配场景无能为力用户问KPI-2024-03 号单据这类带精确标识的问题向量检索常常召回一堆语义相近但完全无关的文档二是检索结果良莠不齐Top-K 里混入噪音片段最终答案被带偏。针对第一个问题业界标准解法是混合检索Hybrid Search同时跑向量语义检索和关键词全文检索再用 RRFReciprocal Rank Fusion算法融合两路结果。RRF 的思路很朴素——给每个文档在两路结果中的排名取倒数求和排名靠前的文档得分高从而让语义相关性和精确匹配的信号都被保留下来。实践中这一招往往能把检索准确率提升一截尤其是在中文场景下专有名词和编号类问题改善尤为明显。针对第二个问题解决方案是引入重排序模型。先让廉价高效的粗排向量检索把候选从十万级压到百级再用交叉编码器Cross-Encoder精排模型对问题-文档片段逐对打分取出最相关的几个片段送入生成环节。交叉编码器虽然推理成本高但只在少量候选项上运行性价比完全划算。实测经验是引入重排序后答案相关性普遍提升因为生成环节的输入更干净了。还有一个容易被忽略的环节是引文追溯。生产级 RAG 系统的回答必须能溯源答案里标注了哪些文档片段用户点击就能看到原文出处。这既是信任问题也是合规问题同时还是持续优化的数据来源——分析哪些问题检索不到、哪些片段被引用但答案仍不准就能反推知识库和切分策略的改进方向。八、评测四种范式迭代的仪表盘没有评测就没有迭代这个原则在大模型应用开发里体现得淋漓尽致。很多人凭感觉调提示词、换模型、调参数效果时好时坏却说不出所以然根因就是缺少一套可复现的评测体系。搭建评测体系有几个层次。最基础的是离线评测集从真实业务问题中抽样几百条人工标注标准答案每次改动提示词或切换模型就跑一遍评测集对比准确率、相关性、格式合规率等指标。进阶一些的是自动化评测用强模型当裁判让裁判模型对参考答案和模型输出打分用 LLM-as-a-Judge 的方式批量评估成本低且基本稳定。最高层次是在线评测线上流量灰度切分对比不同方案的点击率、采纳率、用户反馈分。评测集要持续维护。每周把线上新出现的高价值问题补充进评测集防止评测集和真实场景脱节。我见过一个团队评测集两年前就没更新过指标一直很好看但线上用户满意度却在下滑——这种测评两张皮的现象根因就是评测集烂尾了。九、写在最后大模型应用开发的难度不在单个技术点而在组合与取舍。把四种范式的边界和成本结构吃透配合一套可运转的评测迭代机制遇到任何业务问题都能快速给出合理的技术方案这才是真正的核心竞争力。技术栈会不断更迭今天流行的框架明天可能被替代但提示词约束行为、检索注入知识、工具扩展能力、微调固化风格这套底层逻辑会长期稳定地指导大模型应用的设计。Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持除了标准的Markdown编辑器功能我们增加了如下几点新功能帮助你用它写博客全新的界面设计将会带来全新的写作体验在创作中心设置你喜爱的代码高亮样式Markdown将代码片显示选择的高亮样式进行展示增加了图片拖拽功能你可以将本地的图片直接拖拽到编辑区域直接展示全新的KaTeX数学公式语法增加了支持甘特图的mermaid语法1功能增加了多屏幕编辑Markdown文章功能增加了焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置等功能功能按钮位于编辑区域与预览区域中间增加了检查列表功能。功能快捷键撤销Ctrl/CommandZ重做Ctrl/CommandY加粗Ctrl/CommandB斜体Ctrl/CommandI标题Ctrl/CommandShiftH无序列表Ctrl/CommandShiftU有序列表Ctrl/CommandShiftO检查列表Ctrl/CommandShiftC插入代码Ctrl/CommandShiftK插入链接Ctrl/CommandShiftL插入图片Ctrl/CommandShiftG查找Ctrl/CommandF替换Ctrl/CommandG合理的创建标题有助于目录的生成直接输入1次#并按下space后将生成1级标题。输入2次#并按下space后将生成2级标题。以此类推我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。如何改变文本的样式强调文本强调文本加粗文本加粗文本标记文本删除文本引用文本H2O is是液体。210运算结果是 1024.插入链接与图片链接: link.图片:带尺寸的图片:居中的图片:居中并且带尺寸的图片:当然我们为了让用户更加便捷我们增加了图片拖拽功能。如何插入一段漂亮的代码片去博客设置页面选择一款你喜欢的代码片高亮样式下面展示同样高亮的代码片.// An highlighted blockvarfoobar;生成一个适合你的列表项目项目项目项目1项目2项目3计划任务完成任务创建一个表格一个简单的表格是这么创建的项目Value电脑$1600手机$12导管$1设定内容居中、居左、居右使用:---------:居中使用:----------居左使用----------:居右第一列第二列第三列第一列文本居中第二列文本居右第三列文本居左SmartyPantsSmartyPants 是一个文本转换工具主要功能是将普通的 ASCII 标点符号自动转换为更美观的印刷体标点符号。例如原始符号转换后说明引号“引号”直引号变弯引号单引号‘单引号’直单引号变弯单引号--–两个连字符变短破折号---—三个连字符变长破折号...…三个点变省略号创建一个自定义列表MarkdownText-to-HTMLconversion toolAuthorsJohnLuke如何创建一个注脚一个具有注脚的文本。2注释也是必不可少的Markdown将文本转换为HTML。KaTeX数学公式您可以使用渲染LaTeX数学表达式 KaTeX:Gamma公式展示Γ ( n ) ( n − 1 ) ! ∀ n ∈ N \Gamma(n) (n-1)!\quad\forall n\in\mathbb NΓ(n)(n−1)!∀n∈N是通过欧拉积分Γ ( z ) ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) \int_0^\infty t^{z-1}e^{-t}dt\,.Γ(z)∫0∞​tz−1e−tdt.你可以找到更多关于的信息LaTeX数学表达式here.新的甘特图功能丰富你的文章2014-01-072014-01-092014-01-112014-01-132014-01-152014-01-172014-01-192014-01-21已完成进行中计划一计划二现有任务Adding GANTT diagram functionality to mermaid关于甘特图语法参考 这儿,UML图表可以使用UML图表进行渲染例如下面产生的一个序列图王五李四张三王五李四张三李四想了很长时间, 文字太长了不适合放在一行.你好李四, 最近怎么样?你最近怎么样王五我很好谢谢!我很好谢谢!打量着王五...很好... 王五, 你怎么样?关于UML图表语法参考 这儿,流程图链接长方形圆圆角长方形菱形关于Mermaid语法参考 这儿,FLowchart流程图我们依旧会支持flowchart.js的流程图语法Created with Raphaël 2.3.0开始我的操作确认结束yesno关于Flowchart流程图语法参考 这儿.导出与导入导出如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到文章导出生成一个.md文件或者.html文件进行本地保存。导入如果你想加载一篇你写过的.md文件在上方工具栏可以选择导入功能进行对应扩展名的文件导入继续你的创作。mermaid语法说明 ↩︎注脚的解释 ↩︎
返回列表