大模型应用场景与技术选型

大模型应用场景与技术选型

2026年9月21日·#编程学习/langchain学习笔记LangChain/AI·3678 字 18 分钟
浏览量加载中...
AI 摘要

RAG 与 Agent 两大核心场景的原理与难点,四种开发场景的对比,以及面对需求时怎么选技术方案

大模型应用的技术特点#

课程对这一章的总起只有一句话:大模型应用的技术特点——门槛低,天花板高。

  • 门槛低:不需要自己训练模型,会写提示词就能做出能用的东西(后面”四种开发场景”里的纯 Prompt 就是最低门槛的形态)。
  • 天花板高:同一个应用可以一路往上加能力——加外部知识(RAG)、加工具与行动能力(Agent + Function Calling)、加多智能体协作……能解决的问题越来越复杂。
Note

这一章就是按”门槛低 → 天花板高”的顺序铺开的:先讲 RAG 与 Agent 两大核心场景,再讲四种开发场景怎么选。

RAG:给大模型接上外部知识#

为什么要 RAG#

问题说明
知识冻结模型规模越大,训练成本与周期越高,无法实时学到最新信息,答不了”请推荐现在的热门影片”这类时间敏感问题
幻觉涉及从未学过的信息时,模型不会说”不知道”,转而臆想和编造

打个比方:LLM 考试时遇到陌生领域本想”放飞自我”,而 RAG 给了它提示和思路——正确率能从 60% 提到 90%

图:只用 LLM 答题正确率约 60%,LLM + RAG 给到提示和思路后提升到 90%

RAG 是什么#

Retrieval-Augmented Generation(检索增强生成):先从知识库里检索出相关资料,把资料作为上下文拼进提示词,再让模型生成答案。

整个流程:

本地文件(PDF/Word/TXT/二维表…)
↓ 文档加载器 Unstructured Loader
↓ 文本切分 Text Splitter → Text Chunk / Text Chunk / Text Chunk
↓ 嵌入模型 Embedding Model → 向量嵌入 Vector Embeddings
↓ 存储 & 索引 Store & Index → 向量数据库 Vector Database
用户提问 User Query
↓ 嵌入模型 → 向量嵌入
↓ 相似度搜索 Similarity Search(在向量数据库里找最相似的向量)
Prompt = 检索到的 Context + User Query → LLM → 回答

三步的对应关系:检索 = 从库里找相关资料;增强 = 把资料拼进提示词;生成 = 模型基于资料作答。

图:RAG 的完整链路(15 步)——本地文档加载 → 文本切分 → 嵌入模型向量化 → 存进向量库;查询侧再向量化 → 向量相似度检索 → 取出相关 chunk 交给提示词模板 → LLM 生成答案

三步在流程图里的位置(第 10 / 13 / 15 步)#

课程把”检索、增强、生成”三步钉在了具体的步号上——检索可以理解为第 10 步,增强理解为第 13 步(这里的提示词包含检索到的数据),生成理解为第 15 步(对应上面这张 15 步流程图)。

换成 9 步流程图的粒度,同一件事是这么分布的:

三步15 步流程图9 步流程图(知识更新 / 知识检索两条链)
检索10 步:向量相似度搜索 Vector Similarity6 步”知识检索” + 第 7 步”知识重排序”
增强13 步:提示词 Prompt(提示词里带上检索到的数据)8 步”增强”
生成15 步:交给 LLM,输出回答9 步”生成”
Note

两张图讲的是一条链路,差别只在粒度。9 步图把它拆成上下两条:上半条是知识更新——1 文件解析、2 文件切割、3 向量化、4 知识入库;下半条是知识检索——5 query 提问、6 知识检索、7 知识重排序、8 增强、9 生成。这也正是”RAG 离线建库 + 在线问答”两条链路的分工。

四个难点#

难点具体问题
1. 文件解析PDF 内部还有图片、表格,图片上还有文字,都要处理
2. 文件切割没有固定格式,切多大、在哪切都影响效果
3. 知识检索文档一多,召回准确率会下降
4. 知识重排序需要对初步召回的结果再精排

图:RAG 的两条链路——知识更新(文件解析 → 文件切割 → 向量化 → 知识入库)与知识检索(query 提问 → 知识检索 → 知识重排序 → 增强 → 生成)

Reranker(重排器):RAG 应用中文档数量增加会让召回准确率下降,引入 reranker 可以对初步召回的较多 chunk(如 top 20 / top 50)做精排,提高准确率,避免 LLM 处理无关信息。

用不用 reranker结论
适合追求高精度、高相关性的场景,如专业知识库、客服系统
不适合响应时间要求高的服务——它会增加召回时间与检索延迟
成本reranker 增强型 RAG 比普通矢量搜索贵,但仍比”纯靠 LLM 生成答案”便宜

Agent:让大模型自己动手#

Agent 是什么#

充分利用 LLM 的推理决策能力,通过增加规划、记忆和工具调用的能力,构造一个能够独立思考、逐步完成给定目标的智能体。这个架构由 OpenAI 的翁丽莲(Lilian Weng)在 2023-06 的博客中首次提出。

用一个公式表示:

Agent = LLM + Planning + Tools + Memory + Action

图:AI Agent 架构总览——智能体居中,连着记忆(短期记忆 / 长期记忆向量数据库)、工具(日历、计算器、代码解释器、搜索…)、行动,以及规划决策(反思、自我批评、思维链、子目标分解)

通俗类比——“打车去西藏玩”:

  • 规划:先规划路线,再订酒店、订饭店……
  • 调用工具:通过 Function Calling / MCP 调滴滴、携程、美团
  • 记忆:聊到订酒店时得知道是”西藏路上的酒店”,不能聊着聊着忘了最初目的地
  • 行动:真去执行,不能纸上谈兵

图:更朴素的类比——原始人靠”决策能力 + 记忆能力”才能造出长矛、鱼钩这些工具,进而钓鱼、烤鱼;智能体也是”会用工具”才谈得上解决问题

五个核心要素#

要素说明
1. 大模型(LLM)作为”大脑”提供推理、规划和知识理解,是决策中枢,能呈现推理和规划过程
2. 规划决策(Planning)任务分解、反思与自省;用思维链(Chain of Thought)把目标拆成子任务,再用反馈优化策略
3. 工具使用(Tool Use)调用外部工具(API、数据库)扩展能力边界
4. 记忆(Memory)留存知识与交互习惯,处理重复工作时可调用以前的经验
5. 行动(Action)实际执行决策:软件接口操作(自动订票)到物理交互(机器人搬运)

图:规划决策的实例——把问题交给带”研究”模式的大模型搜索(秘塔 AI 搜索),先提问再让它自己拆步骤

图:思维链与子目标分解的真实样子——模型先把任务拆成”步骤”,再逐个补齐定义、背景、功能、场景、指标对比等子任务,这就是 Planning

图:工具使用与行动——大模型(如 DeepSeek)充当”大脑”,通过调用工具驱动机器人完成叠积木这类物理任务

智能体的完整工作流程#

课程把智能体跑完一个任务的完整计划流程写了出来——先读取以前工作的经验和记忆,之后规划子目标并使用相应工具去处理问题,最后输出给用户并完成反思

另外,前面”打车去西藏玩”的类比里其实还有一个开头就被点名的角色:大脑中枢——规划行程的你。上面那四件事(规划、调用工具、记忆、行动)都挂在它下面,讲的是同一个意思——智能体要像办事的人一样,先拿主意,再动手,还得记得住。

Tip

注意流程的最后一环是”反思”:一次任务跑完的复盘会回流到记忆里,成为下次”读取以前工作的经验和记忆”时能读到的东西。这也是 Agent 五个核心要素里”规划决策(Planning)“要包含”反思与自省”的原因。

短期记忆 vs 长期记忆#

短期记忆长期记忆
范围单次对话周期内的上下文跨多个会话或时间周期
限制上下文窗口长度限制存储并调用核心知识、非即时任务
例子这一轮聊了什么用户偏好、过去执行过的指令
实现会话历史(第 3 章的”滚雪球”)模型参数微调、知识图谱、向量数据库

图:短期记忆的直观例子——模型记住了上一轮刚生成的表格,用户只说”按品牌分组重新排列一下”,它就直接照做

Note

上下文窗口这些年涨得很快:早期的 ChatGPT 约 8k token、GPT-4 约 32k;现在不少模型已支持 100 万 token 甚至更多(相当于 2000 万字文本)。但窗口再大也有上限,所以长期记忆依然要靠外部存储。

各家模型的上下文窗口(课程给出的数字)#

模型上下文窗口
ChatGPT约 8k token
GPT-4约 32k token
OpenAI GPT-5.5 / GPT-5.4 Pro100 万 Token(1M)
Anthropic Claude Opus 4.7200 万 Token
DeepSeek-V4-Pro100 万 Token
更大的模型已支持 1000 万 token——相当于 2000 万字文本或 20 小时视频

百万级窗口已经是主流,但有上限就装不下无限的历史:短期记忆受窗口限制,跨会话的偏好与经验(长期记忆)仍然要靠模型参数微调、知识图谱或向量数据库来存。

四种开发场景#

场景做什么类比
1. 纯 PromptPrompt 是操作大模型的唯一接口你说一句、它回一句,你再接一句
2. Agent + Function CallingAgent:AI 主动提要求;Function Calling:需要对接外部系统时执行某个函数你问”明天去杭州要带伞吗”,它让你先看天气预报,你告诉它,它再回答
3. RAG需要补充领域知识时使用:Embeddings 把文字转成向量,向量数据库存向量,向量搜索找最相似的向量答题时翻书找相关内容,再结合题目组织答案(智能客服用得最广)
4. Fine-tuning(精调/微调)让模型长期记住领域知识,活学活用努力学习考试内容,成本最高,前面几种解决不了再用

图:场景一(纯 Prompt)——应用程序只和基础大模型打交道,prompt 进去、response 出来

图:场景二(Agent + Function Calling)——模型升级成 Agent,会主动发起 function calling 去调用内部/外部 API

图:场景三(RAG)——在 Function Calling 之外再加一条检索链路:Embeddings 写入向量数据库,问答时先检索再交给模型

图:场景四(Fine-tuning)——在基础大模型之上叠一个微调模型,同时仍可调用外部 API 与 RAG

怎么选#

面对一个需求,从成本最低的方案开始试:先纯 Prompt(改提示词能解决就不写代码)→ 不够就上 RAG(缺知识)或 Agent + Function Calling(要动手)→ 还不行才考虑 Fine-tuning(成本最高)。

图:技术选型的常用思路——先用测试数据以对话应用验证可行性,再依次问”要不要补充知识(RAG)→ 要不要对接其它系统(Function Calling)→ 值不值得用历史数据微调(Fine-tuning)“,都不需要就直接交付

相关#

练习题#

一、回忆填空(写完再展开对答案)#

  1. 大模型的两个”知识”问题是:知识 ____(学不到最新信息)和 ____(编造答案)
  2. RAG 全称 ____,中文 ____
  3. RAG 流程:文档加载器 → 文本 ____ → 嵌入模型 → 向量 ____ → 相似度 ____ → 拼成 Prompt → LLM
  4. RAG 的四个难点:文件 ____、文件 ____、知识 ____、知识 ____
  5. Reranker 的作用是对初步召回的较多 chunk 做 ____,提高 ____;但它会增加 ____,所以对响应时间要求高的服务不适合
  6. Agent 的公式:Agent = LLM + ____ + Tools + ____ + Action
  7. Agent 五个核心要素:LLM 作为 、规划决策、、记忆、____
  8. 短期记忆存单次对话的上下文,受 ____ 限制;长期记忆可跨 ,实现方式有参数微调、知识图谱、
  9. 四种开发场景按成本从低到高:纯 Prompt → ____ / ____ → ____
填空答案(做完再点开)
  1. 冻结 / 幻觉 2. Retrieval-Augmented Generation / 检索增强生成 3. 切分 / 数据库 / 搜索 4. 解析 / 切割 / 检索 / 重排序 5. 精排 / 召回准确率 / 召回时间(检索延迟) 6. Planning / Memory 7. “大脑” / 工具使用 / 行动 8. 上下文窗口长度 / 多个会话 / 向量数据库 9. Agent + Function Calling、RAG / Fine-tuning

二、概念自测#

  • 2-1 用自己的话讲清 RAG 的三步(检索、增强、生成)分别在干什么,以及它为什么能治幻觉
  • 2-2 “查天气”这件事为什么必须用 Agent + Function Calling,而不能只靠 Prompt?
  • 2-3 公司要做一个”内部制度问答助手”,资料是一堆 PDF。你会从哪个场景开始试?为什么不是直接 Fine-tuning?
参考答案(做完再点开)

2-1 检索:把用户问题向量化,去向量数据库里找最相似的文档片段;增强:把这些片段作为上下文塞进提示词(Prompt = Context + User Query);生成:模型基于这些资料作答。治幻觉的原因:模型不再是”凭记忆瞎编”,而是看着资料回答,有依据就有约束。 2-2 因为天气是实时数据,不在模型训练数据里;而且”查天气”是动作,需要调用外部 API 拿结果。纯 Prompt 只能让模型回忆或编造。Agent 负责规划”该调用哪个工具”,Function Calling 负责真的执行那个函数,再把结果交给模型组织成回答。 2-3RAG 开始:制度文档正是”领域知识补充”的典型场景,把 PDF 切分检索即可,成本低、更新方便(改了制度换个文件就行)。Fine-tuning 成本最高,而且制度会变——每次改动都要重新训练,不划算;官方建议是前面的方案解决不了才用它。

评论区

[ 标签 ]
# AI37# AI 编程2# AI工具1# Ajax2# Apifox1# AstrBot3# Astro2# CC Switch1# CDN2# Claude Code1# claudecode2# ClaudeCode1# Cloudflare2# CloudFlare2# CloudFlare-ImgBed3# coc3# CSS6# DeepSeek6# deepseek2# DELETE1# Docker1# EdgeOne3# Gist1# git1# GitHub1# hexo-circle-of-friends1# HTML6# HTTP5# ImageManager1# Java23# java13# JavaScript5# JDBC3# JSON2# JUnit1# LangChain25# Logback1# Maven6# Muse Spark1# Mybatis1# MyBatis4# MySQL28# MySql1# NapCat1# Node.js1# obsidian2# Obsidian5# OpenCode4# ORM1# PathVariable1# PicGo1# PyCharm1# Python65# RequestBody1# RequestMapping1# RESTful风格1# skills1# Slf4j1# SpringBoot11# SQL2# Streamlit5# Svelte2# TailwindCSS1# Telegram3# Tlias2# Vercel1# vscode2# Vue7# Waline3# WebDAV1# Web基础6# Web开发6# WinSCP1# YAML1# 三层架构1# 中二宣言1# 书籍1# 使用文档10# 写作1# 函数2# 刷步数1# 前端32# 动态1# 动漫1# 包1# 单词2# 博客7# 博客工作流1# 博客开发2# 参数接收1# 友链1# 反思2# 图床6# 地图1# 备份2# 大模型1# 奇思妙想1# 存储1# 学习方法6# 学校1# 宝塔面板3# 宝宝10# 对象1# 导航栏1# 工具2# 开发1# 开发工具1# 开发规范1# 开心1# 异常处理1# 影视2# 微信1# 性能优化2# 总结1# 想法15# 感受1# 感悟11# 指南1# 提示词工程1# 插件5# 故障排除1# 效率工具2# 教程10# 数据分析9# 数据库27# 数据结构1# 文件操作2# 斩神1# 日常92# 日志框架1# 朋友圈1# 朱元璋1# 模块1# 模板1# 正则表达式2# 测试1# 游戏2# 爬虫7# 生活迁移1# 电影2# 电脑1# 碎碎念1# 视觉识别1# 类1# 类型注解1# 网络基础2# 网络教室1# 羊毛2# 脚本2# 脚本工具1# 自动化2# 蓝奏云1# 订阅推荐2# 记录2# 评论系统1# 词根1# 词缀1# 说说1# 足迹1# 跑步2# 路径参数1# 转载2# 运动1# 部落冲突1# 配置1# 随机图1# 面向对象5# 音乐3# 音标1# 饮食1# 驼峰命名1# 高德地图1
[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]