FDE Times 数据在招 FDE 职位 863▼55 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 71在招公司 181支持远程 24%美国薪资中位数 $200k招聘最多 Palantir 95
ENVI

前线部署工程师(FDE)的专业媒体

书籍与课程

这门 RAG 课值得上,重点在评测而不在搭建

Jerry Liu 和 Anupam Datta 的两小时课程讲 RAG 三元组,三项检查找出问题、上下文与答案之间哪一环断了。

分享微博

要点速览

  • 课程时长 2 小时 5 分钟,Beginner 级别,含 6 个视频和 4 个代码示例。保质期最长的部分是 RAG 三元组。
  • 句子窗口检索按单个句子匹配,再把前后句子组成的整个窗口交给 LLM。窗口大小要以实际配置为准,而不是默认值。
  • 三元组用来诊断故障,而不是质量保证。在 Snowflake 的基准测试中,上下文相关性的 LLM 评审 F1 只有 64%。
一张三行表格,以 HR 政策聊天机器人为例说明 RAG 三元组。检索到错误文档:上下文相关性低,要改检索器。编造数字:上下文相关性高、有据性低,要改提示词或模型。回答含糊:上下文相关性和有据性都高、答案相关性低,要改提示词。短横线表示文章没有给出的指标。
RAG 三元组的每项指标各对应流水线中的一个环节:哪项得分低,问题就出在哪个环节,修法也各不相同。

DeepLearning.AI 的 Building and Evaluating Advanced RAG 只有 2 小时 5 分钟,包含 6 个视频和 4 个代码示例。标题把“搭建”放在前面,但真正值得带去客户现场的是“评测”部分:RAG 三元组,也就是课程用来衡量 LLM 答案相关程度和忠实程度的三项指标。

对前线部署工程师(FDE)来说,这部分最值得细读。把 RAG 管道跑起来只要一个下午。难的是客户说“机器人回答错了”的时候:你得说清楚错在哪、为什么错,以及你的修复有没有让它变好。

谁来讲,讲了什么?

两位讲师是 LlamaIndex 的 Jerry Liu 和 TruEra/Snowflake 的 Anupam Datta。课程由 LlamaIndex 和 TruEra 两家合作方共同制作,难度为 Beginner,PRO 账户另有一份计分作业。

课程页面只显示 2025 年 10 月 7 日的更新日期,没有原始发布日期。这一点在重跑 notebook 时很重要。代码基于 LlamaIndex 编写,动手前先对照当前文档核对类名和参数,免得一个下午耗在版本报错上。

第一课:三元组是诊断工具

三元组由 TruEra 的开源库 TruLens 设计,用来在 RAG 架构的每条边上捕捉幻觉。上下文相关性检查每段检索到的上下文是否与问题相关;有据性衡量 LLM 的论断在多大程度上能追溯到原文;答案相关性则看答案对提问者是否真正有用。

三元组的真正价值,在于它能指出哪一环出了问题。设想一个查询人事政策的聊天机器人,员工问自己还剩几天年假。如果机器人拿差旅报销政策来回答,上下文相关性多半很低:检索器取错了文档,改提示词无济于事。

第二种情况:检索器取到了正确的休假政策,但机器人给出的天数在文档里根本没有。这时有据性会很低,因为模型超出给定上下文,夸大或编造了细节。

问题出在答案生成,要做的是收紧提示词或更换模型,而不是去动检索器。

第三种情况最难发现:上下文正确,每条论断也都有据可查,但机器人只笼统地介绍了请假流程,没有说出天数。答案有据,却帮不上提问者,所以答案相关性低。修复办法是要求模型针对所问作答。

这三个数字能把“机器人没用”的抱怨变成一张地址明确的工单。第一次和客户坐下来工作时,先要几条机器人答错的问题,逐条给三元组打分,再去动代码。

第二课:用小句子检索,给 LLM 更大的段落

句子窗口检索解决了一个常见矛盾:小分块检索精准但缺少上下文,大分块上下文充足却容易带进无关内容。按课程讲解,这项技术检索的不只是最相关的那一句,而是包括它前后句子在内的一个窗口。

在 LlamaIndex 中,系统按每个单句的嵌入进行匹配,然后由 MetadataReplacementNodePostProcessor 把每个句子替换成前后句子组成的窗口,再交给 LLM。根据文档,默认窗口是每侧 5 句,但代码示例设置的是 window_size=3。

所以,上下文的量要按实际运行的配置来算。按默认每侧 5 句算:每个匹配句子最多带 11 句进入提示词,取前 3 个结果时,LLM 最多读到 33 句。

若用 window_size=3,这两个数字分别是 7 和 21;如果匹配的句子彼此挨得近,窗口会重叠,实际句数还会更少。和客户估算延迟与 token 成本时,就用这个自己算出的上限。

第三课:分数高不等于有保证

TruLens 认为,三项分数都高时,可以确信应用没有产生幻觉。这个说法要带点怀疑来看,因为其他资料把三元组当作调试工具,而非质量保证。原因在打分者本身:三项指标通常都由 LLM 评审(LLM-as-judge)打分。

Snowflake 对这些评审做过基准测试:有据性评审的 F1 为 81%,答案相关性为 79%,上下文相关性只有 64%。这些评审与人工评分者的一致性从一般到较高不等,这意味着仍有部分问题会被打错分,上下文相关性尤其如此。

Snowflake 的另一篇文章表明,要改进评审,同样离不开标准答案数据。他们用 Eval-Guided Optimization 优化了评审的提示词;而在没有基准指引的情况下,TextGrad 没能改进任何一个评审。

给 FDE 的启示:向客户汇报三元组分数之前,先准备一小组人工标注的问题,弄清评审偏差有多大。

应该按什么顺序学?

课程难度为 Beginner。即便如此,如果你已经亲手搭过一个基础的 RAG 管道,收获会更大,因为学到三元组时,你手上已经有一个可以打分的系统。先看句子窗口那一课,再看评测部分,然后用自己的文档而不是示例数据重跑 4 个代码示例。

简历上不要只写“完成了这门课程”,而是写一行带前后对比数字的经历:比如你把一次故障定位到检索器,在一组真实问题上提高了上下文相关性,并用自己人工评分的标签核对了评审的打分。

一行证书只能说明你看完了课程。一张三元组分数表,配上你亲手标注的标签,能让面试官看到你不只会搭建,还会度量。

这篇文章对你有帮助吗?

8 个信源
路线图上的下一篇 · 阶段 3: AI 应用生产环境的提示词是程序的输出,不是一句妙语Berryman 与 Ziegler 这本书的价值在于讲透一件事:为每个请求收集、筛选并排列上下文。