Tekoäly

GitHub Copilot ujutti mainoksia kehittäjien koodiin

Kehittäjäyhteisö raivostui, GitHub perui ominaisuuden tunneissa

Aino AikajärviAino Aikajärvi
Jaa:
GitHub Copilot ujutti mainoksia kehittäjien koodiin

Mainoksia kehittäjien työtilaan

Australialainen kehittäjä Zach Manson pyysi sunnuntaina työtoveriaan korjaamaan kirjoitusvirheen pull requestissa GitHub Copilotin avulla. Kyseessä on tavanomainen toimenpide kymmenille tuhansille kehittäjille päivittäin. Tällä kertaa lopputulos oli kaikkea muuta kuin tavanomainen: Copilot oli lisännyt PR:ään viestin, joka kehotti asentamaan Raycast-sovelluksen ja käynnistämään Copilot-agentteja sen kautta. Salamaemojilla koristeltu "vinkki" näytti ulkopuoliselle siltä kuin Manson olisi itse kirjoittanut sen.

Manson epäili ensin datan saastumista tai prompt-injektiota. Totuus oli arkisempi ja samalla huolestuttavampi: GitHub oli rakentanut Copilotiin ominaisuuden, joka lisäsi tuotevinkkejä pull requesteihin automaattisesti. Noin 11 400 pull requestia sisälsi identtisen Raycast-mainoksen, ja Neowin-teknologiasivusto raportoi vastaavia Copilot-vinkkejä löytyneen jopa 1,5 miljoonasta PR:stä. Raa'asta markdownista löytyi piilotettu HTML-kommentti "START COPILOT CODING AGENT TIPS", joka toimi mainospaikan merkkinä.

Vinkkien piti GitHub:n mukaan näkyä vain Copilotin itse luomissa pull requesteissa. Bugi aiheutti sen, että ne levisivät myös ihmisten kirjoittamiin PR:iin. Lopputulos oli kehittäjien näkökulmasta sama: heidän työtilassaan oli mainoksia, joita he eivät olleet pyytäneet.

“En keksi yhtään pätevää syytä sille, miksi Copilotilla pitäisi olla kyky muokata toisten pull requesteja.”

— Zach Manson, ohjelmistokehittäjä

GitHub perääntyi saman päivän aikana

Kehittäjäyhteisön reaktio oli nopea ja yksimielinen. Hacker Newsissä, X:ssä ja Redditissä pull requesteihin ujutettuja mainoksia kutsuttiin tekoälyroskaksi. Jotkut vertasivat tilannetta siihen, jos Word alkaisi lisätä mainoksia dokumentteihin kesken kirjoittamisen.

Erityisen kiivasta kritiikkiä sai se, että Copilot pystyi muokkaamaan toisen kehittäjän pull requestia. Normaalisti PR on sen tekijän hallinnassa, ja muutokset vaativat erillisen hyväksynnän. Copilotin automaattinen muokkausoikeus ohitti tämän periaatteen.

GitHub reagoi tunneissa. Developer Relations -johtaja Martin Woodward kuvaili tilannetta sanalla "icky" ja totesi: "GitHub:ssa ei ole eikä tule olemaan mainoksia." Copilotin päätuotepäällikkö Tim Rogers myönsi Hacker Newsissä, että päätös antaa Copilotin muokata ihmisten kirjoittamia pull requesteja oli "väärä arvio". Vinkkitoiminto poistettiin kokonaan.

Microsoftin virallinen selitys oli ohjelmointivirhe, ei tietoinen mainoskampanja. Selitys on uskottava siinä mielessä, että vinkit todella oli suunniteltu vain Copilot-agentin luomiin PR:iin. Se ei kuitenkaan vastaa siihen, miksi Copilotiin ylipäätään rakennettiin mekanismi kolmannen osapuolen sovellusten mainostamiseen.

Kahden herran palvelija

Tapaus paljastaa jännitteen, joka kasvaa tekoälytyökalujen yleistyessä. Kehittäjät maksavat Copilotista, koska se nopeuttaa koodausta. Samaan aikaan Microsoft etsii tapoja kääntää Copilotin valtava käyttäjäkunta liikevaihdoksi, ja kumppaneiden mainonta on yksi keino. Raycast-mainos ei ollut Copilotin omaa sisältöä, vaan kolmannen osapuolen promootiota kehittäjien työtilassa.

Pull request on ohjelmistokehityksessä erityinen paikka. Se on dokumentti, jossa kehittäjä esittelee työnsä kollegoilleen arvioitavaksi. Koodikatselmoinnin luotettavuus perustuu siihen, että PR:n sisältö on ihmisten tuottamaa ja tarkistamaa. Kun tekoäly muokkaa sitä lupaa kysymättä ja lisää sinne mainosmateriaalia, luottamussopimus rikkoutuu.

Suomalaisissa ohjelmistotaloissa Copilot on jo vakiotyökalu. Monet yritykset käyttävät sitä päivittäin eivätkä välttämättä seuraa GitHub:n tuotepäivityksiä reaaliajassa. Tämänkaltainen tapaus pakottaa IT-päättäjät arvioimaan, mitä riskejä tekoälyavustajien syväintegraatio kehitysympäristöön tuo mukanaan.

Vastaava jännite näkyy jo muissakin tekoälypalveluissa. Googlen hakutulosten tekoäly-yhteenvedot suosivat usein Googlen omia palveluja. OpenAI:n ChatGPT suosittelee toisinaan tiettyjä tuotteita. Kun tekoäly on samaan aikaan käyttäjän avustaja ja alustan myyntikanava, rooliristiriita on väistämätön.

Sanasto

Pull request (PR)
Ohjelmistokehityksessä tapa, jolla kehittäjä esittää tekemänsä koodimuutokset muiden tarkastettavaksi ennen kuin ne hyväksytään osaksi projektia.
Prompt-injektio
Hyökkäystekniikka, jossa tekoälymallia yritetään huijata piilottamalla sen käsittelemään syötteeseen haitallisia ohjeita.

Luottamus ei palaudu yhtä nopeasti kuin se menetetään

GitHub:n nopea perääntyminen kertoo, että yhtiö ymmärtää tilanteen vakavuuden. Yli 100 miljoonan kehittäjän yhteisö ei ole yleisö, jolle voi syöttää mainoksia perinteiseen tapaan. Kehittäjät lukevat lähdekoodia työkseen, ja piilotettu HTML-kommentti ei pysy piilossa kovin pitkään.

Kehittäjätyökalujen markkinalla kilpailu on kovaa. Cursor, Windsurf ja muut haastajat tarjoavat vaihtoehtoja, ja jokainen luottamuskolhu ajaa osan käyttäjistä kilpailijoiden syliin. Seuraava kehittäjä, joka harkitsee Copilotin käyttöönottoa yrityksen sisäisessä projektissa, joutuu nyt pysähtymään ja kysymään: voiko tähän luottaa?

Microsoftin kannalta kyse on strategisesta riskistä. GitHub on maailman tärkein koodin jakelualusta ja kehittäjäyhteisön kohtaamispaikka. Yksittäinen bugi korjataan päivässä, mutta maineen korjaaminen kestää paljon pidempään.

Viikoittainen uutiskirje

Tule firmasi fiksuimmaksi AI-osaajaksi

Yksi uutiskirje kerrallaan. Kokoamme viikon tärkeimmät tekoälyuutiset suomeksi ja kerromme, mitä ne tarkoittavat sinun työsi kannalta. Luet sen kahvitauolla.

Ei roskapostia. Voit peruuttaa milloin tahansa.

Lue seuraavaksi

Luetuimmat

Viimeiset 7 päivää

  1. 120 vuotta koodaamatta, sitten 5,4 miljoonaa
  2. 2Teemu Roos: tekoälyn tuhopuheissa voi olla kyse rahasta
  3. 3Mikä on Jev? Tekoälymalli, joka päättää eikä kirjoita
  4. 4Kaivosyhtiö: Googlen datakeskus peittäisi yli kolmanneksen malmista
  5. 5Mediakonserni osti suomalaisen tekoälyn, joka lukee julkiset hankinnat

Lähteet

Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta. Lue lisää toimintaperiaatteistamme.