GitHub Copilot on GitHubin julkaisema tekoälyyn pohjautuva ohjelmointityökalu, joka osaa täydentää ohjelmakoodia.[1] Copilot toimii ohjelmoijan apuvälineenä puhtaan ja tehokkaan koodin kirjoittamisessa. Tekoäly voi myös ehdottaa seuraavaa koodiriviä. Työkalun kehityksessä on käytetty OpenAI Codex-algoritmia.[2] Copilot toimii parhaiten ohjelmointikielillä Python, JavaScript, TypeScript, Ruby ja Go.

GitHub Copilot
Kehittäjä GitHub, OpenAI
Kehityshistoria
Ensijulkaisu Lokakuu 2021
Vakaa versio 1.7.4421
Tiedot
Alusta Microsoft Windows
Linux
macOS
Web
Aiheesta muualla
Verkkosivusto

Tekniikka muokkaa

Copilot käyttää avoimen lähdekoodin varastoja, jotka on syötetty OpenAI Codex-tekoälyyn sen pohjatiedoiksi. Käytettyjä varastoja ovat muun muassa StackOverflow ja GitHubin lähdekoodit.[1]

Ominaisuudet muokkaa

Copilot kykenee ymmärtämään ohjelmakoodia ja osaa kirjoittaa sitä itsenäisesti. Copilot kykenee ehdottamaan kokonaisten koodipätkien uudelleenkirjoitusta, jos sen mielestä koodi voidaan kirjoittaa paremmalla tai tehokkaammalla tavalla. Copilot kykenee oppimaan myös ohjelmoijan käyttämää ohjelmointityyliä.[1]

Copilotin Chat-toiminnolle voi antaa tehtäväksi maalatun ohjelmakoodin osan toiminnallisuuden selittämisen. Toiminto analysoi maalatun kohdan ja esittää yksityiskohtaisen selityksen siinä käytettyine muuttujineen. Tarkoituksena on lisätä ohjelmoijan ymmärrystä ja vähentää arvailua.[3]

Copilot on erinomainen ohjelmassa käytettävien sanakirjatietorakenteiden (dictionary) generoimisessa. Niitä käytetään useasti ohjelman ajon aikana siinä annetujen avain-arvo-parien lukemiseen. Toinen tehtävä jossa Copilot suoriutuu erinomaisesti ovat käyttöliittymäelementtien (painikkeet, tekstikentät jne.) luominen. Copilot pystyy myös lisäämään funktioiden yhteyteen kommentit, jotka kuvaavat ihmisille niiden toiminnallisuutta. Copilot pystyy myös erinomaisesti luomaan funktioiden testitapauksia. Tätä kutsutaan yksikkötestien luomiseksi.

Copilotin Enterprise-versio sisältää ominaisuuden, joka tuottaa automaattisen yhteenvedon koodiin tehdyistä muutoksista (pull request). Ohjelmoijan ei siis tarvitse ominaisuutta käyttämällä enää kirjoittaa muille ohjelmoijille alusta alkaen kuvausta siitä mitä on lisätty tai uudelleennimetty tai mitä erillisiä tiedostoja muutos koskee. Tarkoituksena on helpottaa muille ihmisille annetun kontekstin avulla muutosten valvontaa ja hyväksyntää.[4]

Kehitys muokkaa

GitHub ilmoitti Copilotin kehityksestä kesällä 2021. Syksyllä 2021 yhtiö ilmoitti, että 30 prosentissa Copilot-yhteensopivilla ohjelmointikielillä tehdystä verkkosivulle ladattavasta uudesta koodista on hyödynnetty Copilotia.[2]

GitHub Copilotia voi käyttää myös Qt Creatorissa ja on integroitu siihen (GitHub Copilot intelligent assistant) versiosta 12.0 alkaen[5]. Sitä käytetään muiden muassa mobiilisovellusten, KDE-projektin ja muiden graafisten käyttöliittymien tuottamisessa.[6]

Arviot vaikutuksista muokkaa

Axios-sivuston mukaan syksyllä 2021 puolet Copilotia kokeilleista kehittäjistä on ottanut työkalun pysyvään käyttöön.[2]

Lähteet muokkaa

  1. a b c Pyyny, Petteri: GitHub Copilot on tekoälyä käyttävä ohjelmoinnin apuväline Afterdawn. 30.6.2021. Viitattu 18.2.2024.
  2. a b c Kailio, Antti: Tekoäly Copilot nakuttaa koodia – Pitääkö koodareiden huolestua? Kauppalehti. 28.10.2021. Viitattu 18.2.2024.
  3. GitHub at YouTube. The Power of GitHub Copilot Chat For pull requests (Part 1). video.
  4. https://github.com/features/copilot
  5. https://debugpointnews.com/qt-creator-12/
  6. https://doc.qt.io/qtcreator/creator-copilot.html

Aiheesta muualla muokkaa