网易首页 > 网易号 > 正文 申请入驻

记忆召回率从98%暴跌至60%,我用pytest+Qdrant揪出异步索引元凶

0
分享至

凌晨两点,一位用户反馈AI Agent突然忘记了昨天讨论的项目细节。我睡眼惺忪地打开Grafana,发现记忆召回率从98%掉到了60%。第一反应是embedding模型又抽风了,但翻完日志后,问题指向Qdrant:写入与查询之间存在“时间缝隙”——数据明明upsert成功,查询却间歇性返回空结果。这已经不是第一次发生,我决定用pytest和Qdrant把召回一致性测试自动化,最后发现坑比预想中深。

先把问题拆开看。AI Agent的记忆存储依赖Qdrant保存向量和payload,核心要求是“写完立即可查”。但真实环境里的表现很怪:本地测试全绿,CI偶尔失败;同一个查询连续执行两次,结果不一致。

根因在于Qdrant的写入和索引构建是异步的。upsert方法默认不等索引刷新就返回,后续查询可能读到空或部分结果。常见的补丁是代码里手动sleep(2),但这不是工程化做法——sleep多久不可控,治标不治本。更麻烦的是,召回一致性还和距离度量、score阈值选择相关,测试断言写得不够严谨,反而会误导排查方向。

测试框架我选pytest。fixture和参数化很适合做隔离和覆盖多场景;Qdrant官方Python客户端支持:memory:模式,每个测试用例都能拿到完全隔离的向量数据库实例,不需要mock。为什么不用unittest?fixture清理和参数化写起来太啰嗦。为什么不用mock?因为我们就是要验证Qdrant真实的召回行为,mock只会掩盖异步索引问题。

架构上,只需要在conftest.py里定义qdrant_client fixture:每个测试自动创建临时数据库,结束后自动销毁。针对写后一致性,最核心的单测是“插入一条向量后立刻查询”,断言返回结果;再搭配“连续查询多次结果稳定”的重复测试,把间歇性问题暴露出来。

实践下来,这套自动化测试至少提前发现了三类问题:索引刷新延迟导致的空结果、距离阈值设置过严导致的漏召回、以及复用客户端状态导致的脏数据串扰。这三类问题如果只在线上人工观察,往往要等到用户投诉才会暴露。

更重要的收获是:不要用sleep去赌异步索引的完成时机。可靠做法是测试里轮询ready状态或调用强制刷新接口,并对查询结果做“至少一次命中”的断言。真正的企业级可靠性,不是靠侥幸,而是靠可重复的自动化测试守住的。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
油价大涨!一夜升温,8月17日全国92,95汽油“预涨190元/吨”,汽柴油“刚跌又涨”,下次8月28日调整或“大涨”!

油价大涨!一夜升温,8月17日全国92,95汽油“预涨190元/吨”,汽柴油“刚跌又涨”,下次8月28日调整或“大涨”!

猪友巴巴
2026-08-17 09:20:44
六台记者:巴萨预计未来几小时内展开行动,了解哲凯赖什情况

六台记者:巴萨预计未来几小时内展开行动,了解哲凯赖什情况

懂球帝
2026-08-17 07:26:14
“珐琅锅”为什么会退出中国家庭?看完这些缺点,你就不奇怪了

“珐琅锅”为什么会退出中国家庭?看完这些缺点,你就不奇怪了

家居设计师苏哥
2026-08-03 11:10:31
比亚迪超福特、吉利销量飙升495%!中国车企在澳大利亚强势突围

比亚迪超福特、吉利销量飙升495%!中国车企在澳大利亚强势突围

快科技
2026-08-17 10:27:05
诺基亚,中国裁员1600人!

诺基亚,中国裁员1600人!

芯榜
2026-08-16 18:51:10
曝谷爱凌与LV三公子恋情!谷爱凌回应:又有新恋情?总是最后一个知道的,散了散了

曝谷爱凌与LV三公子恋情!谷爱凌回应:又有新恋情?总是最后一个知道的,散了散了

韩小娱
2026-08-16 22:03:10
汪峰把公司1100人砍到400人,700人被裁。他说:“引入AI两个月,剩下400人干得比原来还好”,财务笑开了花。

汪峰把公司1100人砍到400人,700人被裁。他说:“引入AI两个月,剩下400人干得比原来还好”,财务笑开了花。

LULU生活家
2026-08-15 14:17:30
程序员大瓜!“一个月450,自费上班四个月了”,不少程序员为保住手头的工作,每个月要自掏腰包购买AI‑token

程序员大瓜!“一个月450,自费上班四个月了”,不少程序员为保住手头的工作,每个月要自掏腰包购买AI‑token

火山詩话
2026-08-15 13:38:41
石头扫地机P30 Pro上市:8.98cm 超薄机身,开启热活水洗地新时代

石头扫地机P30 Pro上市:8.98cm 超薄机身,开启热活水洗地新时代

中国家电网
2026-08-14 13:20:57
“已经被人种草莓了!”穷人家的大小姐,亲身证明了钱财的重要性!

“已经被人种草莓了!”穷人家的大小姐,亲身证明了钱财的重要性!

林林先生
2026-08-08 07:00:06
体坛冠军史上最大的败类!为捞钱共侍两夫,坑国民44亿后逃到美国

体坛冠军史上最大的败类!为捞钱共侍两夫,坑国民44亿后逃到美国

墨印斋
2026-08-12 10:06:13
医生提醒:每天吃点它,肌肉一周涨回来,再忙也要看2分钟

医生提醒:每天吃点它,肌肉一周涨回来,再忙也要看2分钟

观星赏月
2026-08-16 07:53:46
反击战名将廖锡龙:坚持举报总后勤部副部长谷俊山,结果如何?

反击战名将廖锡龙:坚持举报总后勤部副部长谷俊山,结果如何?

我不是沃神
2026-08-09 06:45:03
美国乱?为啥有钱人还都愿意定居美国?这几个原因很现实

美国乱?为啥有钱人还都愿意定居美国?这几个原因很现实

怪味历史连连看
2026-08-14 02:08:20
王传君体脂率达25.5%,坦言心理压力大,想减到15%,其《披哥》初舞台改编自王鹤棣歌曲,透露王鹤棣要求严格,对其表演评价为“一般”

王传君体脂率达25.5%,坦言心理压力大,想减到15%,其《披哥》初舞台改编自王鹤棣歌曲,透露王鹤棣要求严格,对其表演评价为“一般”

极目新闻
2026-08-16 18:42:43
杨幂沙滩美照

杨幂沙滩美照

草莓解说体育
2026-08-17 08:39:31
西方战略专家曾直言:从国力角度来说,中国领土恐怕最终会全收回

西方战略专家曾直言:从国力角度来说,中国领土恐怕最终会全收回

赶山的姑娘
2026-08-14 18:35:25
暴雨、地灾、山洪三预警齐发,成都这些地方注意

暴雨、地灾、山洪三预警齐发,成都这些地方注意

今日崇州
2026-08-16 17:17:35
比稀土还狠!河南一个县卡住美国军工脖子,五角大楼急得直跺脚

比稀土还狠!河南一个县卡住美国军工脖子,五角大楼急得直跺脚

混沌录
2026-08-12 20:01:15
中国车企集体杀回燃油车!HEV成反攻新武器

中国车企集体杀回燃油车!HEV成反攻新武器

小马姨
2026-08-14 17:16:11
2026-08-17 11:00:49
我是一个粉刷匠2
我是一个粉刷匠2
有态度网友ytd
307文章数 166关注度
往期回顾 全部

科技要闻

马斯克600亿美元买条近路

头条要闻

女生在"如是书院"被一巴掌扇地上 遭讲师掌掴嘴角出血

头条要闻

女生在"如是书院"被一巴掌扇地上 遭讲师掌掴嘴角出血

体育要闻

因莫比莱:普通人的平凡故事

娱乐要闻

辟谣恋情都按谷爱凌这个标准来!

财经要闻

电商“AB货”,乱象背后是行业内卷

汽车要闻

杨洋成001号车主 岚图追光S正式上市

态度原创

家居
教育
手机
艺术
时尚

家居要闻

2026建博会(广州) 公装联探展交流活动

教育要闻

教育对口支援西藏工作会议暨教育系统援藏干部人才座谈会在拉萨召开

手机要闻

国内六大品牌旗舰占比分析,苹果是真的牛!国产华为第一

艺术要闻

看看康生真迹,才知什么叫“眼高于顶”

名校女硕士:已进入“神仙岗”,卷到冒烟,月入1000

无障碍浏览 进入关怀版