Files
autumn-recruitment/06.AI/agent-design/上下文工程与记忆管理_test.md

6.9 KiB
Raw Permalink Blame History

tags, create time
tags create time
test/review
ai
agent-design
rag
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 全流程分析可能的原因和解决方案,涵盖:

  1. Chunking 阶段的问题
  2. 检索阶段的问题
  3. Context 组装的问题
  4. 重排环节的缺失

答题框架提示:

  1. 每个阶段的常见陷阱
  2. 对应的改进方案
  3. 优先级排序(先排查哪个阶段)

参考答案与解析

选择题答案

题号 正确答案 解析
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:参考答案要点:

  1. Chunking 问题:固定长度切可能截断语义;建议使用递归分块+10-15% 重叠。如果文档格式不规范(PDF 解析差),考虑改用文档感知分块。
  2. 检索问题:向量相似度可能召回语义相似但不相关的文档。引入 BM25 关键词匹配做混合检索,或提升 Top-K 数量后靠重排过滤。
  3. Context 组装问题:盲目塞入全部 Top-K 导致关键信息被 truncation 丢弃。应按相关度降序逐段填充,直到 token 上限,或使用信息密度排序优先保留核心片段。
  4. 重排缺失:缺少 Cross-Encoder 重排环节意味着 Top-K 直接注入而没有二次精筛。加上重排可以显著提升准确率 10-15%。
  5. 排查优先级:先检查 Chunking(源头质量决定上限)→ 再调 Top-K 大小 → 加 Cross-Encoder 重排 → 最后优化 Context 组装策略。

评分标准:答出任意 2 个要点即可得满分;完全正确需覆盖全部要点。

关联笔记