上下文与检索:Context Window = f(Context),以及不调库的 RAG 上下文与检索Context Window f(Context)以及不调库的 RAG配套课程第三章11 讲 智能检索主线。对应考点上下文不是越多越好、压缩与细节找回、RAG 不止于“丢给向量库”。1. 一句话点破误区面试官你的 Agent 怎么管理上下文候选人把历史对话全塞进 prompt 就行了。面试官长任务跑 50 轮呢token 爆了、噪声淹没关键信号怎么办课程的原话是Context Window f(Context)—— 上下文是“上下文状态”的函数不是堆得越多越好。本系统的memory_agent.py同时做了上下文管理和检索两件事而且零三方依赖不用 langchain、不用向量数据库方便你读源码、改源码、讲源码。2. 上下文管理 f(Context)该放什么、该丢什么、丢了怎么找回来2.1 工作记忆 预算压缩def_compress(self,sid):whileTrue:size(sum(len(str(h))forhinhistory)len(str(entities))len(str(prefs)))ifsizeself.WORK_BUDGETorlen(history)3:breakoldhistory.pop(0)# 丢最早的细节self.compressed[sid][key]old# 但细节进“压缩存储”超预算时丢弃早期历史细节但保留实体与偏好机票、上海、低预算这类关键信息永不离场。被丢的细节不是没了而是进了compressed存储。2.2 细节找回detail recoverydefexpand(self,sid,key):return{key:key,detail:self.compressed[sid].get(key)}需要时可以按 key 把压缩掉的细节重新展开。这就是课程说的“压缩之后细节怎么找回来”。2.3 相关度过滤不是越多越好get_context支持按当前任务做相关度过滤——只把与当前任务相关的实体送进窗口iftaskandentitiesinctx:ctx[entities_relevant][eforeinctx[entities]ifeintask]这一行就是f(Context)的具象上下文是“当前任务”的函数。3. 智能检索不用向量库的 RAG 也能跑课程说“智能检索不止 RAG”。但 RAG 本身也要讲清楚“该查什么、去哪查、chunk 粒度与召回精度怎么平衡”。本系统用一个零依赖的 TF-IDF 字符 bigram 向量实现真实检索deftokenize(text):toks[w.lower()forwinre.findall(r[a-zA-Z0-9],text)]cnre.sub(r[a-zA-Z0-9],,text)foriinrange(len(cn)-1):toks.append(cn[i:i2])# 中文按字符 bigram 切规避分词依赖returntoksclassTFIDFIndex:defquery(self,q,top_k3):# 构造查询向量 → 与每篇 doc 的 tfidf 向量算余弦 → 取 top_k为什么不用现成向量库为了把检索原理讲透。面试时能说出“chunk 粒度太小召回碎、太大引入噪声”“查询改写提升准确率、索引提升性能”比“我调了 xxx 向量库”强。3.1 真实召回效果S2 里retrieve(机票)命中《机票产品知识》片段“机票预订支持单程与往返价格随淡旺季与提前天数波动。通常提前 21 天以上预订最划算……”S3 里retrieve(云服务器)命中《云服务器规格与计费》。检索相关性指标在实测里 1.0。3.2 chunk 粒度与召回/精度的权衡语料corpus_data.py把知识切成一条条 chunk每条一个概念/一个产品演示了 chunk 粒度的选择太细一个概念拆成 5 段 → 召回碎、拼不起来太粗整章一个 chunk → 噪声多、精度掉本系统取“一个概念/产品一条”是兼顾召回与精度的折中。4. 检索失败怎么办也是 Replan 的素材当查询过窄导致0 条命中执行层返回结构化失败PlanAgent 把它分类为retrieval根因插入“放宽检索/切换知识源”的纠正步。这就把“智能检索”和“规划执行”连起来了。5. 面试话术模板“上下文管理我用f(Context)的思路上下文不是越多越好。我给工作记忆设预算超阈值丢早期细节但保留实体和偏好丢弃的细节进压缩存储可按 key 找回get_context还按当前任务做相关度过滤只把相关上下文送进窗口。检索侧我实现了一个零依赖的 TF-IDF 字符 bigram 检索讲清楚 chunk 粒度、查询改写和重排对召回/精度的影响而不是黑盒调向量库。”下一篇执行与评估TAO 工具选择与评估反馈闭环

相关新闻

最新新闻

KMS智能激活架构深度解析:Windows与Office批量授权管理技术实现

KMS智能激活架构深度解析:Windows与Office批量授权管理技术实现

KMS智能激活架构深度解析:Windows与Office批量授权管理技术实现 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO作为一款专业的批量授权管理解决方案,通过…

2026/8/5 1:02:11
HarmonyOS应用实战-启示散页-78-编辑未保存别被返回键丢掉:用 DirtyState 拦截导航

HarmonyOS应用实战-启示散页-78-编辑未保存别被返回键丢掉:用 DirtyState 拦截导航

HarmonyOS 应用实战 78:编辑未保存别被返回键丢掉:用 DirtyState 拦截导航 如果返回按钮直接 pop,用户改了一半的牌组会无提示丢失。这个问题不能只靠页面上补一个提示解决,因为真正的断点在 libraryHSP/src/main/ets/pages/DeckE…

2026/8/5 1:02:11
新手零代码部署 OpenClaw,45.7MB 安装包快速搭建桌面自动化助手

新手零代码部署 OpenClaw,45.7MB 安装包快速搭建桌面自动化助手

📌 一、工具五大核心亮点盘点 数据留存本机,隐私防护等级高 所有操作记录、文档素材全部存储在本地设备,不会上传至云端服务器,有效规避企业资料、个人隐私外泄的各类风险。 入门门槛极低,无编程需求 整套可视化图形操…

2026/8/5 1:02:11
如何5分钟搭建免费的《绝区零》全自动游戏助手框架

如何5分钟搭建免费的《绝区零》全自动游戏助手框架

如何5分钟搭建免费的《绝区零》全自动游戏助手框架 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 还在为《绝区零》的重复…

2026/8/5 1:02:11
TTL 和 RS232 到底有什么区别?一句话:表示 0 和 1 的电压不一样

TTL 和 RS232 到底有什么区别?一句话:表示 0 和 1 的电压不一样

一句话: TTL 用 0V/3.3V 表示 0 和 1,是芯片原生的信号。RS232 用 5V~15V 表示,电压摆幅大、抗干扰强、适合走长线。两根线接同一个串口,中间就差一个电平转换芯片。 适合谁读:适合嵌入式开发者、单片机初学者及遇到类似问题的工程…

2026/8/5 1:02:11
如何免费快速实现Synology Photos人脸识别:终极完整指南

如何免费快速实现Synology Photos人脸识别:终极完整指南

如何免费快速实现Synology Photos人脸识别:终极完整指南 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 还在为你的群晖NAS无法识别人脸而…

2026/8/5 0:57:11