最近在研究MCP协议里用向量数据库做长期记忆,比如把对话历史embedding后存到Milvus里。但我有个困惑:每次查询时,到底该把用户query和多少条历史记录一起拼成prompt发给LLM?如果embedding得太多,token直接炸了;太少又怕记忆不连贯。我现在是硬编码top_k=3,但感觉有点傻。而且向量数据库返回的chunk大小也不一样,有没有什么经验公式或者策略,能在MCP的resource/tool模式下平衡召回率和成本?求大佬们指条路,先谢谢了。