Skip to content

Bug: Memory import reports success even when summarization / dedup / embedding steps fail #1303

@CSerht

Description

@CSerht

Pre-submission checklist | 提交前检查

  • I have searched existing issues and this hasn't been mentioned before | 我已搜索现有问题,确认此问题尚未被提及
  • I have read the project documentation and confirmed this issue doesn't already exist | 我已阅读项目文档并确认此问题尚未存在
  • This issue is specific to MemOS and not a general software issue | 该问题是针对 MemOS 的,而不是一般软件问题

Bug Description | 问题描述

memory_search can retrieve relevant candidates in the Initial Retrieval stage, but the final result becomes empty after the LLM Filter stage, even for queries that should obviously match existing memories.

In the logs, the pattern looks like this:

  • Initial Retrieval finds 10 candidates
  • But the final output shows "LLM filter: none relevant"
  • As a result, the user gets no usable memory recall, even though relevant memories clearly exist in the candidate set

This makes recall quality look broken or inconsistent, especially after import/migration into MemOS.

Examples from the screenshots:

  • Query: 你搜一下试试

  • Initial Retrieval: 10 candidates

  • Final result: LLM filter: none relevant

  • Query: openclaw update

  • Initial Retrieval: 10 candidates

  • Final result: LLM filter: none relevant

  • Query: openclaw 原生记忆

  • Initial Retrieval: 10 candidates

  • Final result: LLM filter: none relevant

This suggests that the problem is not only in candidate retrieval, but also in the post-retrieval relevance filtering stage.

How to Reproduce | 如何重现

  1. Import or migrate native OpenClaw memories into MemOS.
  2. Open the MemOS Viewer and confirm that memories exist.
  3. Run memory_search with queries that should clearly match imported memories, for example:
  • openclaw update
  • openclaw 原生记忆
  • 你搜一下试试
  1. Open the Logs page and inspect the retrieval details.
  2. Observe:
  • Initial Retrieval returns multiple candidates (for example 10)
  • But the final result is still empty because the LLM filter marks all candidates as irrelevant

Environment | 环境信息

  • OpenClaw
  • MemOS local memory plugin
  • Memory recall via memory_search
  • Issue observed after importing/migrating native OpenClaw memories into MemOS
  • Logs inspected in MemOS Viewer

Relevant observed behavior:

  • candidate retrieval is working
  • LLM filtering appears over-aggressive or incorrect
  • final recall result becomes empty despite plausible matches existing in the candidate pool

Additional Context | 其他信息

From the logs, this does not look like a pure retrieval failure.

Instead, it appears to be a two-stage issue:

  1. Initial Retrieval works
  • candidates are found successfully
  • the system is able to surface relevant-looking memories into the candidate list
  1. LLM Filter removes everything
  • all candidates are judged as irrelevant
  • final recall becomes empty

This creates a poor user experience because the system appears to "know" something relevant exists, but still returns nothing.

Possible causes:

  • relevance filtering prompt is too strict
  • summarizer/filter model is too conservative
  • imported memories are summarized in a way that weakens relevance judgment
  • query/candidate matching works at retrieval level but fails at LLM judgment level

Suggested improvements:

  • expose a clearer final-state explanation in logs when Initial Retrieval succeeds but LLM Filter removes all results
  • consider fallback behavior when the filter removes all candidates but top candidates are high-confidence
  • consider making the filter less strict for imported memories
  • consider showing both:
  • Initial Retrieval results
  • LLM-filtered results
    in a more explicit/debuggable way

Attached screenshots show:

  • queries with 10 initial matches
  • but final result still reported as LLM filter: none relevant

Willingness to Implement | 实现意愿

  • I'm willing to implement this myself | 我愿意自己解决
  • I would like someone else to implement this | 我希望其他人来解决

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpendingPending items to be addressed | 待解决事项。

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions