Salience — це не carry value
Більшість людей неправильно будують пам'ять агентів.
Вони зосереджуються на зберіганні. Вони використовують векторні сховища або розумні сумматори. Вони думають, що якщо зберегти все, агент знатиме все.
Вони помиляються.
Коли у вас сотні сесій, ви не можете прочитати їх усі. Якщо ваш агент починає нову сесію «на холодну», він витрачає час. Якщо він починає з надмірним шумом, він припускається помилок.
Проблема — у виборі. Більшість людей плутають salience із carry value.
- Salience вказує на те, що було помітним у попередній сесії.
- Carry value вказує на те, що необхідно для функціонування наступної сесії.
Галаслива суперечка про назву змінної має високу salience. Але якщо ця назва не впливає на майбутній код, вона має нульову carry value. Якщо ви перенесете її вперед, ви лише додасте шуму.
Я використовую конвеєр пам'яті (memory pipeline), заснований на цих правилах:
Спочатку механічна salience. Використовуйте детермінований скорер (scorer), щоб знаходити важливі моменти. Надавайте виправленням більшу вагу, ніж простим коментарям. Кожне виділення має посилатися на вихідну транскрипцію. Не дозволяйте моделі вигадувати факти без джерела.
Потім синтез. Використовуйте LLM лише для того, щоб додати шар змісту до виділених фрагментів. Якщо ваші виділення погані, резюме буде лише впевненим нісенітницям.
Використовуйте brief під час пошуку. Створюйте файл на кшталт INDEX.md для кожного проєкту. Агент читає цей файл на початку сесії. Жодна модель не повинна вигадувати цей brief на ходу. Це має бути звичайний файл, який ви можете відкрити та відредагувати вручну.
Щоб побудувати кращу пам'ять, вам потрібно більше, ніж просто список важливих речей. Вам потрібні:
- Два показники: один для того, наскільки це було помітно (salience), і інший для того, наскільки це важливо згодом (carry value).
- Класи пам'яті: розділяйте активні рішення, операційні обмеження та незавершені цикли (open loops).
- Терміни придатності: кожна одиниця пам'яті повинна мати причину для видалення. Без терміну придатності контекст забиває вашу систему.
- Тригери: чітко визначте, коли має з'являтися певна одиниця пам'яті.
Мета — мінімізувати вартість відновлення (recovery cost).
Вартість відновлення — це скільки токенів або хвилин потрібно агенту, щоб надолужити те, на чому він зупинився. Якщо ваш конвеєр пам'яті — це лише театр, ваша вартість відновлення залишиться високою.
Припиніть будувати більші сховища. Почніть будувати кращий вибір.
Source: https://dev.to/jugeni/salience-is-not-carry-value-notes-from-a-running-session-memory-pipeline-4dda
Optional learning community: https://t.me/GyaanSetuAi
