GitHub Copilot
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 | |
Infobox OK |
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.
Tekniikka
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
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
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
Axios-sivuston mukaan syksyllä 2021 puolet Copilotia kokeilleista kehittäjistä on ottanut työkalun pysyvään käyttöön.[2]
Lähteet
- ↑ a b c Pyyny, Petteri: GitHub Copilot on tekoälyä käyttävä ohjelmoinnin apuväline Afterdawn. 30.6.2021. Viitattu 18.2.2024.
- ↑ a b c Kailio, Antti: Tekoäly Copilot nakuttaa koodia – Pitääkö koodareiden huolestua? Kauppalehti. 28.10.2021. Viitattu 18.2.2024.
- ↑ GitHub at YouTube. The Power of GitHub Copilot Chat For pull requests (Part 1). video.
- ↑ https://github.com/features/copilot
- ↑ https://debugpointnews.com/qt-creator-12/
- ↑ https://doc.qt.io/qtcreator/creator-copilot.html
Aiheesta muualla
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/what-is-github-copilot-1-of-6 part1
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/how-to-generate-code-with-prompts-using-copilot-2-of-6 part2
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/how-to-generate-copilot-suggestions-as-you-type-3-of-6 part3
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/how-to-reduce-repetitive-tasks-with-copilot-4-of-6 part4
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/how-to-write-documentation-with-copilot-suggestions-5-of-6 part5
- https://learn.microsoft.com/en-us/shows/introduction-to-github-copilot/how-to-use-new-features-with-copilot-labs-6-of-6 part 6
|