GitHub Copilot выдаёт устаревший код почему и как это лечить
Рейтинг: 52.5% · 43 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- ruslan_ml61
- Сообщения: 33
- Зарегистрирован: Вс май 10, 2026 8:57 pm
GitHub Copilot выдаёт устаревший код почему и как это лечить
Замечаю что Copilot регулярно предлагает код с устаревшими паттернами — например суёт var вместо const, предлагает колбэки там где давно принято использовать async/await, иногда вставляет deprecated методы из старых версий библиотек. Проект на Node.js 20, в package.json всё современное. Как вы справляетесь с этим?
✔ Лучший ответ выбран автором и совпадает с автоматическим подбором — nina_pixel
Это известная проблема — обучающие данные Copilot включают огромное количество старого кода с GitHub, и модель воспроизводит старые паттерны особенно в боilerplate-коде. Частичное решение — добавить в корень проекта файл .github/copilot-instructions.md с явными инструкциями: используй ES2022+, предпочитай async/await, не используй var. Copilot читает этот файл как системный промпт.
- nina_pixel
- Сообщения: 2
- Зарегистрирован: Вс май 17, 2026 7:12 pm
Re: GitHub Copilot выдаёт устаревший код почему и как это лечить
✔ Лучший ответ — выбран автором и совпадает с авто-подбором
Это известная проблема — обучающие данные Copilot включают огромное количество старого кода с GitHub, и модель воспроизводит старые паттерны особенно в боilerplate-коде. Частичное решение — добавить в корень проекта файл .github/copilot-instructions.md с явными инструкциями: используй ES2022+, предпочитай async/await, не используй var. Copilot читает этот файл как системный промпт.
- pynode5808
- Сообщения: 31
- Зарегистрирован: Пн май 11, 2026 4:55 pm
Re: GitHub Copilot выдаёт устаревший код почему и как это лечить
Ещё помогает держать открытыми в редакторе современные файлы из проекта. Copilot учитывает контекст открытых вкладок, и если рядом есть код с современными паттернами — он их и воспроизводит. Закрой все вкладки со старым кодом если они у тебя открыты.
Re: GitHub Copilot выдаёт устаревший код почему и как это лечить
Я добавил в ESLint правила no-var и prefer-const и настроил lint-staged. Copilot продолжает предлагать всякое, но хотя бы в коммит не попадает мусор. Плюс Copilot иногда сам видит ошибки линтера в редакторе и переформулирует предложение.
- grigory2566
- Сообщения: 15
- Зарегистрирован: Пн май 11, 2026 6:02 pm
Re: GitHub Copilot выдаёт устаревший код почему и как это лечить
На самом деле проблема глубже — Copilot не знает какие версии библиотек у тебя в проекте. Если пишешь React, он может предлагать Class Components потому что их в интернете больше чем хуков. Помогает явно написать комментарий над местом где хочешь саджест — типа // используя React hooks, functional component — и тогда саджест будет релевантнее.
- tanya_sigma31
- Сообщения: 20
- Зарегистрирован: Чт май 14, 2026 10:41 pm
Re: GitHub Copilot выдаёт устаревший код почему и как это лечить
Copilot Chat в этом плане лучше чем инлайн-саджесты — можно спросить "напиши это с async/await и современным синтаксисом" и он не халтурит. Инлайн completion просто экстраполирует по ближайшему контексту, там контроля меньше.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
-
- GitHub Actions съедает бюджет, селф-хостед раннеры — спасение или геморрой?
7 ответов · 708 просмотров
-
- CVE-2025-53773: prompt injection в Copilot привёл к RCE 9.6. Мы реально открыли ящик Пандоры с RAG
6 ответов · 414 просмотров
-
- GitHub Actions как кэшировать зависимости npm и Docker слои для ускорения CI
6 ответов · 20 просмотров
-
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость