newsmode
search
Меню
arrow_back Назад

P6: Context Rot – Hamel’s Blog - Hamel Husain

auto_awesomeКраткое саммари

Исследовательница из Chroma Kelly Hong представила концепцию «Context Rot» — деградации производительности LLM по мере увеличения длины входного контекста. В серии экспериментов над 18 современными моделями было показано, что даже при простых задачах точность падает с ростом контекста, особенно при семантическом (а не лексическом) поиске и наличии отвлекающей информации. Популярный бенчмарк Needle in a Haystack оказался нерепрезентативным для реальных сценариев, поскольку опирается на простое лексическое совпадение. Ни одна модель не показала стабильного превосходства во всех тестах: Claude чаще воздерживается от ответа при неуверенности, тогда как GPT чаще галлюцинирует. Исследование подчёркивает, что RAG и продуманная инженерия контекста остаются критически важными, несмотря на рост контекстных окон до миллиона токенов.

В рамках нашего курса по оценке LLM я пригласил Kelly Hong, исследовательницу из Chroma, чтобы обсудить её работу о «деградации контекста» (Context Rot). Несмотря на распространённое мнение, что RAG мёртв благодаря большим контекстным окнам (например, в миллион токенов), исследование Kelly показывает, что производительность моделей неравномерна. По мере добавления информации модели становятся всё менее надёжными даже при выполнении простых задач. Этот феномен, который Kelly назвала «Context Rot», заслуживает внимания каждого, кто создаёт AI-приложения. В своём докладе Kelly разбирает эксперименты, выявившие эту проблему, и объясняет, почему продуманная инженерия контекста и извлечение информации важны как никогда.

Ниже — аннотированная версия её презентации.


👉 Именно такие темы мы разбираем на нашем курсе AI Evals. Узнать больше о курсе можно здесь. 👈


Аннотированная презентация

Title Slide

Этот слайд представляет концепцию «Context Rot» — термин, введённый Chroma для описания того, как производительность LLM становится всё менее надёжной по мере роста длины входного контекста. Исследование оценивает 18 современных LLM и обнаруживает, что вопреки предположению о равномерной обработке контекста, производительность значительно снижается при увеличении длины входных данных.

The Rise of Long Context Windows

Крупнейшие провайдеры LLM активно рекламируют огромные контекстные окна — часто в миллион токенов и более — как ключевую особенность своих передовых моделей: Gemini, Claude и GPT-4.1. Такой маркетинг создаёт впечатление, что модели способны эффективно обрабатывать и использовать колоссальные объёмы информации.

The Common Assumption: More Context is Better

Доступность больших контекстных окон привела к расхожему предположению, что предоставление большего объёма контекста всегда полезно. Это вдохновило новые сценарии использования: масштабный анализ кода и синтез обширных документов. Бенчмарки вроде теста «иголка в стоге сена» (needle in a haystack), часто демонстрирующие почти идеальную точность извлечения по всему контекстному окну, казалось бы, подтверждают это предположение, создавая потенциально обманчивую картину возможностей моделей.

Explaining the “Needle in a Haystack” (NIAH) Benchmark

Тест Needle in a Haystack (NIAH) — это простая задача на извлечение информации: конкретный факт («иголка») помещается в длинный документ («стог сена»), и модель должна его найти. Kelly объясняет, что этот бенчмарк по сути проверяет прямое лексическое совпадение. Как видно из примера, запрос и «иголка» содержат множество одинаковых слов («best writing advice», «college classmate»). Это делает задачу относительно простой и нерепрезентативной для реальных сценариев, которые часто требуют более сложного семантического понимания с минимальным пересечением слов.

Experiment 1: Adding Ambiguity (Semantic vs. Lexical Matching)

Чтобы проверить производительность на более реалистичных задачах, в первом эксперименте Chroma ввела неоднозначность. Сравнивались задача на лексическое совпадение (аналогичная оригинальному NIAH) и задача на семантическое совпадение, где ответ содержал ту же суть, но был сформулирован иначе, требуя от модели понимания смысла, а не буквального совпадения слов. Результаты показали чёткую тенденцию: если производительность при лексическом совпадении остаётся относительно высокой, то при более сложном семантическом совпадении она значительно снижается по мере увеличения входного контекста.

Implications of Ambiguity in Real-World Applications

Этот слайд иллюстрирует практические последствия предыдущего эксперимента на примере анализа финансового отчёта. Пользователь вряд ли знает точную формулировку из документа, чтобы составить идеальный лексический запрос. Вместо этого он задаст более размытый семантический вопрос вроде «Как продвигается наша зарубежная экспансия?» Это требует от модели связать «зарубежную экспансию» с конкретными странами и показателями выручки. Как показал эксперимент 1, именно на таких задачах производительность падает при увеличении контекста.

Experiment 2: Adding Distractors

Второй эксперимент исследует влияние дистракторов — фрагментов информации, семантически близких к правильному ответу, но неверных. В примере правильная «иголка» — совет по писательству от «однокурсника по колледжу». Дистракторы включают похожий совет от «профессора колледжа» или советы о написании эссе в разных стилях. Такие дистракторы имитируют информационный шум, характерный для реальных документов.

Visualizing the Distractor Setup

Этот слайд даёт простую визуальную модель эксперимента. Исследователи тестировали производительность LLM в трёх условиях: без дистракторов, с одним дистрактором и с четырьмя дистракторами, размещёнными в контексте рядом с правильной «иголкой».

Results: Performance Degrades with More Distractors

Результаты эксперимента с дистракторами демонстрируют две чёткие тенденции. Во-первых, во всех группах моделей производительность снижается с увеличением длины входных данных. Во-вторых, производительность также падает с ростом числа дистракторов. Сочетание длинного контекста и отвлекающей информации оказывается особенно сложным для LLM, вызывая значительное падение точности.

Implications of Distractors in Domain-Specific Contexts

Этот эксперимент особенно актуален для реальных приложений, прежде всего в специализированных областях вроде финансов или юриспруденции. Документы в этих сферах часто содержат весьма похожую, шаблонную информацию, где различаются лишь мелкие детали (год или имя). Эти похожие фрагменты выступают естественными дистракторами, затрудняя модели извлечение нужного факта — и эта проблема усугубляется при увеличении контекста.

Analyzing Failure Modes: Model Hallucinations vs. Abstention

Когда модели ошибались в условии с 4 дистракторами, исследователи проанализировали характер ошибок. Ключевой вывод: модели часто галлюцинируют, уверенно выдавая ответ на основе одного из дистракторов, вместо того чтобы воздержаться (ответить «я не знаю»). Эта склонность различается в зависимости от семейства моделей: модели Claude чаще воздерживаются при неуверенности, тогда как модели GPT демонстрируют наибольшую долю галлюцинаций, уверенно возвращая неверный ответ.

Experiment 3: Shuffling Haystack Content

Этот эксперимент проверял, обрабатывают ли модели контекст структурированно и с учётом порядка. «Иголку» (предложение с советом по писательству) помещали в связное эссе. Поскольку «иголка» нарушает логический поток эссе, она выделяется. Ту же «иголку» помещали и в «стог сена» из случайно перемешанных, не связанных друг с другом предложений, где она логически должна раствориться. Гипотеза состояла в том, что модели будет проще найти «иголку» в связном эссе, где та является аномалией.

Surprising Results: Models Perform Better on Shuffled Context

Вопреки ожиданиям, результаты показали, что модели справлялись немного лучше, когда «стог сена» был случайно перемешан. Этот удивительный вывод говорит о том, что LLM не обязательно обрабатывают контекст линейно и структурированно, как это делают люди, а нарушение логического потока может, наоборот, затруднить, а не облегчить поиск ключевой информации.

Experiment 4: Conversational Memory

В этом эксперименте тестировалась разговорная память с помощью бенчмарка LongMemEval. Модели проверялись в двух условиях: «сфокусированном» — только с релевантной историей разговора (около 100 токенов), и «полном» — где контекст дополнялся нерелевантными диалогами до 120 тысяч токенов. Результаты наглядно показали, что все модели Claude работают значительно лучше в сфокусированном режиме, что подтверждает: нерелевантная информация быстро ухудшает производительность.

Experiment 5: Text Replication Task

Этот эксперимент включал предельно простую задачу: воспроизвести заданный текст из повторяющихся слов. Несмотря на простоту, все модели продемонстрировали значительное снижение производительности с увеличением длины входных данных. Некоторые модели показали странные режимы сбоя: например, при большой длине контекста модели Claude отказывались генерировать вывод, ссылаясь на нарушение авторских прав, а модели Gemini выдавали совершенно случайный текст.

Key Takeaways

Исследование предлагает три основных вывода:

Производительность LLM неравномерна при разной длине входных данных, даже для простых задач. Одного лишь наличия нужной информации в контексте недостаточно — способ её подачи имеет решающее значение. Поэтому продуманная инженерия контекста критически важна для создания надёжных AI-приложений.

Context Engineering Example: Orchestrator and Subagents

Kelly приводит практический пример инженерии контекста для кодирующего агента с длительной задачей.

Наивный подход: добавлять всю историю разговора, включая каждый вызов инструмента и его результат, в контекст. Из-за этого контекст быстро разрастается и засоряется нерелевантной информацией (например, полным содержимым прочитанного файла), что приводит к деградации контекста. Улучшенный подход: использовать главного агента-«оркестратора», который разбивает задачу на подзадачи и запускает «субагентов» для каждой из них. Каждый субагент работает со своим чистым, сфокусированным контекстом. Он выполняет подзадачу и возвращает оркестратору только самую релевантную информацию, а тот поддерживает компактную, отфильтрованную историю. Это предотвращает перегрузку контекста и повышает надёжность.

Further Reading

В завершение презентации аудиторию направляют к полному техническому отчёту и другим связанным исследованиям на сайте Chroma — research.trychroma.com.


Сессия вопросов и ответов

Бесполезен ли бенчмарк Needle in a Haystack (NIAH)? (Таймкод: 06:54) Он не бесполезен, но его ценность снизилась. Он был полезен для оценки старых моделей, которые действительно показывали падение производительности на этой задаче. Однако современные передовые модели отлично справляются с этим простым лексическим заданием, что делает бенчмарк нерепрезентативным для реальных сценариев, требующих более глубокого семантического рассуждения. Выявило ли исследование модель, которая стабильно лучше сопротивляется деградации контекста во всех задачах? (Таймкод: 23:57) Нет, результаты оказались «разбросанными» и сильно зависели от задачи. Ни одна модель не заняла первое место во всех экспериментах. Например, Claude Sonnet 4 лучше всех справился с задачей на повторяющиеся слова, тогда как GPT-4.1 лидировал в тесте Needle in a Haystack. У каждой модели свои сильные стороны, и ни одна пока не превосходит остальных во всех задачах на длинный контекст. Какой совет вы дадите разработчикам, пытающимся обнаружить и устранить деградацию контекста в своих приложениях? (Таймкод: 27:32) Начните с качественного анализа вашей системы. Прогоните несколько примеров с коротким, сфокусированным контекстом и с длинным контекстом, раздутым нерелевантной информацией. Сравните результаты: что модель упустила при длинном контексте? Какую нерелевантную информацию можно убрать? Универсального решения не существует, поскольку оптимальная инженерия контекста сильно зависит от приложения. Хорошей отправной точкой будет внимательный анализ данных, которые вы передаёте модели, и поиск способов сделать их более лаконичными и релевантными. Ранние исследования обнаружили U-образную кривую извлечения, при которой информация в самом начале и конце контекста запоминается лучше всего. Это всё ещё актуально? (Таймкод: 29:06) В экспериментах Chroma этот U-образный паттерн не наблюдался. Исследователи размещали «иголку» в разных позициях контекста — в начале, середине и конце — и не обнаружили устойчивого преимущества для какой-либо позиции. Хотя совет размещать важную информацию в начале или конце широко распространён, данное исследование указывает, что это может быть ненадёжным способом борьбы с деградацией контекста.


👉 Именно такие темы мы разбираем на нашем курсе AI Evals. Узнать больше о курсе можно здесь. 👈


Видео

Вот полное видео: