ru:https://highload.today/blogs/na-shho-zdatnij-novij-shi-asistent-dlya-koderiv-copilot-x-pershi-vrazhennya/ ua:https://highload.today/uk/blogs/na-shho-zdatnij-novij-shi-asistent-dlya-koderiv-copilot-x-pershi-vrazhennya/
logo
Machine Learning      14/06/2023

На що здатний новий ШІ-асистент для кодерів Copilot X: перші враження

Сергій Гузенко BLOG

CEO у WEZOM

Ми продовжуємо слідкувати за новими інструментами для розробників на основі генеративного ШІ. Сьогодні у поле нашого зору потрапив один з найцікавіших та найперспективніших екземплярів – Copilot X.

Це повноцінний цифровий асистент для кодерів на базі GPT-4, який може допомогти з написанням нового коду, рефакторингом, автотестуванням – та й взагалі, юз-кейсів йому вигадують чимало. Настав час поглянути на Copilot X, аби оцінити його сучасні можливості та потенціал. 

Що таке Copilot X

Штучний інтелект автодоповнення коду Copilot було запущено командою Github ще у 2021 році, задовго до хвилі хайпу навколо ChatGPT. Та зовсім нещодавно, у березні, він отримав велике оновлення з розумним чатботом. “Другий пілот” розуміє природну людську мову й вбудовується безпосередньо в IDE, аби на 100% розуміти код розробника і контекст його проєкту. 

В GitHub кажуть, що за допомогою ШІ кодери навіть зможуть кодити без клавіатури, за допомогою голосових команд. До цього, мабуть, ще далеко, але Copilot дійсно дає новий досвід розробки – він допомагає швидше розібратись у документації, провести рефактор чи автотести, миттєво згенерувати новий шаблон з нуля. 

Як це працює?

Оцінити цей досвід наразі можуть не всі, доступ до Copilot X надається лише за листом очікування, адже зараз він на етапі закритої бети. Однак ми можемо орієнтуватися на перші огляди й відгуки щасливців, які вже користуються новим сервісом. 

На практиці “другий пілот” інтегрується в IDE – точно відомо про підтримку Visual Studo та VS Code. Імовірно надалі з`явиться підтримка JetBrains та Neovim.

Ютубер glich.stream наживо провів з новою технологією декілька експериментів. Його мета полягала в тому, аби випробувати можливості чатбота у реальних задачах розробника. 

У першому кейсі кодер спробував використати Copilot X, аби з нуля створити розширення GitHub CLI, використовуючи для цього Go. Відтак він просто написав свій запит чатботу природною мовою, якою б він звертався по допомогу до живої людини: “Як мені створити розширення GitHub CLI за допомогою Go?”. І чатбот у відповідь пропонує йому покрокову інструкцію з прикладом коду.

Поради Copilot виглядають релевантними, особливо якщо уявити, що поради адресовані новачкові в Go. Так, помічник рекомендує використовувати бібліотеку Cobra для визначення команд та пропонує відповідну бібліотеку для взаємодії з API Github. Асистент також згенерував шаблон коду – принаймні з нього можна почати, хоча перше рішення не є оптимальним та вимагає певної ручної доробки. Примітно, що якщо код не працює, бот перепрошує і пропонує розробнику альтернативні рішення чи пакети.

Кодер закликає бути обережним із використанням ШІ задля створення проєктів з нуля. Фактично ми не знаємо джерела інструментів, які може пропонувати бот, і це може стати вектором кібератаки для різноманітних зловмисників.

Кіноклуб "Забагато драми" від Skvot.
10 лекцій та 10 практикумів, щоб зрозуміти мистецтво кіномови.Сформуй власний смак та бібліотеку фільмів і навчись писати рецензії.
Програма кіноклубу

У другому експерименті glich.stream спробував застосувати чатбота Copilot, аби зрозуміти щось у вже наявному коді. За зразок було взято частину вихідного коду Twitter, який не так давно оприлюднив Ілон Маск. 

Кодер задає боту вкрай коротке питання: “що робить цей код?”. І Copilot у відповідь починає його опис у стилі “Капітана Очевидність”. Навряд це буде корисно розробнику, який прагне здобутий зрозумілий контекст. 

Вочевидь, боту потрібні більш предметні запити. Розробник врешті ставить йому питання щодо першої ліпшої сутності в коді: “What is Stitch?”. І отримує дійсну корисну відповідь. Copilot припускає, що йдеться про псевдонім типу або користувацький клас, визначений ще десь у кодовій базі. Крім того, бот чудово проявив себе, створивши коротку інформацію з Readme. Відтак, якщо проєкт добре структурований та наділений якісним Readme, то Copilot може зекономити безліч часу і надати зручну навігацію. 

Нарешті, третій експеримент стосувався використання Copilot X для рефакторингу наявного коду. Як зразок glich.stream використовував утиліту пошуку стартових репозиторіїв на Github, яку створив кілька років тому – їй якраз не завадить рефактор певних функцій та методів. 

Для початку Copilot зміг природною мовою описати параметри проєкту, точно пояснити сутність коду. Це вже непоганий результат. Тож кодер вирішив доручити Copilot  те, з чого почав би рефактор: замінити бібліотеку Axios на інтерфейс Fetch, застосувати async/await замість promises. Штучний інтелект в цілому впорався, до того ж допоміг розробнику виявити несумісність Fetch із застарілою версією Node.js.

Автотестування за допомогою Copilot X

Розробник Раян Вуд у своєму блозі описує свій досвід використання боту для генерації тестів. Він попросив Copilot X спробувати згенерувати юніт-тести для написаної ним функції, і ШІ зміг згенерувати під його запит більшу частину шаблонного коду та тестові дані. При тому вони відповідали тим даним, які розробник використовував у тестах в тому ж файлі. “Спіткнувся” бот на генерації точного SQL-запиту, який функція надіслала б на сервер, але це було легко усунути. 

Загалом Copilot показав хороші результати у генерації тестів, проте, як і в інших завданнях, ШІ потребує контролю і скерування у правильному напрямку. Розробники мають бути готові витрачати час на ручну перевірку та виправлення згенерованого коду для повного покриття тестами.

Відгуки про Copilot X

Наші розробники, яким пощастило доторкнутися до Copilot X, кажуть, що він чудово демонструє себе у генерації шаблонного коду, особливо коли навчається на вже готових зразках. Він “на льоту” підлаштовується під ваш стиль кодингу, дотримується синтаксису і швидко починає видавати результати, які ви легко можете сприйняти за свої. ШІ також ладен без підказки застосовувати ті самі пакети, які ви вже застосовували вище, у цьому ж файлі. А іноді може запропонувати й щось “від себе”, за межами окреслених вами інструментів. 

Курс Project Manager від Powercode academy.
Онлайн-курс Project Manager. З нуля за 3,5 місяці до нової позиції Без знання коду, англійської та стресу.
Зарееструватися

Водночас у роботі із нешаблонним кодом Copilot X скоріше заважає. Принаймні, на формулювання релевантного запиту під таке завдання може піти непропорційно багато часу. 

Втім, його завдання лежить в іншій площині: Copilot цілком здатний взяти на себе шаблонну роботу, з урахуванням контексту проєкту. Він незамінний із заповненням різноманітних JSON-даних, побудовою простих елементів в React тощо. Єдина проблема – з часом ти починаєш занадто сильно йому довіряти. 

Імовірно з Copilot X можна здобути набагато більше користі, якщо глибоко вивчити його можливості та навчитись формулювати релевантні запити. Це безперечно потужний асистент – інтегрована в IDE “консультація з гуглу”, інструмент автоматизації та генератор ідей. Втім, на “вбивцю професії” він не схожий. Принаймні поки що, у стані бети, на самому початку свого життєвого циклу.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Бізнес англійська від Englishdom.
Тут навчають за методикою Кембриджу, завдяки якій англійську вивчили понад 1 мільярд людей. Саме вона використовується в найкращих навчальних закладах світу, і саме за нею створені курси.
Інформація про курс

Цей матеріал – не редакційний, це – особиста думка його автора. Редакція може не поділяти цю думку.

Топ-5 найпопулярніших блогерів березня

PHP Developer в ScrumLaunch
Всего просмотровВсього переглядів
2434
#1
Всего просмотровВсього переглядів
2434
Founder at Shallwe, Python Software Engineer (Django/React)
Всего просмотровВсього переглядів
113
#2
Всего просмотровВсього переглядів
113
Career Consultant в GoIT
Всего просмотровВсього переглядів
95
#3
Всего просмотровВсього переглядів
95
CEO & Founder в Trustee
Всего просмотровВсього переглядів
94
#4
Всего просмотровВсього переглядів
94
Рейтинг блогерів

Найбільш обговорювані статті

Топ текстів

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: