Github Copilot: helmikuu 2025: merkittäviä uusia AI-ominaisuuksia

Huomautus: tämän artikkelin tiedonhaussa ja kirjoittamisessa on käytetty apuna Microsoft Copilot -tekoälyä

Aiemmassa artikkelissa otimme Github Copilotissa ja VS Codessa käyttöön Claude 3.5 Sonnet -kielimallin.

Sen jälkeen AI:n saralla on kuitenkin tapahtunut merkittäviä edistysaskelia.

Github Copilot sekä VS Code saivat helmikuun päivityksessä tukun uusia hienoja ominaisuuksia, joihin perehdymme tässä artikkelissa.

Githib Copilot saa uuden Copilot Edits -ominaisuuden joka helpottaa AI:n koodin käyttöä.

Lisäksi VS Coden preview -käyttöön julkaistiin Agent Mode, joka laajentaa ja tehostaa AI:n käyttöä koodauksessa rutkasti.

Saataville on tullut myös OpenAI:n uudet tehokkaat o1– ja o3-mini -mallit (tarkennus: o1 tuli käyttöön jo joulukuussa 2024)

Bonuksena helmikuun päivitys tuo kaikille Github Copilotin käyttäjille uuden kielimallin: Gemini 2.0 Flash.

Tässä artikkelissa tehdään katsaus uusiin ominaisuuksiin ja malleihin ja otetaan ne käyttöön Github Copilotin asetuksissa ja VS Codessa. Testaamme uusia ominaisuuksia tosielämän koodaustehtävillä ja katsomme miten ne selviytyvät!

Gemini 2.0 Flash

Aloitetaan uusi ominaisuuksien läpikäynti yksinkertaisimmasta päästä.

Googlen Gemini 2.0 Flash -kielimalli tulee nyt käytettäväksi kaikille Github Copilot käyttäjille, jopa Github Free -tilaajille!

Pikaisen kokeilun perustella malli tuottaa suunnilleen samanlaisen tuloksen kuin GPT 4o. Mallia voi kokeilla itse ja verrata tuloksia muihin malleihin.

Gemini 2.0 Flash alkaa näkymään VS Coden Copilot-chatin mallin valintalistassa:

Mikäli organisaatiolla on käytössä Copilot Business tai Copilot Enterprise, uusi kielimalli on kytkettävä erikseen päälle Githubin asetuksista:

Kuten Github Copilotin muidenkin mallien kohdalla, Gemini-mallia ei kouluteta käyttäjien syötteillä. Google DeepMind ja GitHub Copilot noudattavat tiukkoja tietoturva- ja yksityisyysstandardeja, jotka estävät käyttäjien syötteiden käytön mallin koulutuksessa.

Gemini 2.0 Flash -mallin käytössä on rajoituksena, että käyttäjä voi tehdä enintään 100 pyyntöä päivässä.

Erityisesti tämä uusi ominaisuus ilahduttaa varmasti Copilot Free -käyttäjiä, jotka saavat ominaisuuden käyttöön ilmaiseksi.

Lisätietoa: https://docs.github.com/en/copilot/using-github-copilot/ai-models/using-gemini-flash-in-github-copilot

Copilot Edits

Copilot Edits julkaistiin VS Coden päivityksessä helmikuun 6. päivä 2025.

Copilot Edits on GitHub Copilotin ominaisuus, joka on suunniteltu helpottamaan koodin muokkausta useissa tiedostoissa käyttämällä luonnollista kieltä ja keskustelevaa vuorovaikutusta. Tässä muutamia keskeisiä ominaisuuksia:

  1. Koodin muokkaus: Voit aloittaa Copilot Edits -istunnon ja pyytää koodimuutoksia luonnollisella kielellä. Copilot Edits tekee ehdotetut muutokset suoraan editorissa, missä voit tarkastella niitä ja hyväksyä tai hylätä ne.
  2. Työskentely useiden tiedostojen kanssa: Voit määrittää joukon tiedostoja, joita haluat muokata, ja Copilot Edits tekee muutokset näihin tiedostoihin. Tämä mahdollistaa nopean iteroinnin ja koodin parantamisen useissa tiedostoissa samanaikaisesti.
  3. Kaksi tilaa: Copilot Edits toimii kahdessa tilassa:
    • Edit-tila: Valitset muokattavat tiedostot ja annat kontekstin ja kehotteen, jonka perusteella Copilot ehdottaa koodimuutoksia.
    • Agent-tila (preview): Copilot suunnittelee itsenäisesti tehtävät ja tarvittavat tiedostot pyynnön toteuttamiseksi. Tämä tila on tällä hetkellä saatavilla vain VS Code Insiders -versiossa.
  4. Käyttöliittymä: Copilot Edits -näkymä on saatavilla VS Codessa, ja voit käyttää sitä esimerkiksi pikanäppäimillä tai komennolla ”Toggle Copilot Edits” komentoikkunassa.

Copilot Edits -istunto aloitetaan VS Coden komennolla Chat: Open Copilot Edits

Nyt voi komentaa Copilottia Edits -moodissa ja Copilot ehdottaa koodimuutoksia jotka voi vain hyväksyä. Tutustutaan tähän ominaisuuteen seuraavassa kappaleessa, samalla kun tutustutaan Agent Modeen.

Lisätietoa: https://code.visualstudio.com/docs/copilot/copilot-edits

VS Code Agent Mode (preview)

GitHub Copilotin uusi agent mode pystyy iteroimaan omaa koodiaan, tunnistamaan virheet ja korjaamaan ne automaattisesti. Se voi ehdottaa komentorivi-komentoja ja pyytää käyttäjää suorittamaan ne. Se analysoi myös ajonaikaisia virheitä.

Sen sijaan, että Copilot suorittaisi vain pyydetyn tehtävän, sillä on siis nyt kyky päätellä lisätehtäviä, joita ei ole erikseen mainittu, mutta jotka ovat tarpeellisia pyynnön toteuttamiseksi.

Toisin sanoen, AI-koodaus nousee jo aivan uudelle tasolle verrattuna aikaisempaan chat-pohjaiseen keskusteluun.

Demo video: https://youtu.be/of–3Fq1M3w

Toistaiseksi (helmikuun 2025 VS Code julkaisussa) agent mode -ominaisuus on preview -vaiheessa. Jotta sitä voisi käyttää, on VS Codesta asennettava VS Code Insiders -versio.

VS Code ja VS Code Insiders eroavat toisistaan seuraavasti:

  1. Päivitystiheys: VS Code Insiders saa päivityksiä päivittäin, mikä tarkoittaa, että saat uusimmat ominaisuudet ja korjaukset heti, kun ne ovat saatavilla. VS Code puolestaan saa vakaampia päivityksiä harvemmin.
  2. Stabiilisuus: Koska VS Code Insiders sisältää uusimmat ominaisuudet, se voi olla vähemmän vakaa ja sisältää enemmän bugeja verrattuna VS Codeen.
  3. Asennus: Voit asentaa molemmat versiot rinnakkain ja käyttää niitä samanaikaisesti. Molemmilla on omat asetuksensa, konfiguraationsa ja laajennuksensa.

VS Code Insiders asennuspaketti löytyy täältä: https://code.visualstudio.com/insiders/

Kun VS Code Insiders on asennettu, agent mode kytketään päälle asetuksista:

Sen jälkeen agent moden voi kytkeä päälle valitsemalla ensin Copilotin chatissa Copilot Edits (1.) ja sitten alasvetovalikosta Agent (2.):

Pieni testi osoittaa että agent ymmärtää ohjeen varsin hyvin. Tällaisen pienen tehtävä miettimisessä kesti kuitenkin lähes minuutin ajan:


Valitsemalla Accept, ehdotetut koodimuutokset tulevat voimaan.

Kokeillaan hieman vaativampaa tehtävää, jossa pyydetään kokonaan uutta ominaisuutta saunoja listaavan saunahaku.fi -palvelun lähdekoodiin.

Tässä tehtävässä piti jo kehittää kokonaan uusi toiminto. Vastaus tuli alle kahdessa minuutissa:

Valitaan taas Accept. Tulos näyttää ihan hyvältä koodin puolesta. Syntyi myös kokonaan uusi tiedosto TodayDetails.tsx:

Valitettavasti toiminto ei kuitenkaan toiminut ensimmäisellä yrityksellä vaan avautui tyhjä näyttö:

Lisäohjeistuksella asia korjaantui ja tulos näyttää hyvältä:

Copilot lisäsi jopa takaisin -nuolen, vastaavasti kuin saunan tietosivulla oli.

Tuotettu sivu oli myös responsiivinen ja datan haku oli toteutettu oikein.

Sivun ulkoasu on suorastaan virheetön ja muun järjestelmän kanssa linjassa.

Nyt voimme todeta, että uuden toiminnon lisäys oli huippu nopeaa ja helppoa! Tässä alkaa jo tuntua AI koodauksen todellinen tehokäyttö!

Lisätietoa Agent Modesta: https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/

OpenAI o1

OpenAI:n o1-malli julkaistiin virallisesti 5. joulukuuta 2024.

Malli tuli saataville GitHub Copilotissa ja Visual Studio Codessa 17. joulukuuta 2024.

OpenAI:n o1-kielimalli on suunniteltu erityisesti syvälliseen päättelyyn ja ongelmanratkaisuun. Tässä muutamia keskeisiä ominaisuuksia:

  1. Syvällinen päättely: o1-malli on optimoitu monivaiheiseen päättelyyn ja analyyttiseen ajatteluun. Se pystyy käsittelemään monimutkaisia ongelmia ja tuottamaan tarkkoja ratkaisuja.
  2. Laaja kontekstin käsittely: Malli tukee jopa 128 000 tokenin syötettä, mikä mahdollistaa laajojen asiakirjojen tai tietoaineistojen käsittelyn kerralla.
  3. Käyttötapaukset: o1-malli on erityisen tehokas tieteellisissä, koodaus- ja matemaattisissa tehtävissä. Se pystyy tuottamaan algoritmeja ja käsittelemään edistyneitä koodaushaasteita.
  4. Sisäänrakennettu päättely: Toisin kuin jotkut muut mallit, o1-malli ei vaadi erillisiä ohjeita monivaiheiseen päättelyyn, vaan se analysoi ongelman syvällisesti itsenäisesti.
  5. Käyttörajoitukset: o1-mallin käyttö on rajoitettu 10 viestiin 12 tunnin aikana, mikä auttaa hallitsemaan resurssien käyttöä.
    OpenAI o3

o1-malli on saatavilla GitHub Copilot Pro-, Business- ja Enterprise-käyttäjille. Se ei ole käytettävissä Copilot Free -versiossa.

Lisätiedot: https://github.blog/news-insights/openais-o1-model-available-in-copilot-chat-and-github-models/

OpenAI o3-mini

OpenAI julkaisi o1-mallin lisäksi myös o3-mini -mallin preview-version samaan aikaan joulukuussa 2024. Nyt se on käytettävissä virallisesti VS Codessa.

o3 -mini malli on suunniteltu erityisesti nopeaan ja tehokkaaseen päättelyyn, ja se on optimoitu käsittelemään monimutkaisia tehtäviä nopeammin kuin o1-malli.

o3 -malli tarjoaa parannetun suorituskyvyn ja nopeammat vastausajat verrattuna o1-malliin.

o3-mini-malli on saatavilla GitHub Copilot Free-, Pro-, Business- ja Enterprise-käyttäjille.

Copilot Free -käyttäjät voivat tehdä enintään 50 viestiä kuukaudessa. Pro-, Business- ja Enterprise-käyttäjät voivat tehdä enintään 50 viestiä 12 tunnin aikana.

Lisätietoa o3-mini malista ja Copilot Free -tilauksesta: https://github.blog/changelog/2025-02-06-openai-o3-mini-is-now-available-in-github-copilot-free/

Lisätietoa o1 ja o3-mini malleista: https://github.blog/news-insights/openais-o1-model-available-in-copilot-chat-and-github-models/

o1 ja o3-mini käyttöön

Otetaan o1 ja o3-mini käyttöön Githubin asetuksista:

Jonka jälkeen o1 ja o3-mini alkavat näkymään VS Coden AI-mallin valinnassa:

Jostain syystä VS Code Insiders -versiossa Agent Modessa ei näy o1 ja o3-mini malleja:

Valitsemalla Edit -moden, o1 ja o3-mini alkavat näkymään:

Perutaan edellä mainittu saunan Tänään-sivun koodimuutokset ja kokeillaan uudelleen VS Code Insiders -editorilla, o1 mallilla ja Edit modessa:

Generointi ei onnistunut ollenkaan vaan päättyi virheeseen! Kokeillaan uudellen stabiilimmalla VS Coden virallisella versiolla:

Valitettavasti o1 malli ei toiminut myöskään virallisella VS Codella. Ensikokemus ei ollut kovin hyvä ja sitten loppuivatkin jo o1 pyynnöt:

Kokeillaan vielä sama muutos o3-mini mallilla VS Codessa:

o3-mini suoriutui muuten hyvin, mutta generoi Javascriot koodia Typescript projektiin!

Tehdään uusi yritys:

#codebase lisää uusi toiminto: sauna-details sivulta voi klikata nykyisen viikonpäivän kohdalta jos sauna on auki tänään ja avautuu uusi sivu, jossa on esitettynä vain tämän päivän aukiolo ja hinnat. Käytä typescriptiä!

Tällä kertaa syntyi sentään Typescript-koodia. Nopeus tuntui olevan hitaampi kuin GPT 4o:lla aiemmin tehtynä, mikä on yllättävää! Lisäksi näkyi jokin virheilmoitus ja koodi ei ollut läheskään yhtä hyvää kuin Agent Modella tehtynä! Itse asiassa ero on erittäin merkittävä. Tässä ei ole mukana tietojen hakua backendistä ollenkaan!

Kokeillaan vielä Edits -modessa ja GPT-o4 mallilla:

Tulos oli tällä kertaa ihan hyvä yritys. Paitsi että toteutus rikkoi saunan tietosivun tyylin ja Tänään-sivu oli paljon huonompi kuin Agent Modella + GPT 04:llä tehtynä (VS Code Insiders -versiossa).

Yhteenveto

Googlen Gemini 2.0 Flash -kielimalli tarjoaa uuden vaihtoehdon VS Coden käyttäjille. Hienoa on, että se on käytössä myös ilmaisversiossa (Github Copilot Free).

VS Code:n Copilot Edits -moodi tuntui erittäin toimivalta. Ehdotetut koodimuutokset oli sen kautta helppo ottaa käyttöön. Perinteinen Chat -moodi tuntuu sen jälkeen vanhanaikaiselta.

VS Coden preview -vaiheessa oleva Agent Mode tuntuu ymmärtävän koodin kokonaisuuden paljon paremmin kuin perinteisempi Copilot Edits -toiminto. Agent Modessa toimiessa koodin generoinnin tulokset olivat erittäin vaikuttavia, joskin pientä lisäohjeistusta tarvittiin viimeistelemään lopputulos. Tässä alkaa jo näkymään koodauksen tulevaisuus!

Agent Mode yhdistettynä GPT 4o -malliin tuotti testeissä parhaan lopputuloksen sekä koodillisesti että ulkoasullisesti. Vain pientä lisäohjeistusta tarvittiin.

o1– ja o3-mini -mallien olisi mainospuheiden perusteella pitänyt tuottaa paras lopputulos nopeiten, mutta ainakaan tällä testikierroksella tulokset eivät olleet kovin hyviä. Toki täytyy muistaa etä ne ovat vielä Preview-vaiheessa. Käytön aikana tuli virheilmoituksia ja tulokset eivät olleet kovinkaan hyviä. Johtuiko huono suoriutuminen siitä, että niitä ei voinut käyttää Agent Modessa, vaikea sanoa?

Kaiken kaikkiaan vaikuttaa siltä, että AI-pohjainen koodaus ottaa 2025 suuren harppauksen! Kokonaan uusia toiminnallisuuksia voidaan toteuttaa lyhyellä sanallisella ohjeistuksella ja tulos on vakuuttavan laadukasta sekä huomioi olemassa olevan koodin!