Кодить станет проще: представлен умный инструмент для автозаполнения в редакторах кода

02.08.2019     

Программист Джейкоб Джексон, изучающий информатику в канадском Университете Ватерлоо, написал интеллектуальное средство автозавершения строк – Deep TabNine. Инструмент поможет разработчикам быстрее писать код за счет автозаполнения. Выбирая один из предложенных вариантов завершения строк, разработчик сможет писать код быстрее и избавляется от ошибок, которые тормозят процесс разработки.

Как работает TabNine

TabNine создан на базе технологий машинного обучения. Разработчики отметили: глубокое обучение действительно наделало немало шума в разных отраслях, но в основном это были эксперименты вроде синтеза речи или создания фотореалистичных портретов. В программировании TabNine – едва ли не первое практическое применение технологии.

 

TabNine помогает программисту писать код на Python

 

Инструмент использует модель GPT-2 для обработки естественного языка. Разработчики адаптировали модель, чтобы она могла понимать код. Широкие возможности, характерные для анализа естественного языка, решили не убирать. TabNine работает с комментариями и документацией – и здесь успешное автозаполнение экономит время на написание кода. 

Модель тренировали на 2 млн файлов с GitHub. Их брали из открытых репозиториев. В результате TabNine уловил закономерности и в большинстве случаев успешно дополнил написанное. 

Кому подойдет TabNine

Инструмент уже работает с популярными языками программирования - Python, C++, Java и Haskell и еще восемнадцатью. Он совместим с редакторами кода Microsoft Visual Studio Code и Sublime Text, а также с другими редакторами – Atom или Vim.

Пока TabNine существует лишь в бета-версии. Что протестировать ее, нужно зарегистрироваться на сайте проекта. 


Автор:
Ксения Шестакова Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3425 02.08.19 12:52 Сейчас в теме
занятная штука
mogilkovv; seperblunt2; +2 Ответить
2. CheBurator 3425 02.08.19 13:11 Сейчас в теме
однако, если обучение шло на большом массиве,то вероятность неоптимальных\кривых подсказок имхо велика. т.к. исходим из того, что большинство прогов пишут "неоптимально". итого, юзание такого инструмента либо приведет к расползанию и умножению нехорошего кода, либо увеличит время программирования из-за анализа и выбора предлагаемых вариантов.
CyberCerber; +1 Ответить
4. s22 19 02.08.19 16:33 Сейчас в теме
(2)
обучение


Тут используется алгоритм машинного переводчика. Значит по большому счет удостаточно, что бы оптимальных примеров было 90%.
Маловстречающиеся будут вытесненны.
6. m_aster 83 02.08.19 17:09 Сейчас в теме
(4)
В ролике видно, что система подбирает максимум пять строк с процентным отношением популярности программных конструкций, если они из рабочего кода, то сама конструкция правильная с точки зрения синтаксиса, поэтому ее можно смело вставлять в свой код. Исправить под себя никто не мешает. Хорошее подспорье.
Krio2; sansys; +2 Ответить
7. s22 19 02.08.19 18:13 Сейчас в теме
(6)
В ролике видно, что система подбирает максимум пять строк с процентным отношением популярности программных конструкций, если они из рабочего кода, то сама конструкция правильная с точки зрения синтаксиса, поэтому ее можно смело вставлять в свой код. Исправить под себя никто не мешает. Хорошее подспорье.

Если это GPT-2, то тут система пишет код точно так же как например рассказ или делает перевод. Тут не будет код всегда синтаксически корректным.
8. m_aster 83 02.08.19 22:57 Сейчас в теме
(7)
По ссылке https://habr.com/ru/post/440564/:
"Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд, против обычно используемых в таких случаях 100-300 млн) оказалась способна генерировать целые страницы связного текста.
Генерировать настолько хорошо, что в OpenAI отказались выкладывать полную версию, опасаясь что эту нейросеть будут использовать для создания фейковых новостей, комментариев и отзывов, неотличимых от настоящих."
Т.е, очень похоже на то, как пишут люди. Пишите правильный код и все будет как надо.
13. protexprotex 126 03.08.19 11:59 Сейчас в теме
(2) Есть такое понятие в машинном обучение - мудрость толпы или Бэггинг - обучение. Т.е. если есть у Вас человек 1000 которые не очень то хорошо (и это обязательное условие для этой технологии) разбираются в каком - то вопросе, и Вы их спросите дать количественную оценку какого- то явления, а потом усредните ответы, то с удивлением обнаружите, что среднее значение ответов очень близко к правильному ответу. Например - покажите им всем корову и спросите сколько она весит (на "глаз" чтобы определили) - ответы будут отличаться, но в среднем ответ будет практически точным. Вот так вот работает эта технология. Здесь же все то же самое - у всех будут вариации, но в среднем можно выбрать общий тренд.
14. spacecraft 03.08.19 12:25 Сейчас в теме
(13) это просто еще одно подтверждение вычислений по теории вероятности.
Вот если 1000 человек будут называть корову совсем другим именем, то и машинное обучение будет давать не верный результат. Результат будет максимальное количество одинаковых значений.
18. protexprotex 126 03.08.19 14:36 Сейчас в теме
(14) Это да. Но если Вы им скажеет, как корову зовут, и скажете, что в имени коровы есть буква У, то большинство скажет, что это Мурка. Хотя будут и варианты Муська, Пуська и пр. Хотя, тут очень зависит от национальности и ходости этого имени. Так что, естественно на результат будет влиять даже национальность и темперамент людей. Но если применить принцип максимального правдоподобия, то все равно мат. ожидание результата и дисперсия будет ожидаемой - т.е. распределение будет по Гауссу. Ну только если толпа не совсем дураки :-) - хоть чуть - чуть понимают о чем речь идет.
3. m_aster 83 02.08.19 14:17 Сейчас в теме
Прикольная штука. Вспоминается начало 2000-х и Делфи 5-6 с ее кодинсайтом, удобная была вещь. Всегда ее вспоминаю, когда вижу это в 1С. Здесь примерно такая же штука, только для нескольких языков сразу с оптимальным набором похожих программных конструкций для того или иного языка. Удобно.
5. s22 19 02.08.19 16:33 Сейчас в теме
Для 1с ее можно обучить на ERP
9. Lapitskiy 977 03.08.19 06:45 Сейчас в теме
похоже на открытие Америки "через форточку". Месье не пользовался IDE типа IntellliJ IDEA и т.п.?
Очевидно, студент и это его дипломная работа. Бесмыссленная и беспощадная.
10. m_aster 83 03.08.19 08:16 Сейчас в теме
(9)
Будьте добрее, вы сами были когда-то студентом. А парень молодец. Почему все пишут, что большинство пишет криво и система подсовывает кривые подсказки? Может не стоит говорить за всех. Тогда уж и сама 1С не все пишет идеально и часто отходит от собственных стандартов. Но все же лучше брать пример с того кода, который есть в типовых решениях. Чтобы был какой-то эталон и можно было что-то понимать.
Lapitskiy; +1 Ответить
15. Lapitskiy 977 03.08.19 12:46 Сейчас в теме
(10) Я не против дипломных работ и студентов, честно. Но вот там пытаются народ в заблуждение ввести.
Типа великое открытие и т.п.
Понимаю и источник распространения - надо отчитаться за "освоенный бюджет".
11. PerlAmutor 106 03.08.19 09:09 Сейчас в теме
Следующий шаг - автоматическое исправление ошибок в конфигурации после статического анализа кода, анализа ЖР, анализа ТЖ. Автоматическое создание и заполнение цепочки документов., вывод печатных форм на принтер, корректировка документов перед закрытием месяца, расчетом себестоимости. Оптимизация процессов производства, оптимизация штата сотрудников, оптимизация руководящего состава...
16. Lapitskiy 977 03.08.19 12:49 Сейчас в теме
(11) тем временем в кремниевой долине "учителя искуственного интеллекта" в поте лица обучают алгоритмы... Кстати недавно бунтовали, что и мало платят за обучение ИИ и жаловались на переработки. Новые технологии породили новую профессию - "учитель ИИ".
17. CheBurator 3425 03.08.19 13:00 Сейчас в теме
(11) все перейдет в бюрократию. меньше работы не будет
12. aximo 1601 03.08.19 10:37 Сейчас в теме
машинное обучение - это величайшая афера из афер, имхо
19. PerlAmutor 106 03.08.19 20:21 Сейчас в теме
(12) Смотря как рассматривать эту технологию. Если как Панацею от всего, то может быть. Но определенный ряд задач она уже решает. Только представьте, что когда-нибудь будет где-то кластер серверов на котором существует искусственный интеллект, который обучался больше 200 лет, что не может себе позволить ни один человек, у которого уходит большой кусок жизни только чтобы освоить базовый школьный курс.
20. YanTsys 12 05.08.19 09:00 Сейчас в теме
Насчет правильности кода, если к системе прикрутить сопоставление того кода который программисты пишут изначально и того который потом идет в релиз то со временем можно будет подчеркивать неправильный код как в ворде подчеркиваются ошибки.
Тут интереснее другой вопрос:
Если ваш код будет на 90% состоять из автозаполнения как вы потом докажете авторские права?
21. DoctorRoza 05.08.19 11:23 Сейчас в теме
Откуда среда берет данные по популярности конструкций, со https://stackoverflow.com/ ?
Оставьте свое сообщение

См. также

IEEE опубликовал свежий рейтинг языков программирования

Новость ИТ-новость Языки программирования

Институт инженеров электротехники и электроники IEEE Spectrum недавно опубликовал свой рейтинг языков программирования за 2020 год. Как и в последние несколько лет Python снова лидирует, но есть и несколько сюрпризов.

вчера в 13:26    288    SKravchenko    0       

Facebook запускает конкурента Zoom

Новость ИТ-новость Мессенджеры Новости компаний

23 июля Facebook объявил, что расширяет возможности Messenger Rooms и Facebook Live, – теперь пользователи могут организовывать онлайн-совещания с участием до 50 человек.

03.08.2020    364    SKravchenko    0       

Виртуальные фанаты заполнят пустые стадионы

Новость Искусственный интеллект ИТ-новость Телекоммуникации

Из-за пандемии COVID-19 сто двадцатый сезон в истории главной лиги бейсбола США пройдет с пустыми стадионами. Но Fox Sports для своих трансляций будет заполнять трибуны виртуальными фанатами с цифровой визуализацией.

31.07.2020    487    SKravchenko    2       

Начался выпуск российских материнских плат для ARM-процессоров «Байкал»

Новость Импортозамещение ИТ-новость Микроэлектроника

Первую российскую материнскую плату для нового ARM-процессора Baikal-M представили компании «Байкал электроникс», «Эдельвейс» и «Базальт СПО». Ориентировочная стоимость платы – 50 тыс. рублей.

30.07.2020    621    user1015646    3       

Банки оценили переход на отечественное ПО в сотни миллиардов рублей

Новость Банки ИТ-новость Цифровая экономика

Российские банки пересчитали планируемые расходы на внедрение отечественных программ. Затраты финансовых учреждений могут составить до 150 млрд рублей.

30.07.2020    426    VKuser24342747    0       

Молодые сотрудники используют больше разных приложений для работы

Новость Автоматизация Аналитика ИТ-новость

Исследование, проведенное консалтинговой фирмой Creative Strategies по изучению сотрудничества, показало значительные различия в стиле и подходе к работе у разных возрастных групп.

29.07.2020    727    SKravchenko    0       

Microsoft представила утилиту для мониторинга процессов в Linux

Новость Linux ИТ-новость Новости компаний

Компания Microsoft выпустила утилиту ProcMon (Process Monitor) для Linux. Программное обеспечение распространяется под открытой лицензией MIT. Ранее ProcMon была доступна только для Windows.

29.07.2020    619    user1015646    2       

Google сделает Android Go обязательной на устройствах с ОЗУ меньше 2 ГБ

Новость Google ИТ-новость Мобильные приложения

С октября 2020 года на все новые Android-устройства, имеющие объем ОЗУ 2 ГБ и менее, Google заставит устанавливать Android Go – модифицированную версию Android для устройств начального уровня.

28.07.2020    1437    SKravchenko    0       

Google Cloud представил новые средства безопасности

Новость Google Безопасность ИТ-новость

Облачная платформа Google Cloud разработала новые инструменты для обеспечения безопасности. Они ориентированы на крупные коммерческие компании, банки и государственные учреждения.

28.07.2020    537    user1015646    0       

ПК на Windows могут перейти на ARM-процессоры

Новость Windows Mac OS ИТ-новость Микроэлектроника

22 июня Apple объявила о переходе Mac на процессоры собственного производства на базе архитектуры ARM. Первые системы появятся к концу года, начав двухлетний переходный период.

24.07.2020    1146    SKravchenko    1       

Разработчики GitHub представили GCM Core – инструмент универсальной аутентификации для Git-серверов

Новость GitHub ИТ-новость

Git Credential Manager Core – это кроссплатформенный инструмент, который может стать альтернативой традиционной HTTPS- или SSH-аутентификации для Git-серверов. Планируется, что в будущем он заменит существующие утилиты аутентификации для Windows, macOS и Linux.

24.07.2020    951    user1015646    1       

Google выпустила большое обновление Chrome

Новость Google Безопасность Интернет Интерфейсы ИТ-новость

14 июля Google выпустила стабильную версию браузера Chrome 84 Desktop для Windows, Mac и Linux. Новый Chrome получил поддержку Web OTP API, ярлыки PWA и умеет блокировать навязчивые уведомления.

23.07.2020    1117    SKravchenko    0       

GitHub разместил пленочный архив открытого кода в арктическом хранилище

Новость GitHub ИТ-новость

GitHub завершил масштабный перенос архива открытого исходного кода в хранилище Arctic World Archive. Данные будут храниться в виде фотоснимков на пленочных накопителях.

22.07.2020    916    VKuser24342747    2       

Денег нет: «Сколково» прекратило выдавать некоторые гранты до 2021 года

Новость ИТ-новость Минфин Стартапы Цифровая экономика

Фонд «Сколково» приостановил выдачу грантов за деньги Минфина. Высокотехнологичные компании смогут претендовать на финансирование только в следующем году.

21.07.2020    943    VKuser24342747    1       

Docker и Amazon Web Services провели взаимную интеграцию инструментов разработчика

Новость Интеграция ИТ-новость Новости компаний

Docker и Amazon вышли на новый этап партнерства. Компании завершили двустороннюю интеграцию инструментов разработчика: Elastic Container Service (ECS) и ECS on AWS Fargate A293; со стороны Amazon; Compose и Desktop developer – со стороны Docker.

20.07.2020    801    user1015646    0       

Министерство связи запустит единую платформу «Гостех» до конца 2021 года

Новость Законодательство ИТ-новость Минкомсвязь

Минкомсвязь определила правила проведения эксперимента по созданию единой цифровой платформы «Гостех». Поставщик и оператор системы до сих пор не назван.

17.07.2020    953    VKuser24342747    0       

Microsoft не планирует поддерживать PHP 8.0 для Windows

Новость Windows Интернет ИТ-новость Новости компаний

Инженер Microsoft Дейл Хирт объявил, что Microsoft не будет больше поддерживать сборки Windows для языка сценариев PHP начиная с версии 8.0 и выше. Но компания планирует пока «продолжить разработку и сборку PHP под Windows для 7.2, 7.3 и 7.4».

17.07.2020    959    SKravchenko    1       

«Яндекс» и Mail.ru по поручению правительства разработают аналог Zoom

Новость Mail.Ru ИТ-новость Минкомсвязь Новости компаний Облачные технологии Яндекс

Минкомсвязь совместно с российскими ИТ-компаниями хочет создать отечественного конкурента Zoom. В ведомстве убеждены, что России необходимо иметь свое приложение для видеоконференций.

16.07.2020    1221    VKuser24342747    4       

Amazon запустил сервис Honeycode для создания приложений без кода

Новость Интерфейсы ИТ-новость Новости компаний Облачные технологии

Новый сервис под названием Honeycode позволит клиентам Amazon Web Services без какого-либо опыта программирования создавать собственные приложения

16.07.2020    1100    SKravchenko    1       

Оператор маркировки запустил роуминговый обмен с ЭДО Лайт

Новость Infostart Software Partners Маркет Маркировка

К электронному документообороту от «Честного Знака», бесплатно доступному для представителей малого бизнеса, работающих с маркированным товаром, подключили роуминг с другими операторами.

14.07.2020    1692    Senator_I    0       

Создан дистрибутив Linux с рекордно быстрой загрузкой

Новость ОС Linux ИТ-новость

Разработчик Эрик Моквист представил Monolinux – дистрибутив Linux со скоростью загрузки в 0,37 с. на одноплатных ПК размером с кредитку.

13.07.2020    1159    user1015646    0       

AMD объявила о поддержке аппаратного ускорения машинного обучения в Windows 10

Новость Windows Искусственный интеллект Маркет Микроэлектроника

17 июня AMD объявила о поддержке проекта машинного обучения с ускорением на GPU в Windows 10. Это позволит пользователям и разработчикам с аппаратным обеспечением AMD получить доступ к процессам обучения ML и оттачивать свои навыки на компьютерах, которые они используют для повседневной работы.

13.07.2020    1224    SKravchenko    3       

Путин рассказал о грядущих проектах в ИТ-отрасли

Новость ИТ-новость

Владимир Путин поручил Госдуме рассмотреть возможность принятия законопроекта об экспериментальных правовых режимах, а правительству – предоставить ЦОДам льготные тарифы на электроэнергию. 

09.07.2020    1060    VKuser24342747    1       

Mail.ru и Amazon совместно запустят облачный сервис в РФ

Новость ИТ-новость Новости компаний Облачные технологии

Один из крупнейших облачных провайдеров Amazon Web Services (AWS) полноценно выходит на российский рынок. Новый облачный сервис компания запустит в РФ совместно с Mail.ru Group.

08.07.2020    964    user1015646    0       

Черный список слов: Linux может избавиться от терминов «slave» и «blacklist»

Новость ИТ-новость Языки программирования

Разработчики ядра Linux усмотрели расизм в некоторых устоявшихся терминах системы. Они предлагают заменить их на нейтральные, чтобы соответствовать текущим глобальным веяниям и изменениям.

07.07.2020    880    VKuser24342747    3