chore(i18n): refresh uk translations
This commit is contained in:
parent
4634a46063
commit
240241503c
@ -3,34 +3,34 @@ read_when:
|
||||
- Ви хочете зрозуміти, для чого потрібна активна пам’ять
|
||||
- Ви хочете увімкнути активну пам’ять для розмовного агента
|
||||
- Ви хочете налаштувати поведінку активної пам’яті, не вмикаючи її всюди
|
||||
summary: Підлеглий агент блокувальної пам’яті, що належить плагіну та впроваджує релевантну пам’ять в інтерактивні сеанси чату
|
||||
summary: Плагінний блокувальний підагент пам’яті, який впроваджує релевантну пам’ять в інтерактивні сеанси чату
|
||||
title: Активна пам’ять
|
||||
x-i18n:
|
||||
generated_at: "2026-04-09T16:29:05Z"
|
||||
generated_at: "2026-04-11T04:03:44Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 6a51437df4ae4d9d57764601dfcfcdadb269e2895bf49dc82b9f496c1b3cb341
|
||||
source_hash: e8b0e6539e09678e9e8def68795f8bcb992f98509423da3da3123eda88ec1dd5
|
||||
source_path: concepts/active-memory.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Активна пам’ять
|
||||
|
||||
Активна пам’ять — це необов’язковий підлеглий агент блокувальної пам’яті, що належить плагіну та запускається
|
||||
перед основною відповіддю для придатних розмовних сеансів.
|
||||
Активна пам’ять — це необов’язковий плагінний блокувальний підагент пам’яті, який запускається
|
||||
перед основною відповіддю для відповідних розмовних сеансів.
|
||||
|
||||
Вона існує тому, що більшість систем пам’яті є потужними, але реактивними. Вони покладаються на
|
||||
те, що основний агент сам вирішить, коли шукати в пам’яті, або на те, що користувач скаже
|
||||
щось на кшталт «запам’ятай це» чи «пошукай у пам’яті». На той момент мить, коли пам’ять могла б
|
||||
зробити відповідь природнішою, уже минула.
|
||||
те, що основний агент вирішить, коли шукати в пам’яті, або на те, що користувач скаже щось
|
||||
на кшталт «запам’ятай це» чи «пошукай у пам’яті». На той момент мить, коли пам’ять могла б
|
||||
зробити відповідь природною, уже минула.
|
||||
|
||||
Активна пам’ять дає системі одну обмежену можливість показати релевантну пам’ять
|
||||
до того, як буде згенеровано основну відповідь.
|
||||
до того, як буде згенерована основна відповідь.
|
||||
|
||||
## Вставте це у свого агента
|
||||
|
||||
Вставте це у свого агента, якщо хочете ввімкнути Активну пам’ять із
|
||||
самодостатнім налаштуванням із безпечними значеннями за замовчуванням:
|
||||
Вставте це у свого агента, якщо хочете ввімкнути активну пам’ять із
|
||||
самодостатнім налаштуванням за замовчуванням із безпечними параметрами:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -56,17 +56,18 @@ x-i18n:
|
||||
}
|
||||
```
|
||||
|
||||
Це вмикає плагін для агента `main`, за замовчуванням обмежує його лише
|
||||
сеансами у стилі прямих повідомлень, дозволяє спершу успадковувати поточну модель сеансу, а
|
||||
також зберігає вбудований віддалений резервний варіант, якщо явна або успадкована модель недоступна.
|
||||
Це вмикає плагін для агента `main`, за замовчуванням обмежує його сеансами
|
||||
у стилі прямих повідомлень, дає змогу спочатку успадкувати модель поточного сеансу і
|
||||
водночас дозволяє використовувати вбудований віддалений резервний варіант, якщо явна або
|
||||
успадкована модель недоступна.
|
||||
|
||||
Після цього перезапустіть gateway:
|
||||
Після цього перезапустіть шлюз:
|
||||
|
||||
```bash
|
||||
node scripts/run-node.mjs gateway --profile dev
|
||||
openclaw gateway
|
||||
```
|
||||
|
||||
Щоб переглянути її роботу наживо в розмові:
|
||||
Щоб переглянути це наживо в розмові:
|
||||
|
||||
```text
|
||||
/verbose on
|
||||
@ -74,7 +75,7 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
|
||||
## Увімкнення активної пам’яті
|
||||
|
||||
Найбезпечніше налаштування:
|
||||
Найбезпечніше налаштування таке:
|
||||
|
||||
1. увімкнути плагін
|
||||
2. націлити його на одного розмовного агента
|
||||
@ -105,10 +106,10 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
}
|
||||
```
|
||||
|
||||
Потім перезапустіть gateway:
|
||||
Потім перезапустіть шлюз:
|
||||
|
||||
```bash
|
||||
node scripts/run-node.mjs gateway --profile dev
|
||||
openclaw gateway
|
||||
```
|
||||
|
||||
Що це означає:
|
||||
@ -116,20 +117,20 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
- `plugins.entries.active-memory.enabled: true` вмикає плагін
|
||||
- `config.agents: ["main"]` підключає до активної пам’яті лише агента `main`
|
||||
- `config.allowedChatTypes: ["direct"]` за замовчуванням залишає активну пам’ять увімкненою лише для сеансів у стилі прямих повідомлень
|
||||
- якщо `config.model` не задано, активна пам’ять спочатку успадковує поточну модель сеансу
|
||||
- `config.modelFallbackPolicy: "default-remote"` зберігає вбудований віддалений резервний варіант за замовчуванням, якщо явна або успадкована модель недоступна
|
||||
- якщо `config.model` не задано, активна пам’ять спочатку успадковує модель поточного сеансу
|
||||
- `config.modelFallbackPolicy: "default-remote"` зберігає вбудований віддалений резервний варіант як типовий, коли явна або успадкована модель недоступна
|
||||
- `config.promptStyle: "balanced"` використовує типовий універсальний стиль запиту для режиму `recent`
|
||||
- активна пам’ять однаково запускається лише в придатних інтерактивних постійних чат-сеансах
|
||||
- активна пам’ять усе одно запускається лише для відповідних інтерактивних постійних сеансів чату
|
||||
|
||||
## Як це побачити
|
||||
|
||||
Активна пам’ять впроваджує прихований системний контекст для моделі. Вона не показує
|
||||
необроблені теги `<active_memory_plugin>...</active_memory_plugin>` клієнту.
|
||||
клієнту сирі теги `<active_memory_plugin>...</active_memory_plugin>`.
|
||||
|
||||
## Перемикач сеансу
|
||||
|
||||
Використовуйте команду плагіна, якщо хочете призупинити або відновити активну пам’ять для
|
||||
поточного чат-сеансу без редагування конфігурації:
|
||||
поточного сеансу чату без редагування конфігурації:
|
||||
|
||||
```text
|
||||
/active-memory status
|
||||
@ -137,8 +138,8 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
/active-memory on
|
||||
```
|
||||
|
||||
Це має область дії сеансу. Це не змінює
|
||||
`plugins.entries.active-memory.enabled`, націлювання агента чи іншу глобальну
|
||||
Це налаштування в межах сеансу. Воно не змінює
|
||||
`plugins.entries.active-memory.enabled`, націлення на агентів чи іншу глобальну
|
||||
конфігурацію.
|
||||
|
||||
Якщо ви хочете, щоб команда записувала конфігурацію та призупиняла або відновлювала активну пам’ять для
|
||||
@ -151,11 +152,11 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
```
|
||||
|
||||
Глобальна форма записує `plugins.entries.active-memory.config.enabled`. Вона залишає
|
||||
`plugins.entries.active-memory.enabled` увімкненим, щоб команда й надалі була доступна для
|
||||
`plugins.entries.active-memory.enabled` увімкненим, щоб команда й надалі була доступною для
|
||||
повторного ввімкнення активної пам’яті пізніше.
|
||||
|
||||
Якщо ви хочете побачити, що робить активна пам’ять у поточному сеансі, увімкніть докладний
|
||||
режим для цього сеансу:
|
||||
Якщо ви хочете бачити, що робить активна пам’ять у поточному сеансі, увімкніть докладний режим
|
||||
для цього сеансу:
|
||||
|
||||
```text
|
||||
/verbose on
|
||||
@ -164,26 +165,26 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
Коли докладний режим увімкнено, OpenClaw може показувати:
|
||||
|
||||
- рядок стану активної пам’яті, наприклад `Active Memory: ok 842ms recent 34 chars`
|
||||
- зрозумілий налагоджувальний підсумок, наприклад `Active Memory Debug: Lemon pepper wings with blue cheese.`
|
||||
- зрозумілий підсумок для налагодження, наприклад `Active Memory Debug: Lemon pepper wings with blue cheese.`
|
||||
|
||||
Ці рядки походять із того самого проходу активної пам’яті, який живить прихований
|
||||
системний контекст, але відформатовані для людей замість показу необробленої розмітки
|
||||
Ці рядки походять із того самого проходу активної пам’яті, який подає прихований
|
||||
системний контекст, але вони відформатовані для людей замість показу сирої розмітки
|
||||
запиту.
|
||||
|
||||
За замовчуванням стенограма підлеглого агента блокувальної пам’яті є тимчасовою та видаляється
|
||||
після завершення запуску.
|
||||
За замовчуванням стенограма блокувального підагента пам’яті є тимчасовою і видаляється
|
||||
після завершення виконання.
|
||||
|
||||
Приклад потоку:
|
||||
|
||||
```text
|
||||
/verbose on
|
||||
які крильця мені замовити?
|
||||
what wings should i order?
|
||||
```
|
||||
|
||||
Очікувана видима форма відповіді:
|
||||
|
||||
```text
|
||||
...звичайна відповідь помічника...
|
||||
...normal assistant reply...
|
||||
|
||||
🧩 Active Memory: ok 842ms recent 34 chars
|
||||
🔎 Active Memory Debug: Lemon pepper wings with blue cheese.
|
||||
@ -191,34 +192,34 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
|
||||
## Коли вона запускається
|
||||
|
||||
Активна пам’ять використовує два етапи перевірки:
|
||||
Активна пам’ять використовує два фільтри:
|
||||
|
||||
1. **Явне ввімкнення в конфігурації**
|
||||
Плагін має бути ввімкнений, а поточний ідентифікатор агента має бути присутній у
|
||||
Плагін має бути ввімкнений, а поточний id агента має бути вказаний у
|
||||
`plugins.entries.active-memory.config.agents`.
|
||||
2. **Сувора придатність під час виконання**
|
||||
Навіть коли активна пам’ять увімкнена й націлена, вона запускається лише для придатних
|
||||
інтерактивних постійних чат-сеансів.
|
||||
2. **Строга відповідність умовам середовища виконання**
|
||||
Навіть якщо її ввімкнено і націлено, активна пам’ять запускається лише для відповідних
|
||||
інтерактивних постійних сеансів чату.
|
||||
|
||||
Фактичне правило таке:
|
||||
|
||||
```text
|
||||
плагін увімкнено
|
||||
plugin enabled
|
||||
+
|
||||
ідентифікатор агента націлено
|
||||
agent id targeted
|
||||
+
|
||||
дозволений тип чату
|
||||
allowed chat type
|
||||
+
|
||||
придатний інтерактивний постійний чат-сеанс
|
||||
eligible interactive persistent chat session
|
||||
=
|
||||
активна пам’ять запускається
|
||||
active memory runs
|
||||
```
|
||||
|
||||
Якщо будь-яка з цих умов не виконується, активна пам’ять не запускається.
|
||||
|
||||
## Типи сеансів
|
||||
|
||||
`config.allowedChatTypes` визначає, у яких типах розмов взагалі може працювати Активна
|
||||
`config.allowedChatTypes` визначає, у яких типах розмов узагалі може працювати Активна
|
||||
пам’ять.
|
||||
|
||||
Значення за замовчуванням:
|
||||
@ -227,8 +228,8 @@ node scripts/run-node.mjs gateway --profile dev
|
||||
allowedChatTypes: ["direct"]
|
||||
```
|
||||
|
||||
Це означає, що Активна пам’ять за замовчуванням працює в сеансах у стилі прямих повідомлень, але
|
||||
не в групових сеансах або сеансах каналів, якщо ви явно їх не ввімкнете.
|
||||
Це означає, що за замовчуванням Активна пам’ять працює в сеансах у стилі прямих повідомлень, але
|
||||
не в групових сеансах або сеансах каналів, якщо ви явно не ввімкнете їх.
|
||||
|
||||
Приклади:
|
||||
|
||||
@ -244,19 +245,19 @@ allowedChatTypes: ["direct", "group"]
|
||||
allowedChatTypes: ["direct", "group", "channel"]
|
||||
```
|
||||
|
||||
## Де вона запускається
|
||||
## Де вона працює
|
||||
|
||||
Активна пам’ять — це функція покращення розмови, а не загальноплатформова
|
||||
Активна пам’ять — це функція покращення розмов, а не загальноплатформна
|
||||
функція інференсу.
|
||||
|
||||
| Поверхня | Активна пам’ять запускається? |
|
||||
| ------------------------------------------------------------------- | ------------------------------------------------------- |
|
||||
| Постійні сеанси Control UI / вебчату | Так, якщо плагін увімкнено і агента націлено |
|
||||
| Інші інтерактивні сеанси каналів на тому самому шляху постійного чату | Так, якщо плагін увімкнено і агента націлено |
|
||||
| Безголові одноразові запуски | Ні |
|
||||
| Запуски heartbeat/у фоновому режимі | Ні |
|
||||
| Постійні сеанси Control UI / вебчату | Так, якщо плагін увімкнено і агент націлений |
|
||||
| Інші інтерактивні сеанси каналів на тому самому шляху постійного чату | Так, якщо плагін увімкнено і агент націлений |
|
||||
| Одноразові headless-запуски | Ні |
|
||||
| Запуски heartbeat/фонові запуски | Ні |
|
||||
| Загальні внутрішні шляхи `agent-command` | Ні |
|
||||
| Виконання підлеглих агентів/внутрішніх допоміжних компонентів | Ні |
|
||||
| Виконання підагентів/внутрішніх допоміжних компонентів | Ні |
|
||||
|
||||
## Навіщо її використовувати
|
||||
|
||||
@ -266,56 +267,56 @@ allowedChatTypes: ["direct", "group", "channel"]
|
||||
- агент має змістовну довгострокову пам’ять для пошуку
|
||||
- безперервність і персоналізація важливіші за чистий детермінізм запиту
|
||||
|
||||
Вона особливо добре працює для:
|
||||
Вона особливо добре підходить для:
|
||||
|
||||
- стабільних уподобань
|
||||
- сталих уподобань
|
||||
- повторюваних звичок
|
||||
- довгострокового контексту користувача, який має природно з’являтися
|
||||
|
||||
Вона погано підходить для:
|
||||
|
||||
- автоматизації
|
||||
- внутрішніх робітників
|
||||
- внутрішніх працівників
|
||||
- одноразових API-завдань
|
||||
- місць, де прихована персоналізація була б неочікуваною
|
||||
- місць, де прихована персоналізація була б несподіваною
|
||||
|
||||
## Як це працює
|
||||
|
||||
Форма під час виконання така:
|
||||
Форма виконання така:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
U["Повідомлення користувача"] --> Q["Побудувати запит до пам’яті"]
|
||||
Q --> R["Підлеглий агент блокувальної пам’яті Активної пам’яті"]
|
||||
R -->|NONE or empty| M["Основна відповідь"]
|
||||
R -->|relevant summary| I["Додати прихований системний контекст active_memory_plugin"]
|
||||
I --> M["Основна відповідь"]
|
||||
U["User Message"] --> Q["Build Memory Query"]
|
||||
Q --> R["Active Memory Blocking Memory Sub-Agent"]
|
||||
R -->|NONE or empty| M["Main Reply"]
|
||||
R -->|relevant summary| I["Append Hidden active_memory_plugin System Context"]
|
||||
I --> M["Main Reply"]
|
||||
```
|
||||
|
||||
Підлеглий агент блокувальної пам’яті може використовувати лише:
|
||||
Блокувальний підагент пам’яті може використовувати лише:
|
||||
|
||||
- `memory_search`
|
||||
- `memory_get`
|
||||
|
||||
Якщо з’єднання слабке, він має повертати `NONE`.
|
||||
Якщо з’єднання слабке, він має повернути `NONE`.
|
||||
|
||||
## Режими запиту
|
||||
|
||||
`config.queryMode` визначає, який обсяг розмови бачить підлеглий агент блокувальної пам’яті.
|
||||
`config.queryMode` визначає, яку частину розмови бачить блокувальний підагент пам’яті.
|
||||
|
||||
## Стилі запиту
|
||||
|
||||
`config.promptStyle` визначає, наскільки охоче або суворо підлеглий агент блокувальної пам’яті
|
||||
`config.promptStyle` визначає, наскільки охоче або строго блокувальний підагент пам’яті
|
||||
вирішує, чи повертати пам’ять.
|
||||
|
||||
Доступні стилі:
|
||||
|
||||
- `balanced`: універсальне значення за замовчуванням для режиму `recent`
|
||||
- `strict`: найменш охочий; найкраще, коли ви хочете мінімального проникнення з навколишнього контексту
|
||||
- `contextual`: найсприятливіший для безперервності; найкраще, коли історія розмови має більше значення
|
||||
- `balanced`: типовий універсальний варіант для режиму `recent`
|
||||
- `strict`: найменш охочий; найкраще підходить, коли ви хочете мінімального впливу сусіднього контексту
|
||||
- `contextual`: найсприятливіший для безперервності; найкраще підходить, коли історія розмови має більшу вагу
|
||||
- `recall-heavy`: охочіше показує пам’ять за слабших, але все ще правдоподібних збігів
|
||||
- `precision-heavy`: агресивно віддає перевагу `NONE`, якщо збіг не є очевидним
|
||||
- `preference-only`: оптимізований для обраного, звичок, рутин, смаків і повторюваних особистих фактів
|
||||
- `preference-only`: оптимізовано для улюбленого, звичок, рутин, смаків і повторюваних особистих фактів
|
||||
|
||||
Типове зіставлення, коли `config.promptStyle` не задано:
|
||||
|
||||
@ -325,7 +326,7 @@ recent -> balanced
|
||||
full -> contextual
|
||||
```
|
||||
|
||||
Якщо ви явно задасте `config.promptStyle`, це перевизначення матиме пріоритет.
|
||||
Якщо ви явно задасте `config.promptStyle`, цей пріоритет матиме перевагу.
|
||||
|
||||
Приклад:
|
||||
|
||||
@ -333,20 +334,20 @@ full -> contextual
|
||||
promptStyle: "preference-only"
|
||||
```
|
||||
|
||||
## Політика резервного вибору моделі
|
||||
## Політика резервного варіанта моделі
|
||||
|
||||
Якщо `config.model` не задано, Активна пам’ять намагається визначити модель у такому порядку:
|
||||
|
||||
```text
|
||||
явна модель плагіна
|
||||
-> поточна модель сеансу
|
||||
-> основна модель агента
|
||||
-> необов’язковий вбудований віддалений резервний варіант
|
||||
explicit plugin model
|
||||
-> current session model
|
||||
-> agent primary model
|
||||
-> optional built-in remote fallback
|
||||
```
|
||||
|
||||
`config.modelFallbackPolicy` керує останнім кроком.
|
||||
|
||||
Значення за замовчуванням:
|
||||
За замовчуванням:
|
||||
|
||||
```json5
|
||||
modelFallbackPolicy: "default-remote"
|
||||
@ -359,58 +360,58 @@ modelFallbackPolicy: "resolved-only"
|
||||
```
|
||||
|
||||
Використовуйте `resolved-only`, якщо хочете, щоб Активна пам’ять пропускала пригадування замість
|
||||
переходу до вбудованого віддаленого значення за замовчуванням, коли явна або успадкована модель
|
||||
використання вбудованого віддаленого типового резервного варіанта, коли явна або успадкована модель
|
||||
недоступна.
|
||||
|
||||
## Розширені варіанти обходу
|
||||
## Розширені аварійні налаштування
|
||||
|
||||
Ці параметри навмисно не входять до рекомендованого налаштування.
|
||||
|
||||
`config.thinking` може перевизначати рівень мислення підлеглого агента блокувальної пам’яті:
|
||||
`config.thinking` може перевизначити рівень thinking для блокувального підагента пам’яті:
|
||||
|
||||
```json5
|
||||
thinking: "medium"
|
||||
```
|
||||
|
||||
Значення за замовчуванням:
|
||||
За замовчуванням:
|
||||
|
||||
```json5
|
||||
thinking: "off"
|
||||
```
|
||||
|
||||
Не вмикайте це за замовчуванням. Активна пам’ять працює на шляху формування відповіді, тому
|
||||
додатковий час на мислення безпосередньо збільшує видиму для користувача затримку.
|
||||
Не вмикайте це за замовчуванням. Активна пам’ять працює на шляху відповіді, тож додатковий
|
||||
час на thinking безпосередньо збільшує затримку, помітну користувачу.
|
||||
|
||||
`config.promptAppend` додає додаткові інструкції оператора після типового запиту Активної
|
||||
пам’яті й перед контекстом розмови:
|
||||
пам’яті та перед контекстом розмови:
|
||||
|
||||
```json5
|
||||
promptAppend: "Надавайте перевагу стабільним довгостроковим уподобанням над одноразовими подіями."
|
||||
promptAppend: "Prefer stable long-term preferences over one-off events."
|
||||
```
|
||||
|
||||
`config.promptOverride` замінює типовий запит Активної пам’яті. OpenClaw
|
||||
усе одно додає контекст розмови після нього:
|
||||
|
||||
```json5
|
||||
promptOverride: "Ви агент пошуку в пам’яті. Поверніть NONE або один компактний факт про користувача."
|
||||
promptOverride: "You are a memory search agent. Return NONE or one compact user fact."
|
||||
```
|
||||
|
||||
Налаштовувати запит не рекомендується, якщо тільки ви цілеспрямовано не тестуєте інший
|
||||
контракт пригадування. Типовий запит налаштовано так, щоб повертати або `NONE`,
|
||||
або компактний контекст фактів про користувача для основної моделі.
|
||||
Налаштування запиту не рекомендується, якщо ви цілеспрямовано не тестуєте інший
|
||||
контракт пригадування. Типовий запит налаштований на повернення або `NONE`,
|
||||
або компактного контексту фактів про користувача для основної моделі.
|
||||
|
||||
### `message`
|
||||
|
||||
Надсилається лише останнє повідомлення користувача.
|
||||
|
||||
```text
|
||||
Лише останнє повідомлення користувача
|
||||
Latest user message only
|
||||
```
|
||||
|
||||
Використовуйте це, коли:
|
||||
|
||||
- вам потрібна найвища швидкість роботи
|
||||
- вам потрібен найсильніший ухил у бік пригадування стабільних уподобань
|
||||
- ви хочете найшвидшу поведінку
|
||||
- ви хочете найсильніший ухил у бік пригадування сталих уподобань
|
||||
- наступні ходи не потребують розмовного контексту
|
||||
|
||||
Рекомендований тайм-аут:
|
||||
@ -419,21 +420,21 @@ promptOverride: "Ви агент пошуку в пам’яті. Поверні
|
||||
|
||||
### `recent`
|
||||
|
||||
Надсилається останнє повідомлення користувача та невеликий хвіст нещодавньої розмови.
|
||||
Надсилається останнє повідомлення користувача плюс невеликий хвіст нещодавньої розмови.
|
||||
|
||||
```text
|
||||
Хвіст нещодавньої розмови:
|
||||
Recent conversation tail:
|
||||
user: ...
|
||||
assistant: ...
|
||||
user: ...
|
||||
|
||||
Останнє повідомлення користувача:
|
||||
Latest user message:
|
||||
...
|
||||
```
|
||||
|
||||
Використовуйте це, коли:
|
||||
|
||||
- вам потрібен кращий баланс між швидкістю та прив’язкою до розмови
|
||||
- ви хочете кращий баланс між швидкістю та опорою на розмовний контекст
|
||||
- подальші запитання часто залежать від кількох останніх ходів
|
||||
|
||||
Рекомендований тайм-аут:
|
||||
@ -442,10 +443,10 @@ user: ...
|
||||
|
||||
### `full`
|
||||
|
||||
Уся розмова надсилається підлеглому агенту блокувальної пам’яті.
|
||||
Уся розмова надсилається блокувальному підагенту пам’яті.
|
||||
|
||||
```text
|
||||
Повний контекст розмови:
|
||||
Full conversation context:
|
||||
user: ...
|
||||
assistant: ...
|
||||
user: ...
|
||||
@ -455,31 +456,31 @@ user: ...
|
||||
Використовуйте це, коли:
|
||||
|
||||
- найвища якість пригадування важливіша за затримку
|
||||
- розмова містить важливу підготовчу інформацію далеко вище по гілці
|
||||
- розмова містить важливі підготовчі дані далеко вгорі гілки
|
||||
|
||||
Рекомендований тайм-аут:
|
||||
|
||||
- суттєво збільшуйте його порівняно з `message` або `recent`
|
||||
- значно збільште його порівняно з `message` або `recent`
|
||||
- починайте приблизно з `15000` мс або вище залежно від розміру гілки
|
||||
|
||||
Загалом тайм-аут має збільшуватися разом із розміром контексту:
|
||||
Загалом тайм-аут має зростати разом із розміром контексту:
|
||||
|
||||
```text
|
||||
message < recent < full
|
||||
```
|
||||
|
||||
## Збереження стенограм
|
||||
## Збереження стенограми
|
||||
|
||||
Запуски підлеглого агента блокувальної пам’яті активної пам’яті створюють справжню
|
||||
стенограму `session.jsonl` під час виклику підлеглого агента блокувальної пам’яті.
|
||||
Запуски блокувального підагента пам’яті активної пам’яті створюють справжню стенограму `session.jsonl`
|
||||
під час виклику блокувального підагента пам’яті.
|
||||
|
||||
За замовчуванням ця стенограма є тимчасовою:
|
||||
|
||||
- вона записується до тимчасового каталогу
|
||||
- вона використовується лише для запуску підлеглого агента блокувальної пам’яті
|
||||
- вона видаляється одразу після завершення запуску
|
||||
- її записують до тимчасового каталогу
|
||||
- вона використовується лише для виконання блокувального підагента пам’яті
|
||||
- її видаляють одразу після завершення виконання
|
||||
|
||||
Якщо ви хочете зберігати ці стенограми підлеглого агента блокувальної пам’яті на диску для налагодження або
|
||||
Якщо ви хочете зберігати ці стенограми блокувального підагента пам’яті на диску для налагодження або
|
||||
перевірки, явно ввімкніть збереження:
|
||||
|
||||
```json5
|
||||
@ -499,10 +500,10 @@ message < recent < full
|
||||
}
|
||||
```
|
||||
|
||||
Коли цю функцію ввімкнено, активна пам’ять зберігає стенограми в окремому каталозі в папці
|
||||
Коли це ввімкнено, активна пам’ять зберігає стенограми в окремому каталозі в папці
|
||||
сеансів цільового агента, а не в основному шляху стенограми розмови користувача.
|
||||
|
||||
Типова структура концептуально виглядає так:
|
||||
Типова структура концептуально така:
|
||||
|
||||
```text
|
||||
agents/<agent>/sessions/active-memory/<blocking-memory-sub-agent-session-id>.jsonl
|
||||
@ -512,8 +513,8 @@ agents/<agent>/sessions/active-memory/<blocking-memory-sub-agent-session-id>.jso
|
||||
|
||||
Використовуйте це обережно:
|
||||
|
||||
- стенограми підлеглого агента блокувальної пам’яті можуть швидко накопичуватися в активних сеансах
|
||||
- режим запиту `full` може дублювати велику частину контексту розмови
|
||||
- стенограми блокувального підагента пам’яті можуть швидко накопичуватися в активних сеансах
|
||||
- режим запиту `full` може дублювати значну частину контексту розмови
|
||||
- ці стенограми містять прихований контекст запиту та пригадані спогади
|
||||
|
||||
## Конфігурація
|
||||
@ -529,29 +530,29 @@ plugins.entries.active-memory
|
||||
| Ключ | Тип | Значення |
|
||||
| --------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
||||
| `enabled` | `boolean` | Вмикає сам плагін |
|
||||
| `config.agents` | `string[]` | Ідентифікатори агентів, які можуть використовувати активну пам’ять |
|
||||
| `config.model` | `string` | Необов’язкове посилання на модель підлеглого агента блокувальної пам’яті; якщо не задано, активна пам’ять використовує поточну модель сеансу |
|
||||
| `config.queryMode` | `"message" \| "recent" \| "full"` | Керує тим, який обсяг розмови бачить підлеглий агент блокувальної пам’яті |
|
||||
| `config.promptStyle` | `"balanced" \| "strict" \| "contextual" \| "recall-heavy" \| "precision-heavy" \| "preference-only"` | Керує тим, наскільки охоче або суворо підлеглий агент блокувальної пам’яті вирішує, чи повертати пам’ять |
|
||||
| `config.thinking` | `"off" \| "minimal" \| "low" \| "medium" \| "high" \| "xhigh" \| "adaptive"` | Розширене перевизначення рівня мислення для підлеглого агента блокувальної пам’яті; типово `off` для швидкості |
|
||||
| `config.agents` | `string[]` | ID агентів, які можуть використовувати активну пам’ять |
|
||||
| `config.model` | `string` | Необов’язкове посилання на модель блокувального підагента пам’яті; якщо не задано, активна пам’ять використовує модель поточного сеансу |
|
||||
| `config.queryMode` | `"message" \| "recent" \| "full"` | Визначає, яку частину розмови бачить блокувальний підагент пам’яті |
|
||||
| `config.promptStyle` | `"balanced" \| "strict" \| "contextual" \| "recall-heavy" \| "precision-heavy" \| "preference-only"` | Визначає, наскільки охоче або строго блокувальний підагент пам’яті вирішує, чи повертати пам’ять |
|
||||
| `config.thinking` | `"off" \| "minimal" \| "low" \| "medium" \| "high" \| "xhigh" \| "adaptive"` | Розширене перевизначення thinking для блокувального підагента пам’яті; за замовчуванням `off` для швидкості |
|
||||
| `config.promptOverride` | `string` | Розширена повна заміна запиту; не рекомендується для звичайного використання |
|
||||
| `config.promptAppend` | `string` | Розширені додаткові інструкції, що додаються до типового або перевизначеного запиту |
|
||||
| `config.timeoutMs` | `number` | Жорсткий тайм-аут для підлеглого агента блокувальної пам’яті |
|
||||
| `config.promptAppend` | `string` | Розширені додаткові інструкції, додані до типового або перевизначеного запиту |
|
||||
| `config.timeoutMs` | `number` | Жорсткий тайм-аут для блокувального підагента пам’яті |
|
||||
| `config.maxSummaryChars` | `number` | Максимальна загальна кількість символів, дозволена в підсумку active-memory |
|
||||
| `config.logging` | `boolean` | Виводить журнали активної пам’яті під час налаштування |
|
||||
| `config.persistTranscripts` | `boolean` | Зберігає стенограми підлеглого агента блокувальної пам’яті на диску замість видалення тимчасових файлів |
|
||||
| `config.transcriptDir` | `string` | Відносний каталог стенограм підлеглого агента блокувальної пам’яті в папці сеансів агента |
|
||||
| `config.persistTranscripts` | `boolean` | Зберігає стенограми блокувального підагента пам’яті на диску замість видалення тимчасових файлів |
|
||||
| `config.transcriptDir` | `string` | Відносний каталог стенограм блокувального підагента пам’яті в папці сеансів агента |
|
||||
|
||||
Корисні поля для налаштування:
|
||||
|
||||
| Ключ | Тип | Значення |
|
||||
| ----------------------------- | -------- | ------------------------------------------------------------- |
|
||||
| `config.maxSummaryChars` | `number` | Максимальна загальна кількість символів, дозволена в підсумку active-memory |
|
||||
| `config.recentUserTurns` | `number` | Попередні ходи користувача, які слід включити, коли `queryMode` має значення `recent` |
|
||||
| `config.recentAssistantTurns` | `number` | Попередні ходи помічника, які слід включити, коли `queryMode` має значення `recent` |
|
||||
| `config.recentUserChars` | `number` | Максимальна кількість символів на кожен недавній хід користувача |
|
||||
| `config.recentAssistantChars` | `number` | Максимальна кількість символів на кожен недавній хід помічника |
|
||||
| `config.cacheTtlMs` | `number` | Повторне використання кешу для повторюваних однакових запитів |
|
||||
| `config.recentUserTurns` | `number` | Попередні ходи користувача, які слід включити, коли `queryMode` дорівнює `recent` |
|
||||
| `config.recentAssistantTurns` | `number` | Попередні ходи помічника, які слід включити, коли `queryMode` дорівнює `recent` |
|
||||
| `config.recentUserChars` | `number` | Максимум символів на один нещодавній хід користувача |
|
||||
| `config.recentAssistantChars` | `number` | Максимум символів на один нещодавній хід помічника |
|
||||
| `config.cacheTtlMs` | `number` | Повторне використання кешу для повторюваних ідентичних запитів |
|
||||
|
||||
## Рекомендоване налаштування
|
||||
|
||||
@ -577,34 +578,34 @@ plugins.entries.active-memory
|
||||
}
|
||||
```
|
||||
|
||||
Якщо ви хочете перевіряти поведінку наживо під час налаштування, використовуйте `/verbose on` у
|
||||
Якщо ви хочете переглядати поведінку наживо під час налаштування, використовуйте `/verbose on` у
|
||||
сеансі замість пошуку окремої команди налагодження active-memory.
|
||||
|
||||
Потім перейдіть до:
|
||||
|
||||
- `message`, якщо вам потрібна менша затримка
|
||||
- `full`, якщо ви вирішите, що додатковий контекст вартий повільнішого підлеглого агента блокувальної пам’яті
|
||||
- `message`, якщо хочете меншу затримку
|
||||
- `full`, якщо вирішите, що додатковий контекст вартий повільнішого блокувального підагента пам’яті
|
||||
|
||||
## Налагодження
|
||||
|
||||
Якщо активна пам’ять не з’являється там, де ви очікуєте:
|
||||
|
||||
1. Переконайтеся, що плагін увімкнено в `plugins.entries.active-memory.enabled`.
|
||||
2. Переконайтеся, що поточний ідентифікатор агента вказано в `config.agents`.
|
||||
3. Переконайтеся, що ви тестуєте через інтерактивний постійний чат-сеанс.
|
||||
4. Увімкніть `config.logging: true` і перегляньте журнали gateway.
|
||||
2. Переконайтеся, що поточний ID агента вказаний у `config.agents`.
|
||||
3. Переконайтеся, що ви тестуєте через інтерактивний постійний сеанс чату.
|
||||
4. Увімкніть `config.logging: true` і стежте за журналами шлюзу.
|
||||
5. Перевірте, що сам пошук у пам’яті працює, за допомогою `openclaw memory status --deep`.
|
||||
|
||||
Якщо спрацювання пам’яті надто шумні, посильте обмеження:
|
||||
Якщо збіги пам’яті занадто шумні, зменште:
|
||||
|
||||
- `maxSummaryChars`
|
||||
|
||||
Якщо активна пам’ять працює надто повільно:
|
||||
Якщо активна пам’ять надто повільна:
|
||||
|
||||
- зменште `queryMode`
|
||||
- зменште `timeoutMs`
|
||||
- зменште кількість недавніх ходів
|
||||
- зменште ліміти символів на хід
|
||||
- зменште кількість нещодавніх ходів
|
||||
- зменште обмеження символів на хід
|
||||
|
||||
## Пов’язані сторінки
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user