» » » » Главное про AI - Вадим Жартун

Главное про AI - Вадим Жартун

Перейти на страницу:
который она смотрит, продолжая текст. Каждый новый фрагмент она видит, держа в голове всё, что помещается, без потерь и сжатия. Окно кончилось — предыдущий текст из головы выпадает. Модель не помнит, что было за пределами окна, и не предупреждает об этом. Просто работает с тем, что поместилось.

Представьте, что вы читаете книгу через узкое окошко в двери. Страница за страницей ползут мимо, и в каждый момент вы видите только то, что в окошке помещается. Всё, что осталось за его пределами, для вас не существует — вы не помните, что было на предыдущих страницах, потому что их нет в поле зрения. Загрузили в чат пятидесятистраничный договор, а окно рассчитано на двадцать страниц, — модель физически увидит только последние двадцать. Начала договора для неё в этот момент просто нет. Переспрашивать бесполезно.

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

Модель физически работает не с текстом, а с числами. Каждое слово или кусок слова превращается в токен, и только после этого попадает в нейросеть. По оценке OpenAI (GPT-4 tokenizer release notes, 2023), сто токенов — это примерно семьдесят пять английских слов. В русском текст дробится на больше токенов, и то же окно в 128 000 вмещает не сто тысяч русских слов, а пятьдесят-шестьдесят тысяч. Когда маркетинг пишет «модель читает 100 000 слов», он имеет в виду английские слова, и для русского офисного текста это число надо делить примерно пополам.

Восемь тысяч токенов — это короткое письмо, протокол одного совещания, абзац кода. Тридцать две тысячи — статья средней длины, нормальный договор на двадцать-тридцать страниц, развёрнутый диалог на десяток ходов. Сто двадцать восемь тысяч — годовой отчёт небольшой компании, переписка за квартал, техническая книга. Миллион — стопка из десяти годовых отчётов или вся документация одного продукта. Для большинства офисных задач хватает 32–128 тысяч токенов, и покупать миллионное окно ради того, чтобы «уже точно хватило», — это как заказывать грузовик для поездки за хлебом. К середине 2026 года окно в миллион токенов стало стандартом у ведущих вендоров — GPT-5.5, Claude Opus 4.6+ и Gemini 3.1 Pro заявляют миллион, Llama 4 Scout — десять миллионов, Qwen3-Max Plus и DeepSeek V4 — по миллиону токенов. Но заявленный миллион и рабочий миллион — две разные вещи: по независимым оценкам, реальная ёмкость стабильно держится на 60–70% от рекламного максимума, а середина всё так же «теряется». Так что в 2026 году для офисного работника формула выбора простая: для письма и протокола — 32K, для длинного документа — 128K, для миллиона — отдельный повод подумать, действительно ли вам нужен миллион или вы просто загружаете всё подряд.

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

В 2023 году исследователи из Стэнфорда и Принстона во главе с Нельсоном Лю (Nelson Liu) обнаружили ещё одну ловушку, которую они назвали «потерянной серединой» (Lost in the Middle). Длинный документ с важной деталью в центре модель обрабатывает хуже, чем короткий: она лучше помнит начало и конец контекста, хуже — середину. Загрузили в чат договор на девяносто страниц и просите «найди пункт про досрочное расторжение», а нужный пункт попал в середину, — модель с высокой вероятностью его пропустит, даже если формально весь документ в окне. Практический вывод: важное ставьте в начало и в конец, середину не загружайте без необходимости.

Как размер контекста влияет на выбор модели для работы с большими документами, разберёмся чуть позже. Сейчас перейдём к токенизации.

ТОКЕНИЗАЦИЯ: СКРЫТАЯ НАЦЕНКА НА РУССКУЮ РЕЧЬ

Модель работает не с буквами и не со словами, а с числами. Прежде чем показать ей ваш договор, текст придётся нарезать на кусочки — токены, — и каждому кусочку присвоить числовой идентификатор. Слово «договор» может стать одним токеном, а может развалиться на три: «дог», «ов», «ор». Как именно — решает токенизатор, не грамматика и не ваш редактор. Когда в диалоговом окне ChatGPT вы набираете запрос, происходит короткий ритуал, о котором вы и не подозреваете. Система берёт ваш текст, прогоняет его через токенизатор и получает на выходе последовательность чисел вроде 101 2054 2003 2651 1005 — условных идентификаторов из словаря модели, где каждое число соответствует своему кусочку текста. Эти числа уходят в нейросеть, нейросеть их перемалывает и выдаёт обратно тоже числа, а уже отдельный механизм превращает их в человеческие буквы на экране.

Алгоритм, который режет текст на токены, появился задолго до нейросетей. В 1994 году Филип Гейдж (Philip Gage) предложил метод побайтового кодирования пар — способ сжать текст, заменяя самые частые пары букв одним символом. В 2018 году инженеры OpenAI приспособили этот же приём под GPT, и с тех пор он работает внутри каждой большой языковой модели. Идея простая: берём текст, считаем, какие пары букв рядом встречаются чаще всего, склеиваем их в один символ, повторяем, пока не наберём словарь нужного размера. Этот базовый метод называется BPE — алгоритм нарезки на пары символов (Byte Pair Encoding). WordPiece и SentencePiece — варианты BPE с небольшими отличиями в выборе пар; для офисного работника разница между ними не важна, вы этот алгоритм не выбираете.

Почему не «по словам» и не «по буквам»? Потому что оба варианта — крайности, и обе плохо работают. Если резать по буквам, скромное «привет» превратится в шесть токенов, и модели придётся каждый раз заново собирать слово из букв. Если резать по словам, словарь раздуется до миллионов форм: «бежать», «убежал», «забежал», «перебежал», «выбежал» — каждое нужно хранить

Перейти на страницу:
Комментариев (0)