- COMP.CS.140
- 7. Pakkaukset
- 7.5 Pieni tekoälykokeilu
Pieni tekoälykokeilu¶
Tämä on laajempaan tutkimushankkeeseen liittyvä kokeilu, jossa kurssilaisten toivotaan käyttävän joko ChatGPT- tai Copilot-tekoälytyökalua Maiden tilastoja (JSON) tehtävän ratkaisussa. Vaikka tehtävän voi ratkaista luonnollisesti ilman tekoälyäkin (AI), opiskelijoita kannustetaan tutustumaan tämän tehtävän kautta tekoälyyn ohjelmoinnissa. Tehtävässä on myös tilaisuus oppia lisää, jos tekoälytyökalut ovat jo tuttuja.
Muista täyttää tehtävän ratkaisun jälkeen kyselylomake, josta on tarjolla viisi teoriapistettä.
ChatGPT ja Copilot¶
OpenAI:n ChatGPT on ilmainen tekoälytyökalu, joka saatavilla ilmaiseksi kaikille. Ohjelmointi tapahtuu keskustelemalla ChatGPT:n kanssa verkkoselaimessa. Voit esimerkiksi kysyä “How to Write a Hello World program in Java?”, jolloin ChatGPT luo sinulle Hello World -ohjelman Javalla, selittää ohjelman rivi riviltä ja antaa ohjeet siitä, kuinka ohjelma käännetään ja ajetaan komentoikkunassa. Ohjelmaa voi muokata jatkamalla keskustelua. Koko maailmankaikkeuden tervehtimiseksi riittää sanoa ChatGPT:lle “Say hello to Universe.”, jolloin ChatGPT muuttaa ohjelman tulosteen ja ohjelman nimen vastaamaan uutta toivetta. Voit antaa ChatGPT:lle myös ohjelman tai sen osan. Tässä tapauksessa ChatGPT analysoi ensin lähdekoodin ja huomauttaa mahdollisista virheistä tai muista ongelmallisista kohdista. Voit tämän jälkeen muokata ohjelmaa joko keskustelemalla ChatGPT:n kanssa tai muokkaamassa itse aiemmin ChatGPT:lle antamaasi ohjelmaa ja lähettämällä sen uudelleen ChatGPT:n pohdittavaksi.
Copilot-työkalusta on erilaisia versioita. Microsoft Copilot (entinen Bing Chat) on selainversio, jota voi käyttää vain tietyillä selaimilla. Microsoft Copilot on saatavilla ilmaiseksi kaikilla ominaisuuksilla vain Edge-selaimen kautta. Ilmaiskäyttö Chrome-selaimella on rajoitettua. Microsoft Copilotia käytetään selaimen kautta pääosin samoin kuin ChatGPT:tä, mutta vaikuttaa valitettavasti siltä, että aiempaa kyselyä ei pääse muokkaamaan. Tampereen yliopisto tarjoaa opiskelijoille myöhemmin keväällä 2024 Microsoft Copilotin kaupallisen selainversion, jossa on ilmaisversiota parempi yksityisyys ja tietoturva.
Copilotin parhaiten tunnettu ja ohjelmoijan kannalta mielenkiintoisin versio on GitHubin Copilot-liitännäinen (plugin), jonka avulla tekoäly on käytettävissä suoraan koodieditorissa. Liitännäinen antaa ehdotuksia koodia kirjoitettaessa ja siinä on myös ohjelmointiympäristössä toimiva keskusteluominaisuus. Copilot-liitännäinen on toistaiseksi saatavilla Visual Studio Codelle (VSCode) ja joillekin IDE:lle, mutta valitettavasti ei NetBeansille. Tampereen yliopiston opiskelijat voivat hankkia liitännäisen ilmaiseksi tekemällä hakemuksen, vaikka yliopisto ei ole kuulu GitHub Campus-ohjelmaan. Huomaa, että hakea voi vain luomalla GitHub-tilin. Hakemukseen on liitettävä kuvallinen ja päivätty todistus siitä, että on yliopiston opiskelija. Tampereen yliopiston opiskelijankortin pitäisi riittää tällaiseksi todistukseksi. Hakemuksen käsittelyyn luvataan menevän vain muutama päivä.
Tekotyökalujen käytöstä¶
Alle on koottu joitakin huomioita tekoälytyökalujen käytöstä ohjelmoinnissa:
Tekoäly on vain työkalu. Työkalun käyttökohteet ja työkalut itse ovat aina rajallisia.
Tekoäly ei korvaa omaa oppimista. Ohjelmoijan täytyy voida edelleen kirjoittaa ohjelmia itsenäisesti ilman tekoälyä. Ohjelmoijalla on oltava riittävä osaamistaso, jotta hän voi ymmärtää ja arvioida kriittisesti tekoälyn tuottamia ratkaisuja.
Tekoäly voi auttaa oppimaan. Tekoälytyökalu voi olla oivallinen apulainen uusia kieliä, kirjastoja ja ympäristöjä opiskeltaessa. Tekoälyn tuottamaa koodia tutkimalla oppii hyviä käytänteitä ja uusia ohjelmointitekniikoita.
Tarkenna. Tekoäly ei välttämättä älyä mitä tehdä ensimmäisen kyselyn perusteella, mutta tarkemmilla kyselyillä tekoälyä voi ohjata vaiheittain kohti haluttua ratkaisua.
Ilmaise itseäsi täsmällisesti. Mitä tarkemmin kommentoit ja määrittelet funktioiden nimet, sitä tarkemmin tekoäly osaa avustaa sinua. Esimerkiksi funktion nimi
calculateAverageFromList
on myös tekoälylle selvempi kuin nimiprocessData
.Kommentoi. Tekoäly lukee kommenttejasi. Voit ohjata työkalua kohti ratkaisua selkeyttämällä ajatuksiasi yksityiskohtaisin kommentein.
Muista tietoturva. Tekoäly voi hyvin ehdottaa tietoturvatonta koodia tai koodia, joka ei vastaa hyviä käytänteitä. Pidä mielessä tietoturvanäkökulma, kun luet tekoälyn luomaa ohjelmaa.
Muista tekijänoikeudet. Vaikka tekoälyn opettamisen olisi käytetty julkisesti saatavilla olevaa aineistoa, on aina varmistettava, ettei tekoälyn tuottama koodi riko tekijänonoikeuksia.