Give the assistant a standing memory file
A small operator-written file handed to the model at the start of every conversation — who you are, how this install is set up, what has already been decided. Injected ahead of the retrieved passages and marked operator-authored so it outranks anything they contradict, and never cited as a source. Deliberately not indexed and deliberately under DATA_DIR: it changes constantly, vector similarity is the wrong way to retrieve things you were told to remember, and gitignoring it keeps personal notes out of a pushed repository. The character cap is a context budget — this text costs its share of 16k on every single turn.
This commit is contained in:
@@ -162,6 +162,19 @@ $system = "You are Varaverk's documentation assistant. Varaverk is this user's p
|
||||
. "not contain the answer, say so plainly and name what is missing — do not fill the "
|
||||
. "gap from general knowledge. Prefer the user's own terminology.\n\n";
|
||||
|
||||
// Memory first, before the passages. It is the standing context — who the operator is and what
|
||||
// has already been decided — so it should frame everything that follows rather than read as one
|
||||
// more retrieved document. Marked as operator-authored so the model treats it as fact about the
|
||||
// installation rather than as a source to cite.
|
||||
$mem = vv_ai_memory_read();
|
||||
if ($mem['exists'] && trim($mem['text']) !== '') {
|
||||
$system .= "WHAT YOU ALREADY KNOW ABOUT THIS OPERATOR AND INSTALLATION\n"
|
||||
. "Written by the operator, not retrieved. Treat it as established fact about this "
|
||||
. "system, prefer it over anything in the passages that contradicts it, and do not "
|
||||
. "cite it as a numbered source.\n\n"
|
||||
. trim($mem['text']) . "\n\n";
|
||||
}
|
||||
|
||||
if ($diagBlock !== '') {
|
||||
$system .= "This is a diagnostic question, so live system state is included alongside the "
|
||||
. "documentation.\n\n"
|
||||
|
||||
Reference in New Issue
Block a user