Исследователи выявили «проблему Mathi» — специфический феномен, при котором языковые модели систематически допускают ошибки при генерации кода с использованием библиотек, имеющих схожие названия или API. Ошибка возникает из-за смешивания контекстов обучения, когда модель путает популярные пакеты с менее известными аналогами, что приводит к созданию неработоспособных или уязвимых программных решений в реальных проектах.

Суть проблемы заключается в том, что модели склонны к «галлюцинациям» при работе с API, которые редко встречаются в обучающей выборке или имеют пересекающиеся пространства имен. Даже при наличии корректных инструкций, LLM часто подставляют методы из более распространенных библиотек, игнорируя специфику требуемого инструмента. Это создает серьезные риски для автоматизированных систем разработки, где код генерируется без глубокой проверки человеком.

Для минимизации подобных сбоев разработчикам рекомендуется использовать строгие системные промпты, ограничивающие область поиска библиотек, а также внедрять инструменты статического анализа для проверки сгенерированного кода на этапе компиляции. Понимание того, как модели «путают» зависимости, позволяет лучше настраивать пайплайны RAG и контекстные окна, чтобы снизить вероятность критических ошибок в продакшн-коде.

Ключевые факты

  • Проблема Mathi названа в честь конкретного случая путаницы между библиотеками, где модель игнорировала документацию в пользу наиболее вероятных токенов из общего корпуса.
  • Ошибки чаще всего проявляются при работе с API, имеющими схожие сигнатуры функций, но разную логику реализации.
  • Исследование подтверждает, что даже продвинутые модели (GPT-4, Claude) подвержены этому эффекту при отсутствии жестких ограничений в контексте.
  • Автоматическая проверка сгенерированного кода через линтеры и тесты является единственным надежным способом защиты от подобных галлюцинаций в CI/CD пайплайнах.