Про контекстное окно, его длину и неповоротливость OpenAI
Контекстное окно - это потенциальная длина вашего промпта. В него можно загнать как инструкцию, так и вводные (данные, которые модель должна учесть). Дать модели вводные именно в контекстном окне - это самый простой и быстрый путь к результату с наименьшим количеством галлюцинаций и неожиданно странного поведения. Но есть нюансы, конечно же.
▪️Размеры контекстного окна по моделям:
- - 4o (OpenAI) - 128 тыс. токенов (книжка),
- - Claude (Anthropic) - 200 тыс токенов (толстая книжка),
- - Gemini (Google) - 1-2 млн токенов (война и мир +).
▪️Нюансы:
- 1️⃣ контекстное окно в 128к токенов не равно твой доступ к 128к токенов (кейс Open AI). У API OpenAI есть лимиты, зависящие от того, сколько денег ты просадил на их API. Например, пока вы не потратили 50 баксов на API, будет ограничение в 30к токенов в минуту. По факту, это означает, что за один запрос возможна обработка только 30к токенов. И потом ожидание в минуту для следующего запроса. А когда уже потратите 50 баксов, ограничение будет достигать 450к токенов в минуту. То есть не более трех запросов с максимальной длиной контекста.
- 2️⃣ качество выдачи может ухудшаться при загруженном контекстном окне. Забудем про огромный контекст в 128 тыс токенов, ибо 4o (и любая другая LLM) начинает глючить сильно раньше.
- 2.1 Про бенчмарки. Существуют тесты вроде “needle in haystack”, которые проверяют, насколько модель способна удерживать большой контекст и извлекать из него специфическую информацию. Натыкалась на противоречивые данные из разных источников о крутости разных моделей. Но последнее, что видела - это статья на arxiv 2025 года, прикладываю оттуда грустную картинку (ниже). Модели, несмотря на заявленные 100k+ токенов контекстного окна начинают спотыкаться сильно раньше, уже на парочке тысяч токенов. И если опираться на картинку, может показаться, что миллионы токенов контекста гемини не такие полезные, коими предназначены быть.
- Но тут важный аспект: те, кто проводят подобного рода тесты, часто придумывают довольно изощренные методы проверки. Это отдельный игровой квест: "как подловить языковую модель". Чем ниже успех модели, тем были креативнее создатели тестов. И это прекрасно. Хорошо видеть, на чем модель спотыкается. Но стоит помнить, что это "утрированные" тесты, мы в жизни часто решаем задачки проще.
- 2.2 Мои наблюдения. Дело не в том, что модель случайно пропустит какие-то вводные в длинном промпте, а в том, что у нее ухудшится следование инструкции. Слишком высокие требования к модели: и найти вводные, и понять что с ними сделать, и сделать это. Но по опыту, с простыми задачами с большим количеством текста, модели справляется довольно неплохо. В этом смысле, критика контекста Gemini 1.5 в пользу 4о - противоположна моему опыту. 4o подводила сильно больше уже на 2 тыс токенов. Качество ответов было соизмеримо с такими же задачками на 20 тыс токенов у Gemini.
- 3️⃣ уловки промпт-инжиниринга не магическая таблетка, но стоит иметь их в виду
Примеры подсказок промпт-инженеров:
- - модель хуже соображает именно на середине контекста,
- - не надо писать в отрицательном наклонении, вместо "не отвечай на вопросы не по теме", стоит дать инструкцию в виде "если тебя спросили не по теме, отвечай так-то",
- - писать самые важные инструкции в начале промпта, и пр.
▪️К чему это я
Nerdie Daylik в дни с большим количеством новостей регулярно ломается, тк вводные не помещаются в контекстное окно 4o. Можно было усложнять архитектуру, делить на разные флоу, сокращать разными методами текст, а можно было в два щелчка заменить 4o на Gemini 2.0 flash. Я благополучно выбрала путь попроще. И это не первый эпп, в котором у меня случился франкенштейн микс из гемини + опенаи. Заодно и работат все быстрее.