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

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 3373 02.08.19 12:52 Сейчас в теме
занятная штука
mogilkovv; seperblunt2; +2 Ответить
2. CheBurator 3373 02.08.19 13:11 Сейчас в теме
однако, если обучение шло на большом массиве,то вероятность неоптимальных\кривых подсказок имхо велика. т.к. исходим из того, что большинство прогов пишут "неоптимально". итого, юзание такого инструмента либо приведет к расползанию и умножению нехорошего кода, либо увеличит время программирования из-за анализа и выбора предлагаемых вариантов.
CyberCerber; +1 Ответить
4. s22 19 02.08.19 16:33 Сейчас в теме
(2)
обучение


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

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

См. также

Правительство утвердило разработку российского аналога GitHub

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

Премьер-министр Михаил Мишустин на форуме Kazan Digital Week анонсировал создание отечественного репозитория, аналогичного GitHub. Проект реализуется в рамках второго пакета поддержки ИТ.

22.09.2021    5933    VKuser24342747    9       

Microsoft присоединилась к Open Infrastructure Foundation для развития облаков

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

Microsoft стала платиновым членом организации Open Infrastructure Foundation. Компания будет представлять интересы своих телекоммуникационных клиентов в OpenStack.

15.09.2021    3650    VKuser24342747    0       

Microsoft разрешит устанавливать Windows 11 на старые компьютеры

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

Microsoft пересмотрела правила установки Windows 11, которые не позволяли использовать ОС на компьютерах, не соответствующих системным требованиям. Для инсталляции придется создать загрузочный диск.

14.09.2021    2817    VKuser24342747    0       

Оплата лицом заработает на всех станциях метро Москвы

Новость Искусственный интеллект ИТ-новость Цифровая экономика

В столичном метрополитене внедряют систему FacePay. С 15 октября оплатить проезд можно будет, не доставая смартфон, карту или жетоны из кармана.

14.09.2021    2377    user1015646    2       

«Яндекс» представил технологию автоматического перевода любых видео на русский язык

Новость ИТ-новость Яндекс

«Яндекс» сделал функцию автоматического закадрового перевода иностранных роликов доступной для почти любых видео в интернете. Функция встроена в фирменный браузер компании.

13.09.2021    2430    VKuser24342747    4       

Исследователи синтезировали выразительную устную речь

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

Синтетическое воспроизведение речи от голосовых помощников и автопереводчиков не передает эмоций и интонаций. Специалисты NVIDIA разработали систему искусственного интеллекта, которая решает эту проблему: ее речь сложно отличить от естественной.

10.09.2021    9042    user1015646    0       

GitHub выпустил веб-редактор кода: возможности, о которых вы могли не знать

Новость GitHub Автоматизация Интернет ИТ-новость

Начинающим программистам часто сложно настроить среду разработки и установить весь необходимый софт. Для них, а также для специалистов, которые работают в распределенных командах, GitHub запустил новый сервис github.dev.

10.09.2021    5224    user1015646    0       

Раскрыта дата релиза Windows 11

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

Microsoft официально объявила, когда станет доступна новая версия самой популярной десктопной ОС. Обновиться с Windows 10 до Windows 11 можно будет уже 5 октября 2021 года.

09.09.2021    8726    user1015646    0       

В Google научились увеличивать изображения в 16 раз с восстановлением деталей

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

Раньше увеличить видео с камер наблюдения в десятки раз получалось только у героев фильмов. Но теперь такая возможность существует и в реальной жизни – инженеры Google разработали прорывную технологию масштабирования изображений.

09.09.2021    4237    user1015646    3       

Эксперты подготовили рекомендации по использованию кириллицы в доменах и почте

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

Рабочая группа представила стандарты внедрения, обработки, хранения, валидации и адаптации кириллических символов для программ, поддерживающих доменные имена и email-адреса.

07.09.2021    2851    VKuser24342747    0       

Госструктуры перейдут на российские системы видеоконференций

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

Российских чиновников переводят на использование отечественного сервиса видеоконференций. Будут внедрять систему TrueConf на базе ОС Astra Linux и процессоров Baikal-M от «Байкал Электроникс».

03.09.2021    3209    user1015646    0       

Минэкономики раскритиковало требования к обновлению оборудования для суверенного Рунета

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

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

03.09.2021    2612    VKuser24342747    0       

Разработчики назвали любимые языки программирования

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

Крупнейший форум для разработчиков Stack Overflow составил рейтинг любимых языков программирования. Первую строчку списка занял молодой, но перспективный Rust.

02.09.2021    5247    user1015646    3       

Петербургские ученые обучили нейросеть находить вредоносных ботов в соцсетях

Новость Безопасность Искусственный интеллект ИТ-новость Соцсети

Сотрудники Санкт-Петербургского федерального исследовательского центра Российской академии наук (СПб ФИЦ РАН) создали решение для поиска ботов, размещающих спам и дезинформацию на любом языке.

02.09.2021    2305    VKuser24342747    1       

Windows Server исключается из эксперимента по поставке обновлений Microsoft WaaS

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

По результатам четырехлетнего эксперимента Windows as a Service Microsoft решила, что больше не будет обновлять Windows Server несколько раз в год. Для серверной ОС было решено вернуться к практике обновления каждые 2-3 года.

01.09.2021    5392    SKravchenko    0       

Microsoft добавила в Power BI инструменты аналитики для Angular-приложений

Новость Аналитика ИТ-новость

Microsoft представила новый компонент для создания веб-сервисов аналитики данных. Он позволит интегрировать функции Power BI в Angular-приложения.

31.08.2021    3277    user1015646    0       

Windows 11 лишится нескольких функций предыдущей версии системы

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

Microsoft в бета-версии Windows 11 изменила привычные функции. Из ОС исчезло отображение секунд на часах и возможность быстро добавлять события в календарь, а кнопка «Пуск» переместилась в центр панели задач.

31.08.2021    4951    VKuser24342747    6       

GitHub в версии утилиты CLI 2.0 добавил поддержку расширений

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

Разработчики GitHub представили вторую версию утилиты для управления проектами при помощи командной строки CLI. Приложение поддерживает несколько стандартных расширений и создание собственных.

27.08.2021    6485    VKuser24342747    0       

Круглая дата: ядру Linux исполнилось 30 лет

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

Ядро Linux отмечает юбилей. О создании новой ОС 21-летний Линус Торвальдс объявил 25 августа 1991 года.

27.08.2021    4669    user1015646    2       

Искусственный интеллект научился распознавать изображения лучше человека

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

Алгоритм компьютерного зрения впервые превзошел человека. В экспериментах людям и системе искусственного интеллекта предлагали определить, что изображено на фото, и ответить на вопросы. Результат ИИ оказался выше, чем у человека.

26.08.2021    3687    user1015646    5       

Facebook представил криптобиблиотеку для разработчиков – Winterfell

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

Специалисты Facebook выпустили новую библиотеку Winterfell. Проект с открытым исходным кодом может генерировать доказательство вычислительной целостности STARK.

24.08.2021    4705    user1015646    3       

В GitHub добавлена поддержка цитирования из репозиториев

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

GitHub позволил использовать файл CITATION.cff, в котором можно указать, как правильно ссылаться на содержимое репозитория при написании академических публикаций.

24.08.2021    5055    VKuser24342747    0       

GitHub официально представил новую версию «Обсуждений»

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

GitHub заявил о завершении бета-тестирования обновленной версии раздела Discussions. Релизный вариант площадки для обсуждений репозиториев разрабатывался почти год при активном участии сообщества.

23.08.2021    3308    VKuser24342747    0       

Разработчик создал браузерную версию OpenAI Codex для управления веб-страницами

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

Программист Эндрю Кантино рассказал, что сделал расширение для модификации страниц в Google Chrome, работающее на основе ИИ-ассистента для разработки OpenAI Codex.

23.08.2021    5906    VKuser24342747    0       

Российский разработчик создал эмулятор для запуска приложений iOS на M1 Mac

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

Программа PlayCover позволяет запускать на компьютерах с операционной системой MacOS любые мобильные приложения для iOS, в том числе игры с поддержкой мыши и клавиатуры.

20.08.2021    6402    VKuser24342747    0