историях. Классическая статья «Потерянный в середине» показывает U-образную кривую: модели лучше используют начало и конец длинных входных данных, чем середину. В статье прослеживается эволюция подходов к сжатию контекста: простое усечение хвоста (скользящее окно) в LangChain через trim_messages; суммирование старых сообщений в блок резюме с помощью SummarizationMiddleware в create_agent; затем защита первых N сообщений и свежего хвоста при сжатии середины, как это видно в Hermes Agent и middle-out сжатии OpenRouter. Самый новый подход разделяет хранимую историю и рабочий контекст: полная история хранится внешне (например, в файле), вызов модели получает представление со свежим хвостом и резюме, а агенту предоставляются такие инструменты, как read_file или grep, для извлечения деталей из полной истории. Библиотека Deep Agents от LangChain реализует это в своем SummarizationMiddleware, хотя название сбивает с толку, так как оно совпадает с названием базового промежуточного программного обеспечения. Эта эволюция является частью более широкой тенденции контекстной инженерии, которая различает то, что агент знает (полная история, результаты инструментов, навыки), и то, что попадает в следующий вызов модели.