Memory search ranks unrelated entities above exact-identifier matches; narrow lookups return oversized aggregate overviews

Aperta
#7,413 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
ai, search

Direzione di ricerca

Start by tracing openviking_search and openviking_find from the opencode plugin into the server-side ranking and response-building paths. Reproduce the exact-identifier and narrow limit=5, read_content=false cases, then inspect the returned ranking and payload sizes. Done means exact matches are not displaced by unrelated high-confidence results and narrow lookups avoid oversized aggregate overviews.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

Semantic memory search (openviking_search / openviking_find via the opencode plugin) repeatedly returns unrelated entities at high confidence (82–88%) ahead of exact-identifier matches, and narrow lookups can return oversized aggregate overview documents that blow the caller's context budget.

Observed across many real agent sessions on self-hosted desktops (consolidated from open-bot reports shpaw415/open-bot#20, #21, #32, #71, #83 — same defect family, filed independently by different agent sessions over several days).

Repro patterns

  1. Exact identifiers lose to unrelated entities. A query containing precise current-task identifiers (round/contract/counter names, e.g. R42 R43 Capstone distribution module version preflight STATIC PE, or filons_pme_quebec filons-pme-quebec-quotidien reports coverage discord-bridge prompt-shield) returns an unrelated entity ("Tripo API V2") first at 82–88%, with the exact-matching task reports/skills absent or far below. Expected: exact technical-token overlap (or a lexical fallback boost) should keep unrelated entities from presenting as high-confidence guidance.
  2. Oversized aggregate overviews. A narrow lookup with limit=5, read_content=false returns aggregate events-overview documents containing many unrelated historical entries — 50 KB to 122 KB responses that truncate. Expected: token-bounded abstracts and per-hit excerpt limits; read_content=false should not inject full aggregate overviews, and leaf memories should be preferred over aggregate ones for narrow queries.

Impact

Agents either follow unrelated "high-confidence" guidance or burn their context budget on one search call. The client-side workaround (find with small limits, exact-identifier filtering, direct URI reads) helps but cannot fix ranking or server-side response sizing.

Happy to provide anonymized query/result pairs if useful — please tell us what shape helps (no user content or credentials are involved in the reports above).

Lingua principale
Python
Stelle
41.8k
Fork
3.4k
Merge medio
19h 29m
PR unite (30g)
500

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di volcengine/OpenViking

Tutte le issue di volcengine/OpenViking

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.