У реализации продукта есть свои особенности. Для обеспечения удобства разработчиков нам приходится писать расширения для разных IDE: VS Code и продуктов от JetBrains. Это две совершенно разные экосистемы.
Расширения для VS Code пишутся на Typescript, а для JetBrains — на Kotlin или Java, поэтому команде приходится писать на двух языках. Взаимодействие с API сильно разное, не говоря уже о графических составляющих. Поэтому особенно интересно реализовать общий логический модуль, за счет которого можно уменьшить дублирование кода.
Оптимизация потребляемых вычислительных ресурсов тоже критична в мире, где не хватает GPU-ускорителей. Мы провели нагрузочные тесты, чтобы подобрать инференс и оптимальные параметры инференса моделей.
Важную роль играет качество самой модели. Для первичного подбора мы использовали HumanEval. Сейчас переходим на более подходящие под наш случай RepoBench и CrossCodeEval — бенчмарки, которые добавляют контекст из других файлов и оценивают совпадение сгенерированного кодового выражения с исходным.