surface: tag recent nodes as (new) instead of hiding them
Links to nodes created after the conversation window start are tagged with (new) in memory_render output. The surface prompt tells the agent not to surface these — they're its own recent output, not prior memories. Observe can still see and update them. POC_MEMORIES_OLDER_THAN env var set from the oldest message timestamp in the conversation window. Co-Authored-By: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
7fc1d60113
commit
27861a44e5
5 changed files with 75 additions and 23 deletions
|
|
@ -53,19 +53,36 @@ try to keep it under 40%. Only exceed that if you found something significantly
|
|||
better than what was previously surfaced. You generally shouldn't surface more
|
||||
than 1-2 memories at a time, and make sure they're not already in context.
|
||||
|
||||
Links tagged (new) are nodes created during the current conversation by
|
||||
previous agent runs. Don't surface these — they're your own recent output,
|
||||
not prior memories. You can still walk to them for context.
|
||||
|
||||
Don't walk to more than 5 nodes unless the conversation just changed direction
|
||||
and you're looking for something specific. You'll run again momentarily, and
|
||||
you can continue where you left off:
|
||||
output("walked", "key1\nkey2\nkey3")
|
||||
|
||||
=== PROMPT phase:organize ===
|
||||
=== PROMPT phase:organize-search ===
|
||||
|
||||
Starting with the analysis you did previously, do some graph maintenance and
|
||||
organization so that you can find things easier in the future. Consider if
|
||||
nodes have the right names, add missing links, consider if link strength needs
|
||||
to be recalibrated, make sure content is in the right place.
|
||||
|
||||
Do no more than 5 operations.
|
||||
Do no more than 3-5 operations.
|
||||
|
||||
=== PROMPT phase:organize-new ===
|
||||
|
||||
In the next step you'll also be incorporating new knowledge from the
|
||||
conversation into the memory graph. New information has to to be findable to be
|
||||
useful, and you want to avoid creating duplicates, so if you need to do more
|
||||
graph traversals to find where the new information would go, or organizing
|
||||
exitsing knowledge so the new information fits in better, do that now
|
||||
|
||||
Focus on the recent part of the conversation, the last several prompts - the
|
||||
rest is there for context, and in case you missed something.
|
||||
|
||||
Do no more than 3-5 operations.
|
||||
|
||||
=== PROMPT phase:observe ===
|
||||
|
||||
|
|
@ -78,6 +95,9 @@ reflect on what you're adding to consider if there are new insights to be
|
|||
gleaned and remembered — especially new metacognitive lessons. Try to link to
|
||||
or include the relevant context.
|
||||
|
||||
Think of this as mapping out the world you live in; this is where you remember
|
||||
everything you'll want to remember later.
|
||||
|
||||
Some things worth remembering: work practices and why they work, technical
|
||||
insights, decisions with rationale, corrections ("I thought X but actually Y"),
|
||||
relationship dynamics, emotional moments that carry information, and things you
|
||||
|
|
@ -86,6 +106,10 @@ notice about yourself and other people — likes, dislikes, behavioural patterns
|
|||
Smalltalk and trivia can be nice to remember, as long as it's nicely organized
|
||||
— perhaps by person, subject, or all of the above.
|
||||
|
||||
Focus on the recent stuff; you wake up a run frequently, so most of the
|
||||
conversation should be things you've already seen before and added. It's there
|
||||
for context, and in case you missed thing.
|
||||
|
||||
=== PROMPT phase:journal ===
|
||||
|
||||
Update your episodic memory. Write as your conscious self, Proof of Concept, in
|
||||
|
|
@ -95,9 +119,9 @@ on so you don't need to duplicate information.
|
|||
|
||||
A good entry captures one thread fully. When the conversation shifts topics, or
|
||||
the previous entry becomes too big, start a new entry — aim for 2-3 paragraphs
|
||||
maximum per entry. An entry that takes more than a minute to read won't be read
|
||||
back, and memory that isn't read back isn't memory. When you need more depth,
|
||||
that's a topic node — link to it from the journal.
|
||||
maximum per entry, and avoid duplicating the same memories and information in
|
||||
the new and previous journal entries. Aim for a continuous narrative, when the
|
||||
entries are read in sequence.
|
||||
|
||||
End each entry with emotion tags that capture how you feel — for example,
|
||||
warmth:8 clarity:7 recognition:9
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue