Kielimallit ohjelmoinnin opiskelun tukena
Taskinen, Kaapo (2025)
Taskinen, Kaapo
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025052716810
https://urn.fi/URN:NBN:fi:amk-2025052716810
Tiivistelmä
Opinnäytetyössä tarkasteltiin suurten kielimallien (Large Language Models, LLM) hyödyntämistä ohjelmoinnin opetuksen tukena. Työn tavoitteena oli selvittää, miten suurta kielimallia voidaan käyttää apuopettajana ohjelmoinnin opiskelussa, sekä toteuttaa vuorovaikutteinen järjestelmä, jonka kautta opiskelijat voivat keskustella mallin kanssa reaaliaikaisesti. Lähtökohtana oli tarve kehittää opetusta tukevia, moderneja ja yksilöllistä oppimista edistäviä ratkaisuja.
Työ toteutettiin Kajaanin ammattikorkeakoulussa, joka toimi myös toimeksiantajana. Opinnäytetyössä hienosäädettiin kielimalli Phi-4:ää hyödyntäen Python-ohjelmoinnin perusteet -kurssin oppimateriaalia. Mallin tavoitteena oli toimia apuopettajana kyseisellä kurssilla, eli tukea opiskelijoita erityisesti tilanteissa, joissa opettajan tuki ei ole heti saatavilla tai saavutettavissa.
Mallin hienosäätö ei kuitenkaan tuottanut toivottua tulosta – vastaukset olivat epäselviä ja laadultaan heikkoja. Tästä huolimatta onnistuttiin rakentamaan toimiva järjestelmä hyödyntämällä kielimallien promptaamista. Järjestelmässä käytetään Phi-4-mallia suomenkielisiin ja Qwen3-mallia englanninkielisiin kysymyksiin. Kahden mallin käyttö osoittautui tarpeelliseksi, koska Phi-4:n suomenkielinen promptaus heikensi sen englanninkielistä suorituskykyä merkittävästi.
Vaikka promptaamalla ohjatut mallit toimivat kohtalaisesti, toteutuksesta olisi voitu saada merkittävästi parempi, mikäli hienosäädön sijaan olisi keskitytty Retrieval-Augmented Generation (RAG) -menetelmään tai Model Context Protocoliin (MCP). Näiden lähestymistapojen avulla malli olisi voitu yhdistää ulkoisiin tieto-lähteisiin, jolloin sen ei olisi tarvinnut rajoittua pelkästään koulutusvaiheessa käytettyyn aineistoon. Tämä olisi mahdollistanut ajantasaisen tiedon hyödyntämisen ja tehnyt ratkaisusta entistä paremmin opetuskäyttöön soveltuvan. Näiden menetelmien avulla järjestelmä olisi voitu toteuttaa yhdellä kielimallilla, mikä olisi parantanut myös ylläpidettävyyttä ja kokonaisuuden hallintaa.
Työ toteutettiin Kajaanin ammattikorkeakoulussa, joka toimi myös toimeksiantajana. Opinnäytetyössä hienosäädettiin kielimalli Phi-4:ää hyödyntäen Python-ohjelmoinnin perusteet -kurssin oppimateriaalia. Mallin tavoitteena oli toimia apuopettajana kyseisellä kurssilla, eli tukea opiskelijoita erityisesti tilanteissa, joissa opettajan tuki ei ole heti saatavilla tai saavutettavissa.
Mallin hienosäätö ei kuitenkaan tuottanut toivottua tulosta – vastaukset olivat epäselviä ja laadultaan heikkoja. Tästä huolimatta onnistuttiin rakentamaan toimiva järjestelmä hyödyntämällä kielimallien promptaamista. Järjestelmässä käytetään Phi-4-mallia suomenkielisiin ja Qwen3-mallia englanninkielisiin kysymyksiin. Kahden mallin käyttö osoittautui tarpeelliseksi, koska Phi-4:n suomenkielinen promptaus heikensi sen englanninkielistä suorituskykyä merkittävästi.
Vaikka promptaamalla ohjatut mallit toimivat kohtalaisesti, toteutuksesta olisi voitu saada merkittävästi parempi, mikäli hienosäädön sijaan olisi keskitytty Retrieval-Augmented Generation (RAG) -menetelmään tai Model Context Protocoliin (MCP). Näiden lähestymistapojen avulla malli olisi voitu yhdistää ulkoisiin tieto-lähteisiin, jolloin sen ei olisi tarvinnut rajoittua pelkästään koulutusvaiheessa käytettyyn aineistoon. Tämä olisi mahdollistanut ajantasaisen tiedon hyödyntämisen ja tehnyt ratkaisusta entistä paremmin opetuskäyttöön soveltuvan. Näiden menetelmien avulla järjestelmä olisi voitu toteuttaa yhdellä kielimallilla, mikä olisi parantanut myös ylläpidettävyyttä ja kokonaisuuden hallintaa.
