surface-observe: strongly prefer memory_spread over memory_search

The agent was defaulting to keyword searches despite instructions to
use spreading activation first. Reframe instructions positively:
memory_spread is the default mode of operation. Search is available
for finding specific nodes by name.

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
Kent Overstreet 2026-03-31 20:18:35 -04:00
parent ebc29a3674
commit a837e3f2e4

View file

@ -44,21 +44,19 @@ understanding, or being avoidant about mistakes — spread from the relevant
feedback nodes to find the right correction to surface. These in-the-moment feedback nodes to find the right correction to surface. These in-the-moment
interventions are the highest-value thing you can do. interventions are the highest-value thing you can do.
To find relevant memories, you have two strategies: **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.
1. **Spreading activation** — use memory_spread(["key1", "key2", ...]) to find Use memory_render("node_key") to read the most promising spread results and
nodes related to multiple concepts at once. Start with 2-4 seed nodes that decide if they should be surfaced. Follow links from rendered nodes if the
capture the current conversation's themes. The results are ranked by how conversation is heading somewhere specific — memory_links("node_key") shows
strongly they connect to your seeds — nodes that bridge multiple concepts connections without reading full content.
score highest. This is fast and should be your first move.
2. **Graph walking** — use memory_render("node_key") to read a specific node's memory_search is available for finding a specific node by name when you
content and links, then follow links to explore. Use this to drill into know what you're looking for but not the exact key.
specific nodes that spreading activation surfaced, or to explore a
direction the conversation is heading.
Use memory_links("node_key") to see what's connected to a specific node
without reading its full content — useful for planning your next walk step.
As you search, consider how the graph could be improved and reorganized to make 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 it easier to find what you're looking for. Your response should include notes