**GitHub Copilot** on GitHubin julkaisema tekoälyyn pohjautuva ohjelmointityökalu, joka osaa täydentää ohjelmakoodia. 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. Copilot toimii parhaiten ohjelmointikielillä Python, JavaScript, TypeScript, Ruby ja Go.

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ä.

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.

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.

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ää.

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.

GitHub Copilotia voi käyttää myös Qt Creatorissa. Sitä käytetään muiden muassa mobiilisovellusten, KDE-projektin ja muiden graafisten käyttöliittymien tuottamisessa.

Arviot vaikutuksista
--------------------

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

Lähteet
-------

1. 1 2 3  Pyyny, Petteri: GitHub Copilot on tekoälyä käyttävä ohjelmoinnin apuväline *Afterdawn*.  30.6.2021. Viitattu 18.2.2024.
2. 1 2 3  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. ↑
5. ↑


|  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * n
* k
* m
OpenAI |
| --- |
|  |
| Tuotteet | 
* ChatGPT
* DALL-E
* GitHub Copilot
* OpenAI Five
* Sora
* Whisper

 |
|  |
| Kielimallit | 
* OpenAI Codex
* GPT-kielimalliperhe
	+ GPT-1
	+ GPT-2
	+ GPT-3
	+ GPT-4

 |
|  |
| Henkilöt | 
* Sam Altman
* Mira Murati
* Emmett Shear
* Bret Taylor
* Larry Summers
* Adam D'Angelo

 |
|  |
| Lisää aiheesta | 
* AI Dungeon
* Auto-GPT
* LangChain
* Microsoft 365 Copilot
* Microsoft Bing

 |

 |