记忆注入的成本问题
记了 1000 条,每次全塞进去?还是按需检索?两种策略的代价
本页解决的问题
先给结论「记忆注入的成本问题」要解决的关键问题是什么?
记了 1000 条,每次全塞进去?还是按需检索?两种策略的代价
让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。
写下一个问题:试完这个方法后,你能用什么证据回答它?
结论听起来很完整,却没有检查最关键的假设。
(3~10条)
进 system prompt
高质量回答
「拖动滑块,感受记忆数量的影响」为什么能找到相关内容
「记了 1000 条,每次全塞进去?还是按需检索?两种策略的代价」把检索问题从“把资料存起来”推进到“怎样找到真正相关的资料”。这一步决定了 RAG、推荐和以图搜图最后交给模型的输入质量。
相似度不是答案,召回之后还要核对
在「记了 1000 条,每次全塞进去?还是按需检索?两种策略的代价」对应的流程里,Embedding 负责把对象放到可比较的语义空间,近邻索引负责减少搜索范围,最终的回答仍然依赖召回片段是否覆盖问题、距离指标是否合适,以及内容有没有过期。
先区分找得到和找得准
把「记了 1000 条,每次全塞进去?还是按需检索?两种策略的代价」落成一次小测试:准备几条有明确答案的查询,记录召回的相关性、遗漏和无关结果,再决定是否需要换切分方式、索引或重排。
从「拖动滑块,感受记忆数量的影响」走到「推荐策略」
「拖动滑块,感受记忆数量的影响」先把问题落在「记忆条数 100 条 10条 100条 1,000条 10,000条 全量注入(全部塞进 prompt) 注入 tokens — 每次调用成本 — 噪声占比 — 实现复杂度 极简 按需检索(只注入相关的) 注入 tokens — 每次调用成本 — 噪声占比 — 实现复杂度 需要检索系统」上;到了「推荐策略」,讨论继续推进到「记忆注入的推荐做法 用户发消息 新一轮对话开始 → 语义检索 找相关记忆 (3~10条) → 精准注入 只塞相关的 进 system prompt → 模型回复 有上下文的 高质量回答 核心原则: 记忆的价值在于每次能拿出最相关的几条,记了多少条并不重要。全量注入在记忆少的时候可行,但随着记忆增长,按需检索是唯一可扩展的方案。 记忆不是越多越好。1000 条全塞进去,AI 反而找不到重点。 好的记忆系统像一个称职的秘…」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。
把这条判断带到下一个场景
检索系统也可以这样看:先确定什么算相关,再观察召回是否覆盖问题,最后检查排序、切分和时效性有没有把真正有用的内容挤出去。
- 「拖动滑块,感受记忆数量的影响」:记忆条数 100 条 10条 100条 1,000条 10,000条 全量注入(全部塞进 prompt) 注入 tokens — 每次调用成本 — 噪声占比 — 实现复杂度 极简 按需检索(只注入相关的) 注入 tokens — 每次调用成本 — 噪声占比 — 实现复杂度 需要检索系统
- 「推荐策略」:记忆注入的推荐做法 用户发消息 新一轮对话开始 → 语义检索 找相关记忆 (3~10条) → 精准注入 只塞相关的 进 system prompt → 模型回复 有上下文的 高质量回答 核心原则: 记忆的价值在于每次能拿出最相关的几条,记了多少条并不重要。全量注入在记忆少的时候可行,但随着记忆增长,按需检索是唯一可扩展的方案。 记忆不是越多越好。1000 条全塞进去,AI 反而找不到重点。 好的记忆系统像一个称职的秘…
最后的「最后把结论落到实践」把讨论落到「记了 1000 条,每次全塞进去?还是按需检索?两种策略的代价」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。
我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。
读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。
如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。
还没有这篇文章的讨论。