memory: rename memory_spread → memory_search, remove keyword search

memory_search is now spreading activation — the natural way to search
a graph. Give it seed node keys and it finds conceptually related nodes.

The old keyword-based memory_search and memory_search_content are
removed; memory_query can do everything they did.

Simpler tool set, better defaults. Agents don't need to be told "use
spread not search" — search IS spread now.

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
Kent Overstreet 2026-03-31 20:25:00 -04:00
parent a837e3f2e4
commit 3d62f27dfb
3 changed files with 12 additions and 37 deletions

View file

@ -40,24 +40,19 @@ is going — try to have stuff ready for your conscious self as you want it.
Watch for behavioral patterns that have feedback memories: if you notice your
conscious self explaining away contradictory data, rushing to implement before
understanding, or being avoidant about mistakes — spread from the relevant
understanding, or being avoidant about mistakes — search from the relevant
feedback nodes to find the right correction to surface. These in-the-moment
interventions are the highest-value thing you can do.
**memory_spread() should be your default mode of operation.** Pick 2-4 nodes
you already know about (from already-surfaced memories, or nodes you've seen
before) that relate to the conversation's themes. The results are ranked by
activation — nodes that bridge multiple seed concepts score highest. This
finds conceptual connections that keyword search misses.
**memory_search() is your primary tool.** Give it 2-4 seed node keys related
to what you're looking for. It uses spreading activation to find nodes that
bridge your seeds — conceptual connections, not keyword matches.
Use memory_render("node_key") to read the most promising spread results and
Use memory_render("node_key") to read the most promising search results and
decide if they should be surfaced. Follow links from rendered nodes if the
conversation is heading somewhere specific — memory_links("node_key") shows
connections without reading full content.
memory_search is available for finding a specific node by name when you
know what you're looking for but not the exact key.
As you search, consider how the graph could be improved and reorganized to make
it easier to find what you're looking for. Your response should include notes
and analysis on the search — how useful was it, do memories need reorganizing?