TeamLead, Software Engineer в SPD Technology
  • Github Copilot. Мій досвід використання

    Здебільшого згоден. З власного досвіду — на великих проектах з складною логікою використовував Copilot для таких кейсів — написання коментарів, еррор-меседжів, допомога з підбором назв методів та змінних, генерував подібні тест-кейси до тих, які вже існували в тест класі, при написанні якихось простих утільних методів. Це не дуже багато, але все таки допомога, яка була мені цінною в умовах обмеженого часу.
    Також Copilot був корисним при написанні великої кількості SQL в процесі аналізу даних, особливо на мітингах в процесі обговорення рішення.

    З складнішими задачами виникали складнощі і легше було самому написати, аніж пояснити Copilot’у що ти очікуєш від нього.

  • Github Copilot. Мій досвід використання

    З апдейтами GitHub Copilot розробники збільшують розмір контексту (фрагменти коду з поточного файлу, код з файлів, які відкриті або нещодавно відкривалися і тд), який збирає Copilot на клієнті для того щоб потім формувати prompt і відсилати на LLM. І мені здається що вони рухаються в сторону коли весь проект буде використовуватися для формування контексту.

    Ще бісить, коли він не догенеровує функції

    згоден, інколи я помічав що ще треба додавати Enter’ом пустий рядок після того як він згенерив кілька рядків шматка логіки, щоб почав генерити інший шматок. Так буває в мене коли я в коменті описав всі кроки (step’и), а далі покроково він генерить його. Між кроками він інколи чекає поки не додам пустий рядок або не почну писати наступний крок сам.

  • Github Copilot. Мій досвід використання

    Якщо коротко — мене поки що влаштовує які дані він збирає (docs.github.com/...​t-for-individuals-collect) та як він їх використовує. Читав їх ліцензійну угоду — також все ніби добре.

    Для себе я відмітив таку умовно «безпечну» модель взаємодії з GitHub Copilot
    а) користуватися планом Copilot for Business
    b) або ж планом Copilot for Individuals, але з виключеним Allow GitHub to use my code snippets for product improvements в налаштуваннях

    Знову ж таки, моя довіра базується на тому що стверджує і заявляє GitHub. Так само я довіряю Apple коли на своєму Macbook пишу свій пропрієтарний код та вірю в те що Apple його не передасть нашим конкурентам.

    Я не експерт по LLM, тому якщо тут є експерти по AI, які можуть пояснити (або ж надати лінку на статтю чи дослідження) в яких умовах LLM можуть на виході згенерити точно такий код (або дуже схожий код) до того, який я відправив в LLM через prompt — я буду вдячний.

    Підтримав: Oleksii Shavykin
  • Github Copilot. Мій досвід використання

    Не пробував tabnine, спробую за нагоди.

    чи можна відключити відправку данних у хмару

    Так щоб prompt (який містить деталі про контекст того що ви пишете і частини вашого коду) не виходив за межі локальної машини — то ні, це не можливо. LLM знаходиться на стороні GitHub.
    Можна впливати на те чи використає ваш prompt GitHub для покращення моделі чи якогось аналізу — так, можна. Треба відключити «Allow GitHub to use my code snippets for product improvements» чекбокс на сеттінгах вашого акаунту. github.com/settings/copilot. А ще краще користуватися Business планом (docs.github.com/...​thub-copilot-for-business)

    А вміє він вчитись на локальних данних

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