LLM/AI应用八股

AI 应用八股 · Day 1

🪐 1、什么是 LLM?它生成一段回答的大致原理是什么?

(Large Language Model)大语言模型

LLM会根据已经给定的上下文,预测下一个 Token 的概率分布,并不断重复这个过程,从而生成完整内容。

🪐 2、Token 是什么?

Token 是大模型处理文本的基本单位。

模型会通过 Tokenizer(分词器) 将文本切分成 Token,再将 Token 转换成模型可以处理的表示。

Token 不等于一个单词,也不保证等于一个汉字,具体如何切分取决于 Tokenizer。

🍉为什么调用 LLM API 时,我们会特别关注 Token 数量?

Token 数量会影响 API 成本、上下文窗口占用以及一定的计算开销。

🪐3 、Context Window

模型一次推理时能够处理的上下文 Token 总量上限

🍉为什么做 RAG 时不能把知识库里检索到的内容全塞进 Context?

① Context Window 有上限

② RAG 塞入大量无关内容,会带来更多噪声,降低回答的针对性,甚至影响准确性

③ Token 越多,通常 API 成本越高,处理开销也更大。

🪐 4、Prompt

Prompt 是我们给模型的指令

🪐 5、System / User / Assistant

System Message 用于设定模型的整体行为和规则(你是一个...)

User Message 表示用户的输入;

Assistant Message 表示模型的回复,并可共同组成多轮对话上下文。

🍉为什么多轮对话里,要把之前的 Assistant Message 也作为上下文提供给模型?

使模型了解之前已经回答过什么,从而保持多轮对话的 上下文连续性

🪐 6、Temperature

越高,生成结果通常随机性和多样性越强;

越低,模型越倾向选择高概率 Token,输出结果通常更稳定、更确定

🪐 7、Top-P

Top-P 是核采样参数,它按照 Token 概率从高到低累加,只在累计概率达到 P 的候选集合中进行采样,从而控制生成结果的多样性

🌀8、啥是LLM 幻觉?为啥会产生幻觉?💧 第 1 题|为什么纯向量检索不够?

模型生成了看起来非常合理、语气非常确定,但实际上错误或根本不存在的信息。

(语言正确,但是与事实相悖)

原因之一是 LLM 的生成机制本质上是根据已有上下文预测后续 Token,而不是在生成每个 Token 时都进行事实核验,因此可能生成"语言上合理但事实上错误"的内容。

🪐 9、Structured Output

主要作用是 让LLM 稳定输出,方便后端解析


AI 应用八股 · Day 2

🧬1、什么是 Embedding?在 AI 应用/RAG 中,把文本转换成向量主要是为了干什么?

Embedding 就是把文本等信息转换成一个由数字组成的向量,用这些数字表示其语义特征。从而方便计算语义相似度,并用于向量检索等任务

🧬2、为什么文本能变成向量?

Embedding 向量不是人工定义的,而是模型通过训练学习得到的语义表示。向量通常具有很多维度,语义信息分布在这些维度中,因此语义相似的文本在向量空间中通常也更加接近。

🧬 3、Embedding Model、向量数据库/FAISS、LLM,这三个东西在 RAG 里分别负责什么?

①把文本转换成语义向量

②存储/索引 向量,并进行相似度检索(存数据时/查询时)
③根据用户问题 + 检索到的上下文生成最终回答

🧬 4、什么是向量维度?

Embedding 维度表示向量中数值的个数,语义信息通常分布在整个向量空间中,不能简单把某一维对应成具体的人类语义特征。

维度越高也不代表效果一定越好,还需要考虑模型本身的能力以及存储和计算成本。

🧬 5、余弦相似度是干什么的?

余弦相似度用于衡量两个向量方向上的相似程度。通常余弦相似度越高,说明两个文本的语义越相似。

🧬 6、Vector Store / Vector DB/ FAISS 是什么?

向量数据库

①存储 / 索引 向量

②并支持高效的向量相似度检索。

🧬7、Top-K 是什么?Top-K 是不是越大越好?

Top-K = 返回相似度最高的前 K 个结果。

K 不是越大越好,过小可能 召回不足;

过大可能 引入噪声 同时占用更多 Context Window 并增加 上下文 和 Token 成本

🍉用户问:"我们公司的年假最多能结转多少天?" 系统把问题 Embedding 后,成功检索到了 Top-5 Chunk 。接下来是不是可以只把这 5 个 Chunk 发给 LLM?还是应该把什么东西一起交给 LLM?为什么?

把用户原问题和检索得到的 Top-K 相关 Chunk,

一起作为上下文交给 LLM 生成答案。

🧬 8、关键词检索 vs 向量检索

关键词检索主要基于词项的字面匹配,而向量检索通过 Embedding 表示文本语义,再根据向量相似度进行检索。

关键词检索对精确词、专有名词、编号等通常有优势,而向量检索更擅长处理字面不同但语义相似的内容。

因此实际 RAG 中可以结合两者进行混合检索(Hybrid Search)

🍉假设知识库有 100 万个向量。

用户每问一个问题,都把查询向量和这 100 万个向量逐个精确比较,当然也能找到最相似的结果。

那为什么实际向量检索系统还需要建立向量索引 ?向量索引主要是为了解决什么问题?

向量索引主要用于提高大规模向量数据下的相似度检索效率,避免每次查询都对所有向量进行暴力比较

🍉用户查询流程

【用户查询】 问题 → Embedding → 检索

→ Top-K(用户原问题 + 检索到的相关内容一起作为上下文给 LLM)→ LLM


AI 应用八股 · Day 3

☘️1、RAG 是知识库吗?它到底是什么?

RAG 是检索增强生成,它不是知识库本身,

而是一套先从外部知识库检索相关信息,再把检索结果作为上下文交给 LLM 生成答案的技术方案。

☘️2、既然 LLM 本身已经有很多知识了,为什么 AI 应用还需要 RAG?

① 让 LLM 利用外部知识

② 通过提供相关、可靠的上下文,降低幻觉风险

☘️ 3、公司内部知识每天都在更新,为什么你选择 RAG,而不是每次对 LLM 进行微调?"

对于频繁变化的企业知识,我会优先使用 RAG,因为知识更新主要通过更新外部知识库完成,不需要频繁调整模型参数;

而微调(Fine-tuning)主要通过训练改变模型参数,更适合调整模型的特定行为、风格或任务能力。

☘️4、什么是 Chunk?为什么 RAG 通常要把一个很长的文档切成多个 Chunk,再分别做 Embedding?

文档经过切分后得到的文本片段;

提高检索粒度和相关性,避免整个长文档作为一个向量导致语义过于宽泛。

☘️ 5、Chunk 是不是切得越小越好?

(Chunk Size → 每块有多大)

Chunk 太大 → 语义宽泛、噪声可能更多

Chunk 太小 → 上下文不完整、信息碎片化

☘️ 6、Chunk Overlap 是什么?为什么 RAG 切分文档时要保留一定的 Overlap?

相邻Chunk保留一部分重复内容,这样能够减少切分边界导致的上下文丢失

☘️7、 知识库是怎么构建出来的?

【知识库构建】 文档 → 解析(Parse) → Chunk → Embedding → 存储/索引(Vector DB)

☘️ 8、有了 RAG,为什么还会幻觉?

检索阶段出问题 → 没找到、找错了、相关性差。

生成阶段出问题 → LLM 没有严格依据检索内容回答,仍然产生错误内容。


Day 4|RAG 优化

Hybrid Search 结合 关键词的精确匹配能力 和 向量检索的语义理解能力 ,提升召回效果。

✴️ 第 2 题|Rerank

Rerank是干什么的?为什么不能把召回的所有 Chunk 都直接给 LLM?

Rerank:对 第一次检索召回的 候选 Chunk,再做一次更精细的相关性排序。

不能全丢给 LLM:因为会增加上下文占用和 Token 成本,还可能引入低相关噪声,干扰最终答案。

✴️ 第 3 题|Query Rewrite(查询重写)

Query Rewrite 是干什么的?

把用户原始问题改写成更清晰完整、更适合检索的查询。

✴️ 第 4 题|Metadata Filter(元数据过滤)

Metadata Filter = 利用文档附带的元数据,

先筛掉不符合条件的内容,再进行后续检索。

✴️ 第 5 题|Recall 和 Precision

Recall:该找的,找回来多少 → 别漏**(召回率)** 衡量真正相关的数据中有多少被成功召回

Precision: 找回来的,有多少是真的 → 别错**(准确率 / 精确率)**衡量召回结果中有多少是真正相关的

✴️ 第 6 题|综合优化流程

Query Rewrite( 查询重写)→ 问得更好

Metadata Filter(元数据过滤)→ 范围更准
Hybrid Search (混合检索)→ 找得更全
Rerank (重排序)→ 排得更准
Top-K → 控制最终给多少
LLM → 根据问题和资料生成答案

✴️ 第 7 题|综合场景题

为什么 RAG 经常采用:

先召回较多候选 → Rerank → Top-K

而不是:

第一次检索直接 Top-K → LLM?

先用低成本检索缩小范围,再用高成本 Rerank 精细排序,在召回效果、准确性、成本和延迟之间取得平衡。

✴️ 第 8 题|最终综合题

公司要做一个内部 RAG:

用户的问题可能表达模糊 ;知识库包含不同年份和地区 ;既有"员工休假"这种语义问题,也有 ERROR-10086 这种精确关键词;第一次检索的排名还不一定可靠。

你从用户提问开始,把今天学的整个优化版 RAG 查询流程一口气说出来。

提示:今天学的 6 个核心组件都可以串进去。

首先通过 Query Rewrite 将用户问题改写得更清晰、更适合检索;

再利用 Metadata Filter 根据年份、地区等元数据缩小检索范围;

然后通过 Hybrid Search 结合关键词检索和向量检索,提高召回效果;

对召回的候选结果使用 Rerank 进行更精细的相关性排序;

再通过 Top-K 选出最相关的 K 个 Chunk,最后将 用户原问题 和 这些 Chunk 一起交给 LLM 生成答案。


Day 5|Agent

🧩 第 1 题|Agent 是什么?

普通 LLM 主要是理解和生成内容;

Agent 可以围绕目标调用外部工具,获取信息或执行实际操作

🧩 第 2 题|Agent 的组成

🔥 LLM = 大脑,负责判断和决策

🔥 Tools = 手脚,负责执行操作
⭐ Memory/State = 记住执行到哪、已经得到什么信息

🧩 第 3 题|Agent 的核心循环

Agent 每执行完一个 Tool 后,接下来应该做什么?

Tool 返回的结果要进入当前任务的 State / Context,再让 LLM 根据新结果决定下一步

🧩 第 4 题|Agent vs Workflow

Workflow:按预先定义的流程执行。

Agent:根据当前任务状态和前一步结果,动态决策下一步行动。

🧩 第 5 题|Agent vs Tool Calling

Tool Calling 本身不是工具,而是 LLM 选择并 调用外部工具的一种机制

Tool Calling = 让模型"会用工具"。

Agent = 利用 Tool Calling 等能力,围绕目标不断"决策 → 调工具 → 看结果 → 再决策",直到完成任务。

🧩 第 6 题|一个很重要的坑

Agent 应该在受控权限范围内自主决策;

对于高风险或不可逆操作,需要增加权限校验、人工确认等机制,而不是让模型无限自主执行

🧩 第 7 题|Agent 和 RAG 的关系

RAG = 从外部知识库检索相关信息,并把检索结果作为上下文交给 LLM 生成答案的一套技术方案。

Agent = 围绕任务目标,根据当前状态和工具返回结果不断决策、执行、观察,再决定下一步的一套机制。

RAG 可以成为 Agent 使用的一种能力 / Tool。

🧩 第 8 题|Agent 失败循环

怎么防止 Agent 陷入无限工具调用?

最大执行步数 :最多执行 10 步,超过就停止。

超时限制 :整个任务最多运行一定时间。
重复调用检测 :相同参数反复调用同一 Tool 时终止或换策略。
失败次数限制 :某个 Tool 连续失败几次就停止。
人工介入:无法继续时,让用户补充信息或确认下一步。

🧩 第 9 题|Memory / State

State / Memory 到底保存的是什么?

保存当前任务推进所需要的状态信息

🧩 第 10 题|Agent的动态循环

决策 → Action → Observation(看结果) → 根据结果再决策 → ...... → 完成


Day 6|Tool Calling

🛠️ 第 1 题|真正向天气 API 发请求的是 LLM 本身,还是我们的后端程序?

LLM 负责决定"调用哪个 Tool + 传什么参数";

后端程序负责真正执行 Tool。

🛠️ 第 2 题|假设后端给 LLM 提供了 10 个 Tool ,LLM 怎么知道每个 Tool 是干什么的、需要哪些参数?

name → searchOrder 工具叫什么

description → 查询用户的指定订单 帮 LLM 判断什么时候用它

parameters → userId、orderId 告诉 LLM 需要生成哪些参数

Tool Schema = 给 LLM 的工具说明书;

LLM 根据 Schema 选择 Tool,并生成符合要求的 Arguments。

🛠️ 第 3 题|Tool Calling 最核心的完整闭环。

LLM:选工具 + 填参数

后端:执行工具
LLM:读执行结果 + 最终回答

🛠️ 第 4 题|参数出错怎么办?

假设 Schema 要求:

复制代码
userId: integer

结果 LLM 却生成:

复制代码
userId = "张三"

后端应该无脑执行,还是应该先做某件事?为什么?

🔥 LLM 生成参数 → 后端校验参数 → 校验通过才执行 Tool。

🛠️ 第 5 题|参数校验应该满足?

🔥 类型是否合法 + 值是否符合业务规则 + 当前用户是否有权限 + 高风险操作是否需要确认。

🛠️ 第 6 题|开始接近真实开发

现在把前面串起来:

用户:"帮我查用户 1001 的订单 A9527。"

你从 用户说话开始 ,一直讲到 LLM 最终回答用户。

尽量把这几个东西都带上:

Tool Schema、LLM、Arguments、后端校验、执行 Tool、Tool Result。

用户提出需求后,LLM 根据 Tool Schema 判断并选择需要调用的 Tool,同时生成对应的 Arguments(实参);

后端收到 Tool Call(调哪个工具 + 这次传什么 Arguments) 后,对参数和权限进行 校验,然后真正执行 Tool;

得到 Tool Result 后再交给 LLM,最后由 LLM 结合执行结果生成最终回答。

🛠️ 第 7 题|Tool Result 出错

有限重试 / 备用 Tool / 错误处理策略。

🛠️ 第 8 题|Schema 设计

重点是让 name 和 description 有明确的业务语义 和 边界。

🛠️ 第 9 题|最终大串

Tool Calling 是让 LLM 能够使用外部工具的一种机制。

应用程序提前向 LLM 提供 Tool Schema,描述工具的功能和参数要求。LLM 根据用户需求选择合适的工具,生成包含工具名称和 Arguments 的 Tool Call。后端收到请求后,进行参数校验和权限检查,再真正执行工具。

最后将 Tool Result 返回给 LLM,由 LLM 根据结果生成最终回答,或者决定是否继续调用其他工具。


🔌 Day 7|MCP & Tool Calling & Agent

MCP 是一套让 AI 应用按照统一标准连接和使用外部工具、数据源等能力的协议;

Tool Calling 是让 LLM 能够选择并调用外部工具的机制;

Agent 则围绕任务目标进行决策,通过 Tool Calling 使用工具,并根据 Tool Result / Observation 不断进行下一步决策,直到完成任务。

🔥 LLM = 大脑,负责理解和决策

🔥 Tool Calling = 调工具的机制

🔥 **MCP Client = 使用方,**AI 应用侧负责连接和使用 MCP Server 的组件。

🔥 MCP Server = 提供方,把外部能力按 MCP 标准提供出来( 外部能力的标准化接入协议**)**

MCP 就是给 AI 应用接外部能力定了一套统一标准。

有了这个标准,别人做好的 MCP Server 我也能直接接入复用,不用每次都自己重新适配。


相关推荐
sell-cloud2 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国3 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI3 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区4 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris6 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy6 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V6 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI6 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技6 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据6 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化