Split memory into assisted and learned, and deny learned the precedence assisted has
This commit is contained in:
@@ -746,13 +746,29 @@ if ($scope !== '') {
|
||||
. "somewhere else, answer anyway and tell them plainly where it actually is.\n\n";
|
||||
}
|
||||
|
||||
$mem = vv_ai_memory_read();
|
||||
if ($mem['exists'] && trim($mem['text']) !== '') {
|
||||
// Two blocks, two different standings, and the difference is stated to the model rather than
|
||||
// implied. The assisted block keeps the precedence it always had. The learned block explicitly
|
||||
// does not get it: those lines were proposed by a model, and a model whose own notes are ranked
|
||||
// above the retrieved source would restate a wrong conclusion indefinitely, growing more
|
||||
// confident each time it read its own claim back.
|
||||
$mem = vv_ai_memory_assemble($profile);
|
||||
|
||||
if (trim($mem['assisted']) !== '') {
|
||||
$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";
|
||||
. trim($mem['assisted']) . "\n\n";
|
||||
}
|
||||
|
||||
if (trim($mem['learned']) !== '') {
|
||||
$system .= "NOTES YOU WROTE EARLIER, KEPT BY THE OPERATOR\n"
|
||||
. "These were proposed by you on previous turns and approved for keeping. They are "
|
||||
. "hints, not facts. Anything in the passages above, and anything in the operator's "
|
||||
. "own notes, outranks them — if a passage contradicts a note here, the passage is "
|
||||
. "right and the note is stale. Do not cite them as numbered sources, and do not "
|
||||
. "repeat one as established fact if nothing retrieved supports it.\n\n"
|
||||
. trim($mem['learned']) . "\n\n";
|
||||
}
|
||||
|
||||
if ($diagBlock !== '') {
|
||||
|
||||
Reference in New Issue
Block a user