T learn.traeai

第 3 节 · 本站原创中文课程 · 建议 25 分钟

第三讲:做出带证据的 RAG 基线

学完能做:连接资料切分、检索、回答与错误分析,交付前三讲的练习项目。

先找到证据,再组织答案

RAG 把外部资料检索进模型上下文。我们的助手先将资料切成带出处的片段,再检索相关片段,最后生成回答与引用。索引阶段和回答阶段分开:资料更新时重新处理对应片段,提问时只检索当前索引。

切分不能切掉出处和条件

本站练习先按完整段落切分三份短说明。每个片段保存 document_id、chunk_id、版本和正文。比较检索方法时固定这套资料;如果问题依赖两个段落,记录是否同时取到,避免只命中标题就判定检索成功。

先写一个可解释的检索基线

下面是本站编写的关键词检索练习,可用 Python 标准库运行。它检查问题里的词是否出现在片段中,返回命中片段及 ID;这不是向量检索,也没有连接 LLM。跑通后,再用同一评测集比较 BM25、向量检索、混合检索或重排的收益。

chunks = [
    {"id": "policy-01", "text": "作业可以讨论,但须独立提交。"},
    {"id": "schedule-01", "text": "练习课在周三下午举行。"},
    {"id": "access-01", "text": "公开视频不需要课程账号。"},
]

def retrieve(terms, limit=2):
    ranked = [(sum(term in item["text"] for term in terms), item)
              for item in chunks]
    ranked.sort(key=lambda pair: pair[0], reverse=True)
    return [item for score, item in ranked if score > 0][:limit]

print(retrieve(["作业", "提交"]))
print(retrieve(["报名", "截止"]))  # 无证据,返回 []

分开检查检索与生成

同一个错误回答要追问两件事:正确片段有没有进入上下文,回答有没有忠实使用片段。评测表分别记录检索命中、回答事实和引用支持。资料没有覆盖的问题应说明缺口;互相冲突的材料应保留冲突,不能编一个统一答案。

需要多轮检索时再增加 Agent

本站扩展练习允许在证据不足时改写查询,最多补检索两轮,并保存每轮词和返回片段。即使到了上限也不补造事实。先对比固定 RAG 基线和多轮检索在同一组问题上的实际收益,再决定是否保留循环。

这是本站独立编写的讲解与示例,并非官方课程逐字翻译。理解之后,请完成下面的练习、自测和笔记。

参考来源:Stanford CS329Z: Engineering AI Agents · Fall 2026

STANFORD CS329Z · 官方公开课件

RAG + Agents

课堂日期:2026-09-30 · 英文 PDF · 文件由 Stanford 官网提供

打开官方 PDF ↗

动手,把理解变成成果

本节练习

正在读取本机草稿…

整合前三讲的系统图和模型契约,给三份自选公开或匿名资料建立带 ID 的检索基线。设计至少六个问题,覆盖直接命中、跨段落、无证据与冲突;提交运行结果或标为待测的验证计划。

77 / 6000 字。本页不执行代码;可下载后在本地运行,或用 Agent 获取定性建议。

给我一个提示

先运行示例,确认无命中返回空列表。自选资料不必很长;重要的是每个问题能核验到具体片段。

查看参考思路(本站预写,非实时 Agent)

交付系统图、三个带版本的文档、片段索引、模型契约与六例表。直接命中记录片段 ID,无证据明确缺失。关键词基线先本地运行;尚未连接模型的生成质量标为待测。

人工自评:逐项核对自己的作品

这些勾选由你确认,不是自动测试结果。遇到待测项,请在作品里明确注明。

理解自测

正确片段已经检索到,回答仍编造了截止日期,优先检查哪里?

自己的学习笔记

0 / 3000 字 · 仅保存在此浏览器

围绕当前章节学习

Agent 答疑与作品评价

正在检查连接…

本站讲解、提示、参考思路和自测可独立使用。连接模型服务后,才能实时提问或评价;这里不会把预写内容伪装为 Agent 回答。

走完学习闭环

完成本节

保留练习、勾选人工自评并通过自测后,可记录完成。修改作品或答案会重新打开本节。

课程进度:0 / 3 · 本机记录,不是外部官方证书

回到课程目录 →
← 上一节:第二讲:把 LLM 接成可靠的组件