Arkkitehtimme Panu Oksala on lähtenyt ennakkoluulottomasti tutustumaan ohjelmistokehityksen tekoälytyökaluihin. Uskomme vakaasti, että tekoälytyökalut on syytä ottaa käyttöön nopeasti ja siten varmistaa koodaamisen tehokkuus. Asiantuntemusta ja osaamista tarvitaan edelleen, mutta aikaisemmin manuaalista työtä vaativat hommat voi antaa paremmin tekoälyn tehtäväksi. Lue tarkemmin, millaisia konkreettisia neuvoja Panu antaa Copiot Chatin käyttöön.
Copilot Chat – kooditurboahdin käytössäsi
Aloitan tämän sanomalla, että en ole henkilö, joka innostuu kovasti uusista tekniikkajutuista. Minulla ei ollut ensimmäistä iPhonea, en jonottanut yötä kaupan parkkipaikalla saadakseni pääsyn ChatGPT:hen. En myöskään usko, että tekoäly tulee hallitsemaan maailmaa jossain vaiheessa. Mutta… Uskon kyllä hienoihin asioihin, jotka voivat muuttaa maailmaa (kuten iPhone teki puhelimille), tai asioihin jotka voivat määritellä uuden normaalin (kuten some teki ihmisten väliselle kanssakäymiselle). Copilot Chat muuttaa tapaamme koodata ja se muuttaa tapaa, jolla tuotamme ohjelmistoja.
Copilot Chat on IDE-ohjelmien turboahdin. Melkein jokaisessa autossa on nykyään turboahdin (poikkeuksena sähköautot). Turbon tehtävä on lisätä moottorin tehoa syöttämälle sinne lisää ilmaa ja se on välttämätön kapistus bensiini- tai dieselmoottorille. Moottori tuntuu puolikuolleelta ilman sitä. Siinä ei vain ole tarpeeksi voimaa ja vääntöä.
Joten mikä on Copilot Chat? Aloitetaan katsomalla GitHubin sivuilta, että miten he määrittelevät Copilot Chatin:
”GitHub Copilot Chat is a chat interface that lets you interact with GitHub Copilot, to ask and receive answers to coding-related questions from directly within a supported IDE. The chat interface provides access to coding information and support without requiring you to navigate documentation or search online forums.”
https://docs.github.com/en/copilot/github-copilot-chat/about-github-copilot-chat
Copilot Chat on siis käytännössä keskustelutyökalu, joka on rakennettu suosikkikehitysympäristösi sisään (Visual Studio tai Visual Studio Code tässä tapauksessa). Ai eikö kuulosta vielä kovin vakuuttavalta? Meillähän oli jo Clippy Office-ohjelmissa ja se ei pystynyt tekemään minusta ainakaan PowerPoint-velhoa.
Koodatessa haluat pysyä kehitysympäristössäsi sisällä mahdollisimman pitkän. Mitä pitempään pystymme työskentelemään IDE:n sisällä sitä paremmin keskittymisemme säilyy ratkaistavassa ongelmassa. Joka kerta kun joudumme poistumaan IDE:stä etsiäksemme tietoa tai selataksemme Stack Overflow’ta, keskittymisemme herpaantuu. Copilot Chatin avulla meillä on lähes kaikki internetin tarjoama tieto suoraan IDE:ssä. Mutta parasta on se, että meidän ei enää tarvitse etsiä vastauksia, vaan vastaukset tulevat luoksemme suoraan IDE:en.
Kaikki tämä kuulostaa todella hyvältä, joten seuraavaksi katsotaan, miten tämä taikuus todella tapahtuu.
Asennus
Aloitetaan tylsällä osuudella. Kuinka saan tuon maagisen Copilot Chatin käyttööni? Ensiksi tarvitset GitHub Copilot -lisenssin + organisaatiosi täytyy olla Chat-toiminto päällä GitHub Copilotin käytänteissä.
Seuraavaksi asenna asenna kehitysympäristön laajennus (Extension). Löydät sen esim. Visual Studio -laajennuksista. Huomaa, että tämä laajennus on siis eri kuin GitHub Copilot. Tarvitset siis ne molemmat.
Laajennusten asentamisen jälkeen Visual Studio pitää vielä käynnistää uusiksi ja sen jälkeen homma on valmis. Ensimmäiseksi on hyvä tarkistaa Copilot Chatin asetukset. Löydät ne Visual Studiosta kirjoittamalla ”copilot” asetusten hakuruutuun. Minulla oli Copilot bindattuna jo valmiiksi näppäinkomentoon F1, joten F1 Explain -toiminnon käyttöönotto ei toiminut suoraan.
Bindauksen muuttamminen onnistuu kätevästi Visual Studion Keyboard asetusten kautta. Oletuksena Chat-ikkuna on sidottu Ctrl+W, Ctrl+I. näppäinyhdistelmiin, mutta itse vaihdoin sen tuohon F1 näppäimeen. Tämä siis aukaisee chat ikkunan (ei tee explainia suoraan)
Peruskäyttö
Pikanäppäimen kautta Visual Studion oikeaan laitaan aukeaa chat-ikkuna, johon pystyy syöttämään kysymyksiä Copilotille. Jos pikanppäin ei toimi, niin sama ikkuna löytyy myös Visual Studion View valikon kautta.
Kirjoitin esimerkkinä yksinkertaisen nimien jäsentelymetodin, joka ottaa nimen merkkijonona parametrina, pilkkoo nimen pisteen kohdalta ja palauttaa yhdistetyn merkkijonon välilyönneillä. Esimerkki on tarkoituksella melko yksinkertainen. Copilot chat toiminnon saa triggeröityä kätevästi maalamalla haluttu koodilohko editorissa ja sen jälkeen naputtelemalla ”explain” chat ikkunaan.
Ja katsotaas mitä sain vastaukseksi. Copilot kuvasi metodin sisällön englanniksi JA tarjosi erittäin hienon esimerkin. Jos metodille annettaisiin parametrina ”John.Doe.Smith”, se palauttaisi ”John Doe Smith”. Tämä itsessään on jo melko siistiä! Copilot antoi minulle lisäksi joitakin vinkkejä, kuinka voisin parantaa tätä koodia.
Olemma kaikki nähneet netissä naureskelua tekoälylle, kun se on tehnyt perusasioita väärin. Väittänyt, että Inari on Norjassa tai laskenut yhteenlaskuja väärin. Copilot Chat ei korjaa kaikkia näitä ongelmia, eikä edes väitä niin, mutta halusin silti kokeilla miten se selviytyy perusasioista. Pyysin Copilottia suorittamaan yksinkertaisen laskutoimituksen: (77+23)*2, ja arvaa mitä. Se sai sen oikein JA tarjosi esimerkkikoodin siihen 🤩. Ok, Copilot yritti myös kertoa, että voisin poistaa sulkeet jotta koodista tulisi selkeämpi, vaikka eihän matemaattinen maailma toimi niin.
Joka tapauksessa uskon, että AI avusteiset koodausapurit ovat tulevaisuudessa välttämättömiä. Ne tarjoavat niin paljon lisää ohjelmointiin, ilman juuri minkäänlaista ylimääräistä vaivannäköä. Avustava tekoäly kehitysympäristössä tulee olemaan uusi normi. Viiden vuoden päästä emme muista aikaa ennen AI avustajia.
Yhteenveto
Copilot Chat on siis kuin turboahdin. Se antaa vanhalle koodimoottorillesi ylimääräistä tehoa ja tekee sinusta tuottavamman.
Tekoälyavusteisuus ohjelmistokehityksessä on uusi normaali. Lopuksi pyysin vielä Copilot Chatiä antamaan lyhyen yhteenvedon itsestään, ja tässä se on:
Olen GitHub Copilot, tekoälypohjainen keskusteluohjelma, joka avustaa ohjelmistokehittäjiä koodiehdotuksilla ja automaattisella koodin generoinnilla. Tarkoitukseni on auttaa sinua ohjelmointitehtävissäsi tarjoamalla hyödyllisiä koodiehdotuksia ja oppimalla koodimieltymyksistäsi. Olen suunniteltu lisäämään tuottavuuttasi ja täyttämään tietämyksen aukot maailmanlaajuisten kehittäjien laajasta kokemuksesta.
Mikäli olet kiinnostunut keskustelemaan esimerkiksi oman ohjelmistokehitystiimisi turboahtimien asennuksesta tai kaipaat turboahtimella varustettuja kehittäjiä avuksesi, ota ihmeessä yhteyttä niin jutellaan tarkemmin!
Tämän artikkelin alkuperäinen englanninkielinen julkaisu on luettavissa täältä: https://oksala.net/2023/08/23/copilot-chat-your-coding-turbocharger/
Tekoälyavusteista ohjelmistokehitystä käsittelevä aikaisempi asiantuntija-artikkelimme: Github Copilot: yhteensä 9 käytännön vinkkiä
Adafy on näkemyksellinen ohjelmistokumppani, jonka Microsoft-teknologiaosaaminen on tunnustetusti Suomen huipputasoa.