Tekoäly
Päätyykö suuret kielen mallit ohjelmointiin?

Viime viikolla OpenAI saavutti merkittävän merkkipaalun, kun he esittelivät GPT-4 Turbon OpenAI DevDay -tapahtumassa. GPT-4 Turbon erottuva ominaisuus on sen laajennettu kontekstiruutu, joka on 128 000, merkittävä loikka GPT-4:n 8 000:sta. Tämä parannus mahdollistaa tekstin prosessoinnin 16 kertaa edeltäjäänsä suuremmassa mittakaavassa, mikä vastaa noin 300 sivun tekstiä.
Tämä edistys liittyy toiseen merkittäväksi kehitykseen: potentiaaliseen vaikutukseen SaaS-startupien maisemaan.
OpenAI:n ChatGPT Enterprise, jossa on edistyneitä ominaisuuksia, asettaa haasteen monille SaaS-startup-yrityksille. Nämä yritykset, jotka ovat tarjonneet tuotteita ja palveluita ChatGPT:hen tai sen API:hin, kohtaavat nyt kilpailun työkalun kanssa, jolla on yritystason ominaisuudet. ChatGPT Enterprise -tarjoajat, kuten verkkotodennus, SSO ja käyttöönsääntely, ovat suoraan päällekkäin monien olemassa olevien B2B-palveluiden kanssa, mikä voi vaarantaa näiden startup-yritysten selviytymisen.
OpenAI:n toimitusjohtaja Sam Altman paljasti avainpuheessaan toisen suuren kehityksen: GPT-4 Turbon tietämyksen laajentamisen. Toisin kuin GPT-4, jolla oli tietoa vain vuoteen 2021 asti, GPT-4 Turbo on päivitetty tietämyksellä huhtikuuhun 2023 asti, mikä on merkittävä askel eteenpäin AI:n merkityksessä ja soveltamiskelpoisuudessa.
ChatGPT Enterprise erottuu ominaisuuksilla, kuten parannetulla turvallisuudella ja yksityisyydellä, nopealla pääsyllä GPT-4:ään ja laajennetuilla kontekstiruuduilla pidemmille syötteille. Sen edistyneet tietojen analyysiominaisuudet, mukautusvaihtoehdot ja käytön rajoitusten poisto tekevät siitä paremman valinnan edeltäjiinsä. Sen kyky prosessoida pidemmät syötteet ja tiedostot, yhdessä rajattoman pääsyn edistyneisiin tietojen analyysityökaluihin, kuten aiemmin tunnettuun Code Interpreter, vahvistaa sen valintaa erityisesti yritysten keskuudessa, jotka ovat olleet epävarmoja aiemmin tietoturvaongelmien vuoksi.
Käsityönä koodin luominen antaa tilaa AI-vetäisille järjestelmille, jotka on koulutettu sen sijaan, että ohjelmoitaisiin, mikä merkitsee perustavanlaatuista muutosta ohjelmistokehityksessä.
Mekaaniset tehtävät ohjelmoinnissa saattavat pian kuulua AI:lle, vähentäen tarvetta syvälle koodausosaamiseen. Työkalut, kuten GitHubin CoPilot ja Replitin Ghostwriter, jotka avustavat koodauksessa, ovat varhaisia osoituksia AI:n laajenevasta roolista ohjelmoinnissa, viitatessa tulevaisuuteen, jossa AI laajenee avustamisesta täydelliseen ohjelmointiprosessin hallintaan. Kuvitellaan yleinen tilanne, jossa ohjelmoija unohtaa kielen syntaksin listan kääntämiseksi. Sen sijaan, että etsii verkkokeskusteluista ja artikkeleista, CoPilot tarjoaa välittömän avun, pitäen ohjelmoijan keskittyneenä tavoitteeseen.
Siirtyminen matalan koodin ohjelmointiin AI-vetäiseen kehitykseen
Matalan koodin ja ei-koodin työkalut yksinkertaisivat ohjelmointiprosessia, automatisoiden perustason koodiblokkeja ja vapauttaen kehittäjiä keskittymään luovien projektien osuuksiin. Mutta kun astumme tähän uuteen AI-aaltoon, maisema muuttuu edelleen. Käyttöliittymien yksinkertaisuus ja kyky generoida koodia suoraviivaisilla komennoilla, kuten “Rakenna minulle verkkosivu, joka tekee X”, vallankumouksellistaa prosessia.
AI:n vaikutus ohjelmoinnissa on jo valtava. Samoin kuin varhaiset tietokoneiden tutkijat siirtyivät sähkötekniikasta abstrakteimpiin käsitteisiin, tulevaisuuden ohjelmoijat saattavat pitää yksityiskohtaista koodaamista vanhanaikaisena. AI:n nopea kehitys ei rajoitu teksti/koodin generointiin. Alueilla, kuten kuvageneraatio, diffuusiomalli, kuten Runway ML, DALL-E 3, osoittaa valtavia parannuksia. Katsokaa alla olevaa twiittiä, jossa Runway esittelee uusimman ominaisuutensa.
https://twitter.com/runwayml/status/1723033256067489937
Laajentamalla ohjelmointia ulkopuolelle, AI:n vaikutus luovilla aloilla on yhtä muodonmuuttava. Jeff Katzenberg, elokuvateollisuuden jättiläinen ja entinen Walt Disney Studiosin puheenjohtaja, on ennustanut, että AI vähentää merkittävästi animaatioelokuvien tuotantokustannuksia. Bloombergin mukaan Katzenberg ennustaa 90 prosentin laskua kustannuksissa. Tämä voi sisältää työvoiman syrjäytymisen työvoimavaltaisista tehtävistä, kuten perinteisessä animaatioteollisuudessa, kuvan renderöinnistä ja jopa luovien prosessien, kuten hahmosuunnittelun ja tarinankerronnan avustamisesta.
AI:n kustannusvaikuttavuus koodauksessa
Kustannusanalyysi ohjelmistosuunnittelijan palkkaamisesta:
- Kokonaiskustannukset: Ohjelmistosuunnittelijan keskimääräinen palkka, mukaan lukien lisäedut teknologia-keskuksissa, kuten Silicon Valley tai Seattle, on noin 312 000 dollaria vuodessa.
Päivittäinen kustannusanalyysi:
- Työpäivät vuodessa: Ottaen huomioon, että vuodessa on noin 260 työpäivää, ohjelmistosuunnittelijan päivittäinen kustannus on noin 1 200 dollaria.
- Koodin tuotanto: Olettaen, että ohjelmistosuunnittelija tuottaa keskimäärin 100 valmiiksi kirjoitettua, testattua, tarkastettua ja hyväksyttyä koodiriviä päivässä, tämä päivittäinen tuotanto on vertailun perusta.
Kustannusanalyysi GPT-3:n käytöstä koodin generointiin:
- Token-kustannus: GPT-3:n käytön kustannus oli noin 0,02 dollaria jokaista 1 000 tokenia kohden.
- Tokenit riville: Keskimäärin koodirivillä on noin 10 tokenia.
- Kustannukset 100 riville: Sen vuoksi 100 koodirivin (tai 1 000 tokenin) generointi GPT-3:lla olisi noin 0,12 dollaria.
Vertaileva analyysi:
- Kustannus riville (ihminen vs. AI): Vertaamalla kustannuksia, 100 koodirivin generointi päivässä maksaa 1 200 dollaria, kun se tehdään ihmisohjelmistosuunnittelijalla, verrattuna vain 0,12 dollariin GPT-3:lla.
- Kustannuskerroin: Tämä edustaa kustannuskerroin-eroa noin 10 000 kertaa, AI ollen merkittävästi halvempi.
Tämä analyysi osoittaa AI:n taloudellisen potentiaalin ohjelmistokehityksessä. AI:n koodin alhainen kustannus verrattuna ihmisten kehittäjien suuriin kustannuksiin viittaa tulevaisuuteen, jossa AI voisi tulla suositummaksi koodin generointimenetelmäksi, erityisesti standardi- tai toistuvissa tehtävissä. Tämä muutos voi johtaa merkittäviin kustannussäästöihin yrityksille ja uudelleenarviointiin ihmisten ohjelmoijien rooleista, keskittyen taitoihin, jotka ovat monimutkaisempia, luovempia tai valvontatehtäviä, joita AI ei vielä voi hoitaa.
ChatGPT:n monikäyttöisyys ulottuu moniin ohjelmointikonteksteihin, mukaan lukien monimutkaiset vuorovaikutukset web-kehityksen kehyksillä. Kuvitellaan tilanne, jossa kehittäjä työskentelee Reactin kanssa, suositulla JavaScript-kirjastolla käyttöliittymien rakentamiseen. Perinteisesti tämä tehtävä olisi vaatinut syventymistä laajaan dokumentaatioon ja yhteisöllisiin esimerkkeihin, erityisesti silloin, kun on kyse monimutkaisista komponenteista tai tilanhallinnasta.
ChatGPT:llä tämä prosessi sujuvoituu. Kehittäjä voi yksinkertaisesti kuvailla toiminnallisuutta, jonka haluaa toteuttaa Reactissa, ja ChatGPT tarjoaa relevantteja, valmiiksi käyttöönottokelpoisia koodinpätkiä. Tämä voi vaihdella peruskomponenttirakenteen asettamisesta monimutkaisempiin ominaisuuksiin, kuten tilanhallinnan hallintaan hookien avulla tai integrointiin ulkoisten API:iden kanssa. Vähentämällä tutkimuksen ja koehenkilöiden aikaa, ChatGPT parantaa tehokkuutta ja nopeuttaa projektien kehitystä web-kehityskonteksteissa.
Haasteet AI-vetäisessä ohjelmoinnissa
Kun AI jatkaa ohjelmistokehityksen muokkaamista, on tärkeää tunnistaa rajoitukset ja haasteet, jotka liittyvät yksin AI:hin perustuvaan ohjelmointiin. Nämä haasteet korostavat tasapainotetun lähestymistavan tarpeen, joka hyödyntää AI:n vahvuuksia ja tunnustaa sen rajoitukset.
- Koodin laatu ja ylläpidettävyys: AI:n generoima koodi voi joskus olla verbiili tai tehokasta, mikä voi johtaa ylläpitohäiriöihin. Vaikka AI voi kirjoittaa toimivan koodin, sen varmistaminen, että tämä koodi noudattaa parhaiden käytäntöjen lukukelpoisuudelle, tehokkuudelle ja ylläpidettävyydelle, on edelleen ihmisten tehtävä.
- Virheiden korjaus ja virhetilanteiden käsittely: AI-järjestelmät voivat generoida koodia nopeasti, mutta ne eivät aina ole erittäin hyviä virheiden korjaamisessa tai hienovaraisissa virhetilanteissa olemassa olevassa koodissa. Virheiden korjaamisen hienoudet, erityisesti suurissa ja monimutkaisissa järjestelmissä, vaativat edelleen ihmisen hienostunutta ymmärrystä ja kokemusta.
- Riippuvuus koulutusaineistosta: AI:n tehokkuus ohjelmoinnissa riippuu suurelta osin sen koulutusaineiston laadusta ja laajuudesta. Jos koulutusaineisto puuttuu tiettyjen virheiden, mallien tai skenaarioiden esimerkkejä, AI:n kyky käsitellä näitä tilanteita on heikentynyt.
- Etiset ja turvallisuusongelmat: Kun AI ottaa merkittävämmän roolin koodauksessa, etiikkaa ja turvallisuutta koskevia ongelmia, erityisesti tietosuojaa ja AI:n generoiman koodin mahdollisia puolueellisuuksia, on otettava huomioon. Varmistaminen, että AI:ta käytetään vastuullisesti ja puolueettomasti, on tärkeää AI-vetäisten ohjelmointityökalujen kehittämisessä.
Tasapainotus AI:ta ja perinteistä ohjelmointitaitoa
Tulevaisuuden ohjelmistokehitystiimeissä saattaa kehittyä hybridi-malli. Tuotejohtajat voivat kääntää vaatimukset ohjeiksi AI-koodigeneraattoreille. Ihmisten valvonta saattaa edelleen olla tarpeen laadunvarmistukseen, mutta painopiste siirtyy koodin kirjoittamisesta ja ylläpitämisestä AI:n generoimien tulosteiden tarkastamiseen ja hienosäätöön. Tämä muutos viittaa vähentyneeseen painopisteeseen perinteisiin ohjelmointiperiaatteisiin, kuten modulaarisuuteen ja abstraktioon, koska AI:n generoima koodi ei välttämättä noudata ihmisten ylläpidon standardeja.
Tässä uudessa aikakaudessa insinöörien ja tietojenkäsittelytieteilijöiden rooli muuttuu merkittävästi. Heidän tulee vuorovaikuttaa LLM:n kanssa, tarjoamalla koulutusaineistoa ja esimerkkejä tehtävien saavuttamiseksi, siirtäen fokus yksityiskohtaisesta koodauksesta strategiseen työhön AI-malleja kanssa.
Peruslaskentayksikkö siirtyy perinteisistä prosessoreista massiivisiin, esikoulutettuihin LLM-malleihin, merkiten eroa ennalta arvioitavista, staattisista prosesseista dynaamisiin, sopeutuvaisiin AI-välikappaleisiin.
Painopiste siirtyy ohjelmien luomisesta ja ymmärtämisestä AI-mallien ohjaamiseen ja teknologian kanssa vuorovaikkuksen uudelleenmäärittelyyn.
Jatkuva tarve ihmisen näkemykselle AI-generoimassa koodissa
Ohjelmoinnin tulevaisuus on vähemmän koodaamista ja enemmän ohjaamista älykkyydestä, joka ajaa teknologiamme maailmaa.
Uskomus, että luonnollisen kielen prosessointi AI:lla voi korvata täysin formaalisten matemaattisten merkintöjen ja perinteisen ohjelmoinnin tarkkuuden ja monimuotoisuuden, on parhaimmillaan ennenaikainen. Siirtyminen AI:hen ohjelmoinnissa ei poista tarvetta tarkkuudelle ja täsmällisyydelle, jota vain formaalinen ohjelmointi ja matemaattiset taidot voivat tarjota.
Lisäksi haaste AI-generoiman koodin testaamisessa ongelmista, jotka eivät ole ratkaistu aiemmin, on edelleen merkittävä. Tekniikat, kuten ominaisuusperusteinen testaus, vaativat syvää ymmärrystä ohjelmoinnista, taitoja, joita AI ei vielä voi toistaa tai korvata.
Yhteenvetona, vaikka AI luvaa automatisoida monia ohjelmointin osia, ihmisen elementti on edelleen ratkaiseva, erityisesti alueilla, jotka vaativat luovuutta, monimutkaista ongelmanratkaisua ja eettistä valvontaa.












