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Как всегда, спасибо за просмотр, увидимся в следующем видео.