淘天ai agent面经

1,介绍RAG流程;介绍对编码模型的了解、原理、优缺点;如何评估编码模型的能力

RAG (Retrieval-Augmented Generation) 核心流程分为:数据准备(清洗、分块、向量化、存储)、检索(相似度搜索)、增强(将上下文注入 Prompt)和生成(LLM 输出)。

编码模型原理与优缺点

编码模型通常基于 BERT/RoBERTa 等 Encoder-only 架构。通过双向注意力机制将文本映射到高维向量空间。

  • 原理:利用对比学习(Contrastive Learning),让语义相近的文本在向量空间中距离更近(Cosine Similarity)。
  • 优点:计算效率高,适合大规模语义搜索。
  • 缺点:受限于上下文窗口长度(通常 512-812 字符);无法理解极其复杂的长程逻辑。

评估指标

  • MTEB (Massive Text Embedding Benchmark):目前公认的权威排行榜。
  • 检索准确率\(Hit Rate@K\)(前 K 个结果是否包含正确答案)和 MRR (Mean Reciprocal Rank)。

2,RAG有哪些分类;多模态RAG有哪些实现框架;伪多模态RAG和多模态RAG分别怎么实现,有什么区别;CLIP可以用于哪一类多模态RAG,为什么

Naive RAG (简单检索)

这是最基础的 Index -> Retrieve -> Augment -> Generation 线性流程。

  • 做法:把文档切块(Chunking),存进向量数据库。用户提问时,把问题转成向量去库里找最像的 Top-K 个片段,塞给 LLM 完事。
  • 缺陷
    • 检索慢/准度低:向量匹配可能只搜到了关键词相似,但语义不相关的片段。
    • 上下文断裂:切块可能正好把一句重要的话切断了,导致信息不完整。

Advanced RAG (预处理 + 后处理)

针对简单检索的痛点,在检索的前后两端加了大量的优化策略:

  • 预处理 (Pre-Retrieval)
    • 查询重写 (Query Rewriting):用户问得模糊,先让 LLM 把问题改写得更清晰,或者生成多个变体(Multi-Query)。
    • 假设性回答 (HyDE):先让 LLM 瞎猜一个答案,用这个“假答案”去搜,往往比直接用“问题”搜更准。
  • 后处理 (Post-Retrieval)
    • 重排序 (Rerank):向量搜索搜出 100 个,用更精密的模型(Cross-Encoder)精挑细选出最相关的 5 个。
    • 上下文压缩:把搜到的长篇大论精简,只留下关键信息,防止 LLM “迷失在中部”。

Modular RAG (模块化编排)

这是目前的尖端形态,它不再是线性的,而是原子化、插件化的。

  • 核心逻辑:将 RAG 拆成不同的功能模块,根据任务需求灵活组合。
  • 新模块示例
    • Search 模块:不只搜向量库,还可以去搜 Google 或企业知识图谱。
    • Memory 模块:记住用户之前的对话习惯。
    • Rewrite/Route 模块:根据问题类型自动决定是去查数据库还是直接生成。
  • 特点:支持迭代循环。比如搜了一次发现不够,它会自动触发“再次搜索”模块,直到信息足够为止。
维度 Naive RAG Advanced RAG Modular RAG
流程 线性 (Straight) 线性 + 前后增强 模块化、非线性 (如循环、分支)
核心技术 向量检索 重排序 (Rerank)、Query 转换 智能体路由 (Router)、多源融合
解决痛点 实现了从无到有 解决了检索噪音和语义对齐 解决了复杂任务和长流程问题

多模态 RAG 实现

  • 实现框架:LlamaIndex, LangChain (Multi-modal), Unstructured.io。
  • 伪多模态 RAG:通过 Captioning。将图像/视频转为文字描述,存入传统文本向量库。
    • 区别:伪多模态丢失了视觉细节;真多模态直接在统一向量空间(Multimodal Embedding)匹配。
  • CLIP 的作用:属于真多模态 RAG 的基础。它通过图文对训练,实现了图像和文本在同一特征空间的表征,适合“以文搜图”或“以图搜图”。

3,RAG怎么评估,RAG评估体系中最重要的是什么

评估体系中最核心的是 RAG Triad (三元组)

  1. Faithfulness (忠实度):答案是否来源于检索到的 Context。
  2. Answer Relevance (答案相关性):答案是否解决了 Query。
  3. Context Precision (检索精度):检索到的信息是否包含正确答案。

4,传统RAG有什么痛点;介绍GraphRAG,GraphRAG的难点是什么;GraphRAG如何应对增量场景

传统 RAG 痛点

  • 全局性理解差:难以回答“这篇文档的主旨是什么”这类宏观问题。
  • 长程关联弱:无法连接跨文档、跨段落的隐性实体关系。

GraphRAG

  • 难点:图谱构建成本极高(LLM 抽取实体关系耗时);Schema 设计复杂。
  • 增量场景:通过 Graph Consolidation。新实体进入时,利用 LLM 进行实体消歧(Entity Resolution),合并重复节点,更新已有的聚类摘要。

5,介绍微调负责的工作;大模型微调最重要的是什么

负责工作:领域知识注入、格式对齐(Instruction Following)、风格迁移。

最重要的一点数据质量(Data Quality)。正如 LIMA 论文所述:Less Is More for Alignment,1000 条高质量数据远胜 10 万条脏数据。

6,后训练有哪些方式;微调有哪些方式,分别是怎么做的;LoRA原理及参数量

后训练方式

阶段 / 方式 核心目标 核心做法 优缺点分析 适用场景
1. 指令微调 (SFT) 让模型学会对话与遵循指令 使用 \((Prompt, Response)\) 数据对进行监督训练。 优点:见效快,是对话能力的基石。 缺点:难以解决价值观偏好问题。 基础对话能力构建、特定格式对齐(如 JSON)。
2. 持续预训练 (CPT) 注入领域知识 在特定领域的纯文本上进行 Next Token Prediction 训练。 优点:大幅提升行业常识。 缺点:不改变交互模式,算力开销较大。 医疗、法律、金融等垂直领域专家模型构建。
3. 强化学习 (RLHF - PPO) 极致的人类偏好对齐 训练奖励模型(RM),通过 PPO 算法更新策略。 优点:上限极高,模型更“聪明”且安全。 缺点:流程极复杂,需要三个模型同时运行,训练极不稳定。 顶级闭源/开源模型(如 GPT-4, Llama 3)的最终打磨。
4. 直接偏好优化 (DPO) 高效的偏好对齐 抛弃奖励模型,直接在 (最好回答, 最差回答) 对上计算 Loss。 优点:简单、稳定,显存占用低,目前最主流。 缺点:对数据分布较敏感。 绝大多数企业级对话模型和微调项目。
5. 模块化微调 (LoRA / PEFT) 低成本适配任务 冻结原参数,只训练旁路的低秩矩阵(Rank Decomposition)。 优点:参数量极小(<1%),显存要求极低。 缺点:性能上限略低于全量微调。 算力受限情况下的下游任务适配、多任务切换。
6. 混合优化 (ORPO) 一步到位对齐 将 SFT 和对齐合并,不需要参考模型。 优点:流程极简,计算效率高。 缺点:属于较新技术,社区沉淀相对较少。 追求极致训练效率的轻量化项目。

微调方式

  • Full Fine-tuning:全参微调,效果好但算力开销极大。
  • PEFT (参数高效微调):如 LoRA, P-Tuning, Adapter。

LoRA 原理

在预训练权重的旁边并联两个低秩矩阵 \(A\)\(B\)\[ W_{new} = W_{base} + \Delta W = W_{base} + A \times B \] 参数量:极小,通常不到原模型的 1%。计算公式为 \(2 \times r \times d_{model}\)\(r\) 为秩)。

7,介绍DPO;DPO与PPO的区别

PPO 原理

PPO (Reinforcement Learning from Human Feedback):需要训练 Reward Model,通过策略梯度更新。流程复杂,训练极不稳定。

为什么 PPO 训练不稳定?

  • 信度分配(Credit Assignment)难题:LLM 生成一个句子包含几十个 Token,但奖励(Reward)通常只在句末给出一个总分。PPO 很难精准判断到底是哪一个词导致了高分或低分,这种“稀疏反馈”导致梯度更新方向反复横跳。
  • 双重分布漂移:PPO 涉及两个动态系统:一是策略模型在变,二是价值模型(Value Network)在追。如果价值模型估算不准,提供的优势函数(Advantage)就会误导策略模型,导致训练瞬间崩盘。
  • 非平稳性与 KL 惩罚:为了防止模型跑偏,PPO 必须加入 KL 散度约束。但这个系数极难调——设大了模型不学(不更新),设小了模型直接输出乱码(Reward Hacking)。

DPO 与 ORPO 的核心本质

DPO (Direct Preference Optimization)

  • 核心原理:利用数学技巧,将原本需要“强化学习”解决的对齐问题,转化为了一个“查表对比”问题。不需要奖励模型。它直接在偏好数据上进行最大似然估计,将强化学习目标转化为简单的二分类交叉熵损失。更简单、稳定且高效。
  • 为什么稳:它建立了一个解析解,证明了最优策略模型与其生成的 Logit 概率成正比。训练时,只要模型给“好答案”的概率增幅大于给“坏答案”的概率增幅,模型就在进化。它没有复杂的采样和评分环节,本质就是对比学习

ORPO (Odds Ratio Preference Optimization)

  • 核心原理:直接修改了 SFT 的损失函数。它认为模型不应该只学会“说什么对”,还得学会“什么不能说”。
  • 核心逻辑
    1. 弱化负样本:它通过 Odds Ratio(几率比) 这种概率统计学指标,直接惩罚模型生成负样本(Rejected)的概率。
    2. 单阶段对齐:它不需要 PPO 的四个模型,也不需要 DPO 的参考模型(Reference Model),只靠一个模型在 SFT 过程中同时完成“学习知识”和“偏好选择”。

8,介绍一些Agent的实现框架;这些框架有什么区别;LangGraph适用于什么场景;LangGraph构建Agent的方式有哪几种

  • 框架:AutoGPT (自主寻路), CrewAI (多角色协作), LangGraph (循环流控制)。
  • LangGraph 优势:支持 Stateful (有状态)Cyclic (循环)。传统 LangChain 是 DAG(有向无环图),难以处理需要反复迭代、纠错的复杂逻辑。
  • 构建方式:1. StateGraph (显性状态定义); 2. Nodes & Edges (逻辑节点与边)。

9,场景题:客户输入一个软件或网页界面截图,如何通过RAG的方式帮助用户了解界面的每一个组件的作用(???说实话没太听懂),输入输出自己定义;相似的组件如图片框和视频框如何区分

方案定义

  • 输入:界面截图 + 目标组件位置 (Bounding Box) 或坐标。
  • 输出:该组件的功能描述、交互逻辑。
  • 实现流程
    1. 预处理:使用多模态模型(如 GPT-4o 或专用 OCR+目标检测模型)对截图进行元素提取。
    2. 索引:将组件的特征(视觉特征 + 位置信息 + 关联文本)存入向量库。
    3. 检索:用户点击或输入位置时,计算坐标重合度或特征相似度。
    4. 生成:结合该组件的文档描述(Context)生成说明。

区分相似组件(图片框 vs 视频框)

  1. 多模态特征:视频框通常伴随播放按钮特征(三角图标)、进度条特征。
  2. 代码/元数据:如果是从代码层抽取的,查看 <img> 标签与 <video><iframe> 标签的区别。
  3. 时域分析:如果是动态输入,视频框会有帧率变化,图片框保持静态。

原文链接