Проблема «Dependency Hell» и новый подход
Конфликты версий пакетов, отсутствие библиотек и скрытые несовместимости остаются одной из самых болезненных проблем в экосистеме Python. Многие фрагменты кода, работающие в изоляции, падают при попытке сборки из-за этих конфликтов. Команда исследователей во главе с Вероникой Повеской (Veronica Poweska) предложила гибридный пайплайн PLLM+, который кардинально меняет стратегию исправления: вместо того чтобы сразу полагаться на «черный ящик» большой языковой модели, система сначала пытается применить детерминированные методы.
Архитектура PLLM+: От AST к LLM
Ключевая инновация PLLM+ — это многоуровневая система приоритизации. Пайплайн работает по следующему алгоритму:
- Статический анализ: Инференс на основе AST (абстрактного синтаксического дерева) для быстрого выявления очевидных проблем.
- Replay (Повторное воспроизведение): Система ищет в базе данных исторически успешных конфигураций (из решений соревнований) готовые, проверенные решения. Это самый дешевый и быстрый шаг.
- Валидация PyPI: Проверка актуальности версий пакетов в реальном времени.
- LLM-ремонт (Fallback): Если предыдущие шаги не помогли, в игру вступают агенты Proposer/Critic с типизированной классификацией ошибок для генерации нового решения.
Результаты на бенчмарке HG2.9K
Эксперименты проводились на наборе данных HG2.9K, состоящем из 2 891 фрагмента кода, терпящего неудачу из-за зависимостей. Результаты превзошли базовую модель PLLM как по точности, так и по скорости:
| Метрика | PLLM (Baseline) | PLLM+ (Гибридный) | Прирост / Эффект |
|---|---|---|---|
| Решенных случаев | 1 169 | 1 500 | +331 успешных фиксов |
| Среднее время на фрагмент | 368.7 сек | 71.8 сек | Ускорение в ~5.1 раза |
| Источник успешных фиксов | — | 1 495 из 1 500 | 99.6% решено через Replay |
Почему это важно для индустрии
Главный вывод исследования парадоксален для энтузиастов AI: в условиях данного бенчмарка 99.6% успешных исправлений (1 495 из 1 500) были достигнуты не за счет генерации нового кода LLM, а за счет повторного использования уже известных, валидированных конфигураций из базы данных. LLM-компонент сработал лишь в 5 случаях.
Это доказывает, что для решения специфических инженерных задач, таких как разрешение зависимостей, детерминированное переиспользование знаний (replay) значительно эффективнее и дешевле «генерации с нуля». PLLM+ демонстрирует, как правильно спроектированный гибридный пайплайн может снизить вычислительные затраты и время отклика, оставив LLM роль «страховки» для сложных, нестандартных кейсов.
Источник: arXiv cs.AI ↗
