Eviction Policy: как AI-агент освобождает контекст
Eviction Policy — политика управления контекстом, определяющая, какие данные можно удалить, а какие необходимо сохранить для выполнения задачи.
1. Оценка контекста на лету Оценка выполняется on-the-fly — в рантайме, перед формированием очередного запроса к LLM. Система оценивает элементы контекста, определяет приоритет их сохранения и выбирает кандидатов на удаление. Учитываются два основных критерия.
Recency — актуальность. Насколько давно появилась информация? Чем старше элемент, тем ниже его приоритет при сохранении, если он не нужен для дальнейших действий. R(t) = e^(−λt), где t — возраст элемента в шагах, λ — скорость затухания актуальности.
Relevance — релевантность. Насколько информация полезна для текущей задачи? Rel = от 0 до 1 — градуированная оценка полезности элемента. Чем выше значение, тем важнее сохранить информацию.
Оба критерия объединяются в общий скор: Score = wᵣ × R + wₛ × Rel , где wᵣ и wₛ — веса актуальности и релевантности, сумма которых равна 1.
Оцениваем релевантность Rule-based — правила на основе типа элемента, метаданных и состояния задачи. Быстро, без дополнительного вызова LLM.
Embedding similarity — семантическая близость элемента к текущей задаче. Вычисляется на лету, но не гарантирует реальную полезность.
LLM-as-a-Judge — оценка полезности моделью. Подходит для сложных случаев, но может увеличивать задержку и стоимость.
Практический подход — использовать правила и эмбеддинги для первичной оценки, а LLM-as-a-Judge подключать там, где простых критериев недостаточно.
2. Protected Policy: что нельзя удалять
Некоторые данные исключаются из стандартного вытеснения, пока они необходимы для дальнейшего выполнения задачи: -текущая цель и жесткие ограничения; -состояние незавершенных операций; -идентификаторы, необходимые для продолжения процесса; -результаты инструментов, от которых зависят следующие вызовы. Такие элементы получают статус protected. Защита снимается только при выполнении заданных условий, например после завершения зависимой операции.
Execution Dependencies — зависимости выполнения определяют, какие данные необходимы для последующих шагов, независимо от их возраста и численного скора. Секреты и токены авторизации следует хранить в защищенном хранилище, а не в обычной истории диалога.
3. Eviction Pipeline Очистка выполняется перед очередным вызовом LLM.
Evaluate — оценить актуальность и релевантность на лету. Protect — исключить критические данные из стандартного вытеснения. Rank — ранжировать допустимые кандидаты по приоритету удаления. Evict / Compress — удалить ненужное или сжать историю в компактное резюме. Validate — проверить бюджет и сохранность состояния задачи.
4. Когда остановить очистку
Вытеснение прекращается, когда одновременно выполнены три условия:
Budget: контекст укладывается в лимит с резервом под инструкции, ответ модели и будущие вызовы инструментов.
State Integrity: критические данные и необходимые зависимости сохранены.
Task Sufficiency: агент располагает целью, ограничениями и достаточной информацией для следующего шага.
Если бюджет по-прежнему превышен, можно сократить объем RAG, сильнее сжать историю или разделить задачу на этапы. Если безопасное продолжение невозможно, агент должен остановиться с явной ошибкой, а не работать с неполным состоянием.