Исследование Дэна Лу анализирует, как выбор языка программирования влияет на количество токенов, необходимых для представления кода, и на вероятность возникновения ошибок при работе с LLM. Автор сравнивает популярные языки, оценивая их «плотность» в токенах и то, насколько структура синтаксиса облегчает моделям генерацию корректных конструкций без галлюцинаций.
Разница в количестве токенов между языками может достигать нескольких раз, что напрямую влияет на стоимость инференса и контекстное окно. Языки с многословным синтаксисом или специфическими символами требуют больше токенов, что увеличивает нагрузку на модель и повышает риск потери логической связности. Исследование показывает, что компактность кода не всегда коррелирует с простотой его «понимания» нейросетью.
Анализ также затрагивает проблему синтаксической избыточности. Языки, требующие большого количества скобок, ключевых слов или специфических отступов, создают дополнительные сложности для токенизаторов, оптимизированных преимущественно под естественные языки. Это приводит к тому, что даже при идентичной бизнес-логике, реализация на одном языке может оказаться для модели значительно дороже и менее надежной, чем на другом.
Ключевые факты
- Исследование охватывает сравнение токенизации для различных синтаксических конструкций в популярных языках программирования.
- Выявлена прямая зависимость между избыточностью синтаксиса и ростом затрат на контекстные токены при работе с LLM.
- Показано, что некоторые языки программирования требуют на 30–50% больше токенов для описания аналогичных алгоритмов по сравнению с более лаконичными аналогами.
- Анализ подтверждает, что структура языка влияет на частоту синтаксических ошибок, допускаемых моделями при генерации кода.