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

02.08.2019      25734

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


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

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

См. также

В программу подготовки спортивных программистов вошли бег и скорость печати

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

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    643    VKuser24342747    2       

1

Росстандарт утвердил протокол LoRaWAN для интернета вещей

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

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    427    VKuser24342747    0       

2

Новый закон откладывает на год вступление в силу изменений в порядок регистрации на сайтах

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    607    VKuser24342747    2       

1

Вышло крупное обновление для Android Studio

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

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    719    VKuser24342747    2       

3

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

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

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    487    VKuser24342747    1       

2

Некоммерческие проекты смогут получить бесплатный доступ к GigaChat API

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

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    602    VKuser24342747    2       

3

Состоялся релиз свободной среды разработки Geany 2.0

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    691    VKuser24342747    0       

1

Минцифры подготовило критерии по выбору оператора реестра провайдеров хостинга

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило проект постановления, которое утверждает требования к организации, претендующей на статус оператора реестра провайдеров хостинга.

25.10.2023    357    VKuser24342747    0       

1

Минцифры составило алгоритм действий для компаний, у которых не работает VPN

Новость Минцифры ИТ-Новость

Минцифры подготовило разъяснения для российских организаций, у которых возникли перебои в работе VPN-сервисов для клиентов и сотрудников из-за блокировки запрещенных ресурсов Роскомнадзором.

24.10.2023    612    VKuser24342747    0       

0

«Сбер» объявила о доступности SberLinux OS Server для российских компаний

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

«СберТех», дочерняя компания «Сбера», объявила о предоставлении доступа к собственной серверной операционной системе SberLinux OS Server российским компаниям. ОС включена в реестр отечественного ПО.

20.10.2023    829    VKuser24342747    0       

2

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

Новость Минцифры ИТ-Новость Роскомнадзор

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

18.10.2023    456    VKuser24342747    0       

1

Google выпустила финальную версию Android 14

Новость Android Google ИТ-Новость

Google выпустила новую версию мобильной ОС Android 14. Изменения затронули настройки внешнего вида и безопасности. Были расширены возможности камеры и инструментов для хранения данных.

12.10.2023    672    VKuser24342747    0       

1

Яндекс объявил об открытии исходного кода DataLens

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

BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.

03.10.2023    1370    ЕленаЧерепнева    1       

6

Роскомнадзор создаст реестр хостинг-провайдеров

Новость Минцифры ИТ-Новость Роскомнадзор

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

02.10.2023    561    VKuser24342747    0       

1

«СберТех» представил репозиторий GitVerse с ИИ-помощником для написания кода

Новость Импортозамещение ИТ-Новость Программист

«СберТех» начал прием заявок на тестирование веб-сервиса для публикации ИТ-проектов GitVerse. Платформа подходит для разработки программ с открытым и закрытым кодом.

26.09.2023    767    VKuser24342747    2       

1

ИП и юрлица смогут использовать смартфон для создания и замены электронной подписи

Новость ИТ-Новость ФНС Цифровая подпись

ФНС внесла изменения в правила оформления электронной подписи руководителя организации и ИП. Станет возможным продлевать ее и записывать при помощи мобильного устройства.

18.09.2023    415    VKuser24342747    1       

1

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

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

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1262    VKuser24342747    4       

2

В бета-версии Microsoft 365 появилась поддержка языка Python для Excel

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

С помощью библиотек и средств визуализации Python можно будет манипулировать данными Excel, а затем использовать полученные результаты в формулах, диаграммах и сводных таблицах.

28.08.2023    643    VKuser24342747    0       

2

Специалисты Калифорнийского университета установили, что боты справляются с CAPTCHA лучше, чем люди

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

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

24.08.2023    1141    VKuser24342747    23       

2

Google Chrome начнет поддерживать квантово-устойчивые алгоритмы шифрования

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

В версии Google Chrome 116 появится поддержка алгоритмов шифрования, устойчивых к попыткам дешифрации при помощи квантовых вычислений. Технология объединяет преимущества классической и инновационной криптографии.

24.08.2023    466    VKuser24342747    0       

1

В реестр российского ПО включен первый комплекс обработки больших данных

Новость Импортозамещение Минцифры ИТ-Новость Реестр ПО

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

22.08.2023    452    VKuser24342747    0       

1

Microsoft внедрила новые функции в GitHub Copilot и анонсировала Windows Copilot

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

ИИ-помощник для разработчиков GitHub Copilot теперь не только в реальном времени анализирует код, предлагает варианты для его улучшения и помогает найти решение проблем в разработке, но и  показывает ссылки на репозитории, из которых взят код. 

17.08.2023    1138    VKuser24342747    0       

1

В JetBrains разработали ИИ-помощника для аналитиков данных

Новость Аналитика Искусственный интеллект

JetBrains представила нейросеть Ask AI для онлайн-блокнота Datalore. Виртуальный ассистент способен генерировать код на нескольких языках, предлагать доработки и упрощать процесс аналитики данных. 

16.08.2023    651    VKuser24342747    0       

1

Исследование: ChatGPT дает неправильный ответ на половину вопросов о программировании

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

Чат-бот OpenAI ошибается в 52% случаев, когда отвечает на вопросы по программированию. Однако делает это так убедительно, что пользователи не замечают ошибки. 

14.08.2023    988    VKuser24342747    5       

3

Минцифры проведет эксперимент по цифровизации «жизненного цикла» госслужащего

Новость Минцифры ИТ-Новость

Минцифры подготовило постановление о проведении эксперимента по внедрению ИТ в управление «жизненным циклом» госслужащего. Ведомство намерено автоматизировать все этапы работы сотрудников госструктур.

04.08.2023    548    VKuser24342747    0       

2