Автодополнение кода упирается не в модель, а в сбор контекста
Разница между дополнением, которое угадывает нужную строку, и дополнением, которое предлагает несуществующий метод, редко объясняется размером модели. Практика показывает, что решающим оказывается retrieval — какие фрагменты проекта редактор успел подложить в запрос за те миллисекунды, что есть до показа подсказки.
Базовый набор сигналов у большинства инструментов схож: текущий файл до и после курсора, недавно открытые вкладки, определения символов из-под курсора. Дальше начинаются расхождения — кто-то тянет соседей по директории, кто-то ищет похожие фрагменты по эмбеддингам, кто-то опирается на индекс языкового сервера.
Почему подсказки врут в больших проектах
На монорепозитории простая эвристика «взять соседние файлы» перестаёт работать: рядом лежат сгенерированные заглушки и тесты, а настоящая реализация находится в другом пакете. Модель добросовестно продолжает то, что ей показали, и выдумывает сигнатуру, похожую на устаревшую.
Отсюда практический вывод, который повторяют разработчики: прежде чем менять инструмент, стоит посмотреть, что он вообще отправляет. Многие расширения умеют логировать собранный контекст, и часто выясняется, что нужного файла в запросе просто нет.
Второй эффект того же порядка — задержка. Чем шире сбор контекста, тем позже появляется подсказка, а дополнение, опоздавшее на полсекунды, пользователь уже не читает. Инструменты вынуждены балансировать между полнотой и скоростью, и выбор этой точки заметнее, чем выбор самой модели.
Что это значит
Подробности и первичное описание опубликованы на странице «как пользоваться профессиональной версией модели», там же собраны условия доступа и ограничения, о которых заявили разработчики.
Похожие материалы и обновления по теме мы собираем в разделе Открытые модели и локальный запуск — он пополняется по мере выхода новых сообщений.