6.9 KiB
tags, create time
| tags | create time | ||||
|---|---|---|---|---|---|
|
2026-08-09 12:00 |
上下文工程与记忆管理 — 测试题
概述
本测试覆盖 RAG 完整链路(Chunking → Embedding → 检索 → 重排)、Prompt Context 组装策略、Prompt 压缩方法以及 Agent 三层记忆架构。共 10 道题目(6 选择 + 3 填空 + 1 简答)。
一、选择题(6道,由浅入深)
难度阶梯: Q1-Q2 基础概念 → Q3-Q4 核心原理 → Q5-Q6 深入应用/边界场景
Q1(基础)— 考察定义层面
RAG(Retrieval-Augmented Generation)解决 LLM 的哪些问题?
A. 推理速度慢和成本高 B. 知识截止和幻觉问题 C. 不支持多语言 D. 无法调用外部工具
Q2(基础)→
以下哪种 Chunking 分块策略被推荐为实际项目的最佳实践?
A. 固定长度按字符数 N 切割,简单快速 B. 语义边界在标题段落间切割 C. 递归分块 + 重叠——先按 Markdown 层级分,超阈值再按句子切,保留 10-15% 重叠区 D. 文档感知基于 PDF 解析的结构信息
Q3(进阶)— 核心原理
Top-K 检索流程中,为什么 Cross-Encoder 比 Single-Encoder 精度高约 10-15% 但只用于二次筛选而非全量检索?
A. Cross-Encoder 模型更小更快 B. Cross-Encoder 速度慢 20 倍,只做二次筛选 C. Single-Encoder 只能处理单条查询 D. Cross-Encoder 需要 GPU 加速而服务器没有
Q4(进阶)— 比较/辨析
关于 RAG 和记忆的关系,原文的结论是:
A. RAG 可以完全替代记忆模块 B. 记忆可以完全替代 RAG C. 两者正交互补而非互斥——RAG 面向外部知识,记忆面向个性化数据 D. 它们本质上是同一个东西的不同叫法
Q5(深入)— 场景推理
一个智能客服对话系统已经持续交互了 30 轮,当前 token 预算只剩 500 tokens。以下哪种 Context 压缩方法的优先级最高?
A. Token 池修剪——计算 Self-Influence Score B. 摘要浓缩——用 LLM 将多个片段合并为一句话 C. 信息密度排序——按非停用词比例保留高密度片段 D. 全部丢弃以节省 token
Q6(深入)— 源码级/边界场景
Agent 的三层记忆架构中,"用户在交互中表达的偏好和事实陈述会被抽取并持久化"属于哪一层?
A. 短期记忆 B. 工作记忆 C. 长期记忆 D. 以上都不是
二、填空题(3道)
F1 — 填空1
Prompt Context 组装的优先级顺序是:_____ > 事实上下文 > 历史对话。永远不要盲目把全部 Top-K 塞进 Prompt——token 预算有限,超出的部分会触发 truncation 丢失重要信息。建议按_____降序填充直到触及 token 上限。
提示: 回想原文中关于组装优先级的描述。
F2 — 填空2
长期记忆的更新策略包括四种:新增(新发现信息插入)、修正(标记旧记忆为 obsolete)、合并(碎片信息聚合)、_____(随时间推移降低旧记忆权重,weight *= decay_factor)。
提示: 原文中的第四个关键词。
F3 — 填空3
向量维度选择的权衡:768 维够用且快,_____ 维更精细但消耗更多内存。国内常用的 text-embedding-v3 默认 _____ 维。
提示: 原文中提到的高维度数值。
三、简答题(1道)
S1
某知识库搜索产品采用 RAG 架构,用户反馈"回答不准确,检索到的文档似乎与问题无关"。请结合 RAG 全流程分析可能的原因和解决方案,涵盖:
- Chunking 阶段的问题
- 检索阶段的问题
- Context 组装的问题
- 重排环节的缺失
答题框架提示:
- 每个阶段的常见陷阱
- 对应的改进方案
- 优先级排序(先排查哪个阶段)
参考答案与解析
选择题答案
| 题号 | 正确答案 | 解析 |
|---|---|---|
| Q1 | B | RAG 通过检索增强生成补充 LLM 的知识库,解决两个核心问题:① 知识截止(LLM 训练时未包含的最新信息);② 幻觉(编造不存在的事实)。RAG 不解决推理速度或代码能力问题。 |
| Q2 | C | 递归分块+重叠是推荐的综合方案:先按 Markdown 层级保持结构完整性,同一块超限再按句子切,相邻块保留 10-15% 重叠避免关键句被拆分。这是兼顾精度和效率的最佳实践。 |
| Q3 | B | Cross-Encoder 对 query-document 对做联合编码,精度高 10-15%,但计算复杂度高 20 倍。所以先用 Single-Encoder/BM25 召回 Top 50,再用 Cross-Encoder 精排取 Top 5。 |
| Q4 | C | 面试常考点:RAG 面向的是外部知识(文档、手册),记忆面向的是个性化数据(用户偏好、历史对话)。两者正交互补而非互斥。 |
| Q5 | C | 信息密度排序是最实用的压缩方法——计算每 token 包含的事实数量(非停用词比例),保留高密度的核心片段,丢弃废话。不需要额外 LLM 调用(摘要浓缩有信息损失),也不需要复杂计算(Token 池太贵)。 |
| Q6 | C | 长期记忆 = 跨会话的知识库。用户偏好(技术栈偏好)、事实陈述(PostgreSQL 支持 JSONB)、决策记录都会被抽取存储到向量数据库中。短期记忆是当前会话内的滑动窗口。 |
填空题答案
| 题号 | 答案 | 解析 |
|---|---|---|
| F1 | 系统提示;相关度 |
系统提示是固定的角色和行为准则,不可变且最高优先级。事实上下文按相关度降序填充,直至触及 token 上限为止。 |
| F2 | 衰减 |
记忆的 decay_factor 确保旧信息不会永远占据主导地位。例如每次访问时 weight *= 0.99,随着时间推移逐渐降低旧记忆的检索优先级。 |
| F3 | 1536;1536 |
768 维够用且计算快,1536 维更精细但占更多内存。text-embedding-v3 默认的 1536 维在国内生态中最常用。 |
简答题参考答案
S1:参考答案要点:
- Chunking 问题:固定长度切可能截断语义;建议使用递归分块+10-15% 重叠。如果文档格式不规范(PDF 解析差),考虑改用文档感知分块。
- 检索问题:向量相似度可能召回语义相似但不相关的文档。引入 BM25 关键词匹配做混合检索,或提升 Top-K 数量后靠重排过滤。
- Context 组装问题:盲目塞入全部 Top-K 导致关键信息被 truncation 丢弃。应按相关度降序逐段填充,直到 token 上限,或使用信息密度排序优先保留核心片段。
- 重排缺失:缺少 Cross-Encoder 重排环节意味着 Top-K 直接注入而没有二次精筛。加上重排可以显著提升准确率 10-15%。
- 排查优先级:先检查 Chunking(源头质量决定上限)→ 再调 Top-K 大小 → 加 Cross-Encoder 重排 → 最后优化 Context 组装策略。
评分标准:答出任意 2 个要点即可得满分;完全正确需覆盖全部要点。