

一天内完成了一个“能跑、可用、可迭代”的初步落地。这篇就按当天的真实节奏,把关键步骤、坑点、以及当时的体感记录下来——以后再遇到类似“明明有数据但检索不到”的问题,可以直接按这份清单排查。
我当天反复验证到的几个结论:
我给自己定的验收标准很简单:
2026-4-09.md)
现象库里确实有 2026-4-09.md 的切片,但问“4-9 写了什么”时,经常出现:

当天最终跑通的策略是“双路”:
核心动作(按落地顺序):
4-09 / 24-4-09 / 2026-4-09 等变体统一解析成候选文件名列表(例如 2026-4-09.md、2026-04-09.md)。TitleAnchor: 2026-4-09.md 追加到 query,让向量更靠近目标日记的“Title”上下文。metadata.slug=2026-4-09(或 content 里 Title: 2026-4-09.md)把切片拉出来,排在向量结果前面。体感 这一招非常“工程化”,但有效:RAG 的稳定性从“看运气”变成“可解释、可复现”。

当天的关键决定是:AI 交互链路优先走 Python,前端只做同源代理和 UI。
match_documents、日期锚点、流式输出/api/py/chat 作为 BFF 代理,前端继续用水墨风 UI 做流式渲染这一步的价值是把“复杂度”从前端移走:以后不管换模型、换维度、改检索策略,都集中在 Python 侧改。
我觉得这一天最重要的不是“把功能做出来”,而是把项目从一堆散点,变成一个可以长期演进的形态:
最后的碎碎念:
“RAG 的问题不在于模型聪不聪明,而在于你有没有把‘必须确定的东西’变成确定的。”