Anthropic наконец-то решила проблему контекстного окна в 1 млн токенов

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00Контекстное окно в 1 миллион токенов звучит как огромное улучшение, но на самом деле все гораздо хуже, чем кажется большинству людей.
00:00:05И именно поэтому инженер, работающий над Claude Code, Тарик, написал эту статью.
00:00:09Если вы думаете, что Claude Code начинает работать хуже только после 1 миллиона токенов, или что 1 миллион — это так много, что вам не о чем беспокоиться, вы ошибаетесь.
00:00:17Деградация на самом деле начинается гораздо раньше, чем при заполнении половины окна.
00:00:21И решение, к которому прибегает большинство, а именно компактизация (сжатие), обычно только все ухудшает.
00:00:24К концу этого видео вы будете точно знать, как не дать Claude Code "глупеть", так же, как это делает команда Anthropic.
00:00:31Claude Code кажется деградировавшим, хотя сами модели на самом деле очень мощные.
00:00:35Вы могли заметить, что он чаще галлюцинирует, требует постоянно напоминать о ранее данных инструкциях и забывает их в долгосрочной перспективе.
00:00:44Мы тоже заметили это, когда выполняли длительные задачи, и работа Claude ощущалась как ухудшенная.
00:00:48Но всему этому есть причина.
00:00:50Теперь модели после Opus 4.5 поставляются с контекстным окном в 1 миллион токенов вместо прежних 200 000.
00:00:56Хотя это обновление звучит так, будто большинство проблем, которые у нас были раньше, исчезнут с миллионным окном, это хорошо звучит только в теории.
00:01:03Ведь теперь вы можете уместить в контекстном окне больше информации, чем раньше, и подкрепить её большим количеством документов, чтобы Claude не отклонялся от поставленной задачи.
00:01:12Миллионное контекстное окно также открывает возможности для длительных задач, не заставляя слишком беспокоиться о проблемах с контекстом, с которыми мы сталкивались раньше.
00:01:19Но дело в том, что всё это не решено полностью.
00:01:22Контекстное окно в миллион токенов — это на самом деле палка о двух концах.
00:01:26Хотя это позволяет Claude работать дольше и удерживать больше информации одновременно, всё это имеет свою цену.
00:01:30Это открывает дверь для "деградации контекста".
00:01:32Деградация контекста означает, что производительность модели снижается при увеличении объема информации в её контекстном окне, потому что при перегруженном окне у неё слишком много вещей, на которых нужно сосредоточиться, и она не может удерживать внимание.
00:01:42А с контекстным окном в миллион токенов ваш контекст становится намного плотнее, а значит, информации, которая может помешать рассуждениям Claude, стало гораздо больше, чем при окне в 200 000 токенов.
00:01:53Деградация контекста происходит не только при сильно перегруженном окне.
00:01:57Согласно создателю Claude Code, деградация контекста на самом деле начинает происходить при 300–400 тысячах токенов, что гораздо меньше миллиона, примерно при 40% использования.
00:02:07Так что, независимо от размера контекстного окна, нам нужно принимать меры для предотвращения деградации контекста.
00:02:11И знание этого изменит то, как вы работаете с контекстным окном в один миллион токенов.
00:02:15Теперь краткий пересказ.
00:02:16Контекстное окно — это всё, что модель видит одновременно, включая историю диалога, файл Claude.md, системный промпт, файлы, прочитанные в сессии, и вывод каждого вызова инструментов.
00:02:26Каждый промпт добавляет что-то новое, и как только окно заполняется, вы подводите итоги, чтобы продолжить работу с более "свежим" окном — это и есть компактизация.
00:02:32Если вы не управляете контекстом должным образом, есть четыре способа, которыми ваш агент может "сломаться".
00:02:37Это становится ещё более очевидным и проблемным в долгоживущих агентах.
00:02:40"Загрязнение контекста" — первое, мы уже обсудили, почему это происходит.
00:02:45"Дрейф целей" — второе.
00:02:46Это происходит, когда ваш агент отклоняется от того, что должен делать, потому что у него слишком много вещей для фокуса, или проще говоря, он забыл цели, над которыми должен был работать.
00:02:55Это могло часто случаться, если вы работаете с Claude Code: вы хотите, чтобы интерфейс выглядел определенным образом, уже указали это, но он не следует этому, и вам приходится напоминать о реальной цели.
00:03:05"Повреждение памяти" — третье, и оно происходит, когда в ходе выполнения внутреннее состояние агента или сохраненные факты становятся неверными, и он продолжает действовать, основываясь на этом ошибочном состоянии.
00:03:14Часто трудно точно определить причину, когда агенты работают долго, становится непонятно, где возникла ошибка.
00:03:21Например, повреждение памяти может выглядеть так: файл был записан агентом одним способом, а затем изменен под-агентом, которого нет в текущем контексте.
00:03:29Агент обращается к своей собственной устаревшей памяти и продолжает работать так, как будто файл существует в том же виде, в котором он его создал.
00:03:37"Неточность решений" — последнее.
00:03:39Это происходит, когда агент делает противоречивые выборы в почти идентичных ситуациях, например, используя один паттерн обработки ошибок в одном месте и другой в другом.
00:03:48Все эти проблемы возникают, когда контекстом не управляют должным образом, и они влияют на долгосрочную производительность агентов.
00:03:53Это именно те факторы, которые большинство агентных фреймворков пытаются оптимизировать.
00:03:57Итак, как только вы попросили Claude что-то сделать, и он закончил, есть пять вариантов того, что произойдет дальше в плане вашего следующего указания.
00:04:06Каждый зависит от того, каким будет ваш следующий промпт.
00:04:08Если использовать каждый из них правильно, то, как вы работаете с Claude, может значительно улучшиться.
00:04:12Хотя самый естественный выбор — просто продолжить, другие опции на самом деле помогают эффективнее управлять контекстом.
00:04:18Поэтому вам нужно тщательно решать, хотите ли вы продолжать в том же потоке или начать новую сессию.
00:04:24Как только контекст раздувается, у вас есть два способа очистить его, и первый выбор — компактизация, которую мы уже объяснили как суммаризацию (обобщение) существующего контента.
00:04:32Но вам нужно четко понимать, когда вы хотите подвести итоги, потому что суммаризация сопровождается потерей данных, и многие детали, которые могут казаться важными вам, но не важными для Claude, могут быть отброшены.
00:04:41В результате важный контекст может перестать существовать в контекстном окне.
00:04:44Лучше контролировать компактизацию самостоятельно, вместо того чтобы позволять Claude выполнять авто-компактизацию, потому что когда она срабатывает в середине задачи, компактизация становится ещё более хаотичной.
00:04:52Он склонен сохранять то, что считает важным, и удаляет всё, что, по его мнению, не понадобится, поэтому Claude наименее надежен именно во время компактизации.
00:05:00В этот момент внимание Claude сфокусировано только на суммаризации, и он лишен вспомогательного контекста, такого как системный промпт и другие элементы, которые обычно делают его более способным.
00:05:08Затем он сильно полагается на собственные предположения о том, что важно, что часто приводит к неудачным решениям при компактизации.
00:05:14Плохая компактизация обычно случается, когда модель не может четко определить направление вашей работы.
00:05:19Например, если вы в длительной сессии отладки, и ранее после авто-компактизации возникло предупреждение, если вы попросите исправить именно это предупреждение, он не поймет, о каком предупреждении речь.
00:05:29Это происходит потому, что сессия была сфокусирована на отладке в целом, поэтому было сохранено только общее резюме активности по отладке, а конкретное предупреждение было расценено как шум и отброшено.
00:05:39Предвзятость недавних данных (recency bias) делает всё только хуже.
00:05:41Когда запускается компактизация, промпт отдает приоритет сохранению недавних деталей того, над чем велась работа.
00:05:46Так что более старая, но всё ещё важная информация может быть проигнорирована или исключена.
00:05:50Если что-то было сделано неправильно ранее, модель может больше не знать об этом после компактизации.
00:05:54У него есть доступ только к итоговому резюме транскрипта, а не к полному состоянию проекта, потому что история вызовов инструментов не сохраняется полностью во время компактизации.
00:06:01Вы можете настроить флаги, чтобы контролировать, когда происходит авто-компактизация, но это то, чем вам следует активно управлять чаще.
00:06:07Запускайте компактизацию в диапазоне 300 000 – 400 000 токенов, упомянутом создателем, потому что именно здесь обычно начинает проявляться деградация контекста, и всегда давайте инструкции по компактизации самостоятельно, потому что Claude отвечает внимательнее, когда включены явные инструкции.
00:06:22Скажите ему, какие решения, ограничения и обнаруженные проблемы перенести дальше, чтобы он знал, что приоритизировать.
00:06:27Поэтому вам следует нажимать "compact", когда вы хотите, чтобы контекст из предыдущего потока задачи перенесся в новое окно, а не когда вы хотите начать всё с чистого листа.
00:06:34Но перед тем как двигаться дальше, пара слов от нашего спонсора.
00:06:37Verdant, AI-платформа, которая помогает создателям превращать идеи в готовые продукты.
00:06:41Вы в середине сборки, наконец-то в потоке, и ваши кредиты заканчиваются.
00:06:45Ваш ИИ внезапно останавливается, импульс потерян.
00:06:47Каждый инструмент для ИИ-кодинга делает это с вами, но Verdant — нет.
00:06:50Когда ваши кредиты достигают нуля, просто переключитесь на режим "эко", режим с нулевой стоимостью, который позволяет ИИ продолжать работу, не тратя ни доллара больше.
00:06:56Никаких прерываний, никаких доплат, никакой потери темпа.
00:06:59Вы просто продолжаете строить.
00:07:00А когда у вас есть кредиты, вам не нужно выбирать между Claude, GPT или Gemini.
00:07:04Режим мульти-плана в Verdant запускает их все вместе, как комитет по принятию решений, предоставляя лучшие планы без беспокойства о выборе модели.
00:07:10Хотите ещё больше гибкости?
00:07:11BYOK позволяет подключить ваш собственный API-ключ напрямую к Verdant.
00:07:15Используйте корпоративные кредиты Claude или GPT, без дополнительных комиссий платформы.
00:07:18Вы платите только за то, что реально используете.
00:07:20Вы получаете 100 кредитов и 7 дней на тестирование.
00:07:23Нажмите на ссылку в закрепленном комментарии и попробуйте Verdant бесплатно.
00:07:26Второй выбор — использовать команду "clear", которая удаляет весь контекст и начинает новую сессию с пустым контекстом.
00:07:32В отличие от компактизации, ничего не переносится, и в контекстном окне остается только то, что вы предоставите заново.
00:07:37Как и с компактизацией, не следует использовать "clear" только тогда, когда заканчивается контекст.
00:07:41Если вы переключаетесь на несвязанную задачу, проще очистить сессию и начать сначала, чтобы предыдущая задача не мешала новой.
00:07:49Например, если вы просите агента написать тест-кейсы для приложения, над которым работаете, вы можете не захотеть, чтобы он сохранял детали того, как эти тест-кейсы генерировались.
00:07:57Вместо того чтобы продолжать отладку в том же контексте, можно начать свежую сессию.
00:08:01Так Claude сможет работать над отладкой вашего приложения более эффективно, не попадая под влияние того, как он ранее генерировал тест-кейсы.
00:08:08Теперь есть ещё один подход, который можно использовать — объединение "clear" и компактизации.
00:08:12Это позволяет сохранить только то, что вы хотите, и отбросить всё остальное.
00:08:16Идея в том, чтобы использовать структурированный формат JSON, который захватывает информацию, которую вы хотите сохранить.
00:08:21Вы можете создать пользовательскую команду, чтобы часто её использовать.
00:08:24В этой команде можно включить структуру JSON, которая содержит полную задачу, текущее состояние, ограничения, обнаруженные проблемы и любые другие детали, которые вы хотите сохранить, и дать команду сохранить это в файл.
00:08:35Этот подход позволяет получить лучшее от обоих методов.
00:08:38Как только вы запустите команду, он проанализирует весь диалог и текущее состояние приложения — то, что обычная компактизация не всегда надежно сохраняет — и сохранит всё в файл, как указано.
00:08:48Схема гораздо строже, чем просто текст, поэтому когда Claude следует определенной структуре, он может представлять важное более последовательно и точно.
00:08:56После того как информация сохранена в файл, можно безопасно использовать команду "clear", чтобы удалить всё из контекстного окна.
00:09:02Затем вы можете начать новую сессию и попросить Claude обратиться к этому документу, чтобы собрать контекст и реализовать следующую задачу оттуда.
00:09:14Как упоминалось ранее, по мере роста контекста фокус агента может смещаться, потому что информации, конкурирующей за внимание, становится больше, и это особенно заметно с миллионным окном.
00:09:23Эта практика помогает решить проблемы как с дрейфом целей, так и с противоречивостью решений, о которых мы говорили.
00:09:29Вместо постоянного продвижения вперед в долгой задаче, полезно периодически делать паузу и просить агента резюмировать сделанное, а также ограничения и другие важные факторы.
00:09:39Когда вы делаете это, он укрепляет исходные цели и возвращает ключевые детали в более свежую часть контекстного окна, а не оставляет их погребенными в старых разделах.
00:09:48Это помогает гарантировать, что важная информация остается свежей в рабочем контексте агента и с меньшей вероятностью будет потеряна при компактизации или размыта со временем,
00:09:56поэтому агент остается более приверженным задаче, которую должен выполнять, и сохраняет лучшую последовательность в своих решениях.
00:10:02Также, если вам нравится наш контент, рассмотрите возможность нажатия кнопки "hype", потому что это помогает нам создавать больше подобного контента и достигать большего количества людей.
00:10:09Под-агенты могут выглядеть не очень значимыми, но это крайне важный способ управления контекстом.
00:10:14Каждый под-агент — это независимый экземпляр с выделенным контекстным окном, полным доступом к инструментам и правами, необходимыми для выполнения задачи.
00:10:22Они выполняют порученную работу в том отдельном контексте, который предоставлен родительским агентом, и возвращают только финальный результат обратно в основной контекст.
00:10:30Таким образом, все вызовы инструментов, прочитанные файлы, веб-поиск и промежуточные рассуждения остаются внутри контекста под-агента и не загрязняют контекстное окно основного агента.
00:10:40Это эффективный способ уменьшить деградацию контекста. Исследовательские задачи — самый яркий пример.
00:10:45Агент проходит через множество сайтов, страниц и источников, и вы не хотите, чтобы вся эта "сырая" информация постоянно добавлялась в основное контекстное окно.
00:10:53В таких случаях под-агент может выполнить работу независимо и вернуть только финальный синтез.
00:10:58Ключевой вопрос перед использованием под-агента: нужен ли вам доступ к промежуточным шагам или вас волнует только финальный результат.
00:11:07Claude Code также управляет оркестрацией под-агентов самостоятельно и может запускать агентов для выполнения задач автоматически.
00:11:13Но иногда нужно явно указать в промпте, что вы хотите делегировать работу под-агенту, чтобы она была выполнена в изоляции.
00:11:20Так что, если вы работаете над исследовательскими задачами, рефакторингом, суммаризацией или созданием документов, рассмотрите возможность разделения их с помощью под-агентов вместо основного агента.
00:11:30Последнее, но не менее важное: "перемотка" (rewinding) очень важна по сравнению с простым исправлением, так как она удаляет нерелевантные или неверные части из контекстного окна, оставляя только правильное состояние.
00:11:40Когда Claude сталкивается с ошибкой, люди часто пытаются перепромптить его, чтобы он выбрал другой подход.
00:11:44Но лучший вариант — перемотать назад, а затем предоставить правильное направление в новом промпте.
00:11:49Вы можете использовать команду "rewind" или нажать клавишу Escape дважды.
00:11:53После перемотки вы также можете сделать суммаризацию с этого момента, чтобы диалог до этой стадии сохранился как полезный контекст, удалив части, которые привели к проблеме.
00:12:01У перемотки есть несколько преимуществ.
00:12:03Во-первых, она очищает контекстное окно, удаляя часть, где всё пошло не так, что приводит к более чистому резюме компактизации, сохраняющему только правильные реализации.
00:12:12Даже если вы закрепляете важную информацию, вы избегаете переноса разделов, где агент отклонялся от цели, что помогает уменьшить как противоречивость решений, так и дрейф целей.
00:12:21Если вы используете под-агентов, перемотка гарантирует, что они получат более чистый и точный контекст при передаче задач, поэтому некорректные подходы не попадут в их рабочее состояние.
00:12:30Аналогично, если вы используете команду передачи (handoff), она захватывает корректное состояние приложения вместо поврежденного или устаревшего.
00:12:37Так что выработайте привычку перематывать назад вместо постоянных исправлений "вперед", чтобы агент последовательно работал из чистого и точного состояния на протяжении всей сессии.
00:12:45Это подводит нас к концу этого видео.
00:12:47Если вы хотите поддержать канал и помочь нам продолжать делать такие видео, вы можете сделать это с помощью кнопки "Super Thanks" ниже.
00:12:54Как всегда, спасибо за просмотр, увидимся в следующем видео.

Key Takeaway

Чтобы предотвратить деградацию производительности Claude в миллионном контекстном окне, необходимо вручную управлять сессиями, запуская компактизацию при достижении 300–400 тысяч токенов и используя под-агентов для изоляции второстепенных задач.

Highlights

Производительность Claude начинает снижаться при использовании контекстного окна на 40%, что составляет 300 000–400 000 токенов, а не после достижения лимита в 1 миллион.

Автоматическая компактизация (суммаризация) приводит к потере важных данных, так как модель склонна отбрасывать детали, которые считает нерелевантными.

Деградация контекста вызывает 'загрязнение' памяти, 'дрейф целей', повреждение внутреннего состояния и противоречивость в принятии решений.

Использование структурированных JSON-файлов для сохранения критически важной информации позволяет очищать сессию через команду 'clear' без потери контекста проекта.

Делегирование задач под-агентам изолирует промежуточные вычисления и веб-поиск, предотвращая засорение контекстного окна основного агента.

Команда 'rewind' (или двойное нажатие Escape) эффективнее 'перепромпта', так как удаляет ошибочные действия из истории, обеспечивая чистое состояние для дальнейшей работы.

Timeline

Проблема деградации контекста

  • Контекстное окно в 1 миллион токенов провоцирует снижение внимания модели при перегрузке информацией.
  • Производительность Claude начинает падать уже при использовании 300 000–400 000 токенов.

Увеличение размера окна до 1 миллиона токенов создает ложное ощущение надежности. Избыток данных приводит к тому, что модель не может сфокусироваться на ключевых инструкциях. Независимо от общего лимита, критический порог стабильности достигается гораздо раньше, что требует активных мер по управлению данными.

Типы агентных сбоев

  • Некорректное управление контекстом приводит к загрязнению памяти, дрейфу целей и повреждению внутреннего состояния агента.
  • Повреждение памяти часто возникает, когда модель оперирует устаревшими данными, измененными под-агентами вне текущего контекста.

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

Методы очистки контекста

  • Автоматическая компактизация склонна удалять важные детали, считая их шумом, и должна заменяться ручным управлением.
  • Команда 'clear' полезна при переключении на несвязанные задачи для исключения влияния предыдущего опыта.

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

Структурированное сохранение и под-агенты

  • Использование JSON-схемы для сохранения состояния проекта обеспечивает более точное извлечение контекста после полной очистки сессии.
  • Под-агенты позволяют выполнять исследовательские задачи или рефакторинг в изоляции, возвращая основной сессии только финальный результат.

Объединение команд 'clear' и компактизации через структурированный файл позволяет эффективно управлять долгосрочной памятью. Делегирование работы под-агентам предотвращает засорение основного контекстного окна результатами промежуточных рассуждений или веб-поиска.

Эффективность команды rewind

  • Команда 'rewind' удаляет ошибочные шаги из истории, обеспечивая чистое состояние для последующих итераций.
  • Привычка перематывать назад вместо исправления ошибок 'вперед' поддерживает точность состояния приложения.

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

Community Posts

View all posts