# Управление контекстом

> Как PentAGI удерживает длинные flows в пределах контекстного окна модели, суммируя более старые части цепочки каждого agent, и настройки, которые этим управляют.

Длительные [flows](https://pentagi.com/ru/docs/glossary/#flow) порождают больше сообщений, чем может вместить любая модель. PentAGI удерживает цепочку каждого [agent](https://pentagi.com/ru/docs/glossary/#agent) в допустимых пределах с помощью **суммаризации цепочки**: после каждого хода agent более старые разделы сжимаются, а самые последние сохраняются полностью, если они не превышают ограничения по размеру. Если PentAGI знает окно контекста модели — из своих встроенных каталогов моделей или от пользовательской конечной точки, чей список моделей сообщает об этом, — и цепочка всё равно не помещается, она дополнительно уплотняется непосредственно перед вызовом модели. Модели Ollama и другие с неизвестным окном не проходят этот этап, поэтому уменьшите размеры ниже для модели с небольшим контекстом.

```mermaid
flowchart TD
  accTitle: Chain summarization steps after each agent turn and before each model call
  A[Agent turn finished] --> B[Condense each older section into one summary]
  B --> C[Keep the recent sections within their size limits]
  C --> D[Summarize old question-answer pairs]
  D --> E{Next model call: fits the context window?}
  E -->|Yes| F[Send the chain]
  E -->|No| G[Compact to the window size]
  G --> F
```

## [Настройка](https://pentagi.com/ru/docs/concepts/context/#tuning)

Значения по умолчанию подходят для большинства моделей. Для agents и интерактивного [assistant](https://pentagi.com/ru/docs/glossary/#assistant) предусмотрены отдельные настройки; assistant сохраняет более обширную недавнюю историю.

| Параметр                                                           | Agents                            | Assistant                                   |
| ------------------------------------------------------------------ | --------------------------------- | ------------------------------------------- |
| Ограничивать размер недавних разделов                              | `SUMMARIZER_PRESERVE_LAST=true`   | `ASSISTANT_SUMMARIZER_PRESERVE_LAST=true`   |
| Ограничение размера недавнего раздела                              | `SUMMARIZER_LAST_SEC_BYTES=51200` | `ASSISTANT_SUMMARIZER_LAST_SEC_BYTES=76800` |
| Максимальный размер одного результата [tool](https://pentagi.com/ru/docs/glossary/#tool) | `SUMMARIZER_MAX_BP_BYTES=16384`   | `ASSISTANT_SUMMARIZER_MAX_BP_BYTES=16384`   |
| Количество сохраняемых разделов «вопрос-ответ»                     | `SUMMARIZER_MAX_QA_SECTIONS=10`   | `ASSISTANT_SUMMARIZER_MAX_QA_SECTIONS=7`    |
| Размер этих разделов                                               | `SUMMARIZER_MAX_QA_BYTES=65536`   | `ASSISTANT_SUMMARIZER_MAX_QA_BYTES=76800`   |
| Недавние разделы, не объединённые                                  | `SUMMARIZER_KEEP_QA_SECTIONS=1`   | `ASSISTANT_SUMMARIZER_KEEP_QA_SECTIONS=3`   |

При `false` у недавних разделов нет собственного ограничения по размеру, и единое ограничение на количество результатов tool также не применяется.

`SUMMARIZER_USE_QA` включает стратегию «вопрос-ответ» (включена по умолчанию), а `SUMMARIZER_SUM_MSG_HUMAN_IN_QA` дополнительно суммаризирует ваши собственные сообщения в её рамках (отключено по умолчанию). Оба параметра применяются только к agent: assistant всегда использует эту стратегию и никогда не суммаризирует ваши сообщения.