Kirjoittaja Aihe: ChatGPT:n "kyky" ohjelmoida  (Luettu 4085 kertaa)

AimoE

  • Käyttäjä
  • Viestejä: 2714
    • Profiili
ChatGPT:n "kyky" ohjelmoida
« : 01.04.23 - klo:20.23 »
ChatGPT:n "kyky" ohjelmoida sai kehuja ja ohjelmoijat alkoivat kommentoida tyyliin että taisi olla ChatGPT:n kirjoitttama artikkeli.

Ylen uutisjutuissa oli joskus artikkeli ohjelmoinnin opetuksesta kouluissa. Yritin silloin kommentoida, että tärkeintä on se, että lapset oppivat miten tyhmiä tietokoneet ovat, kun tajuavat, että kaikki pitää erikseen koneelle komentaa. Toimittaja ilmeisesti luuli kommenttiani vitsiksi, sillä sitä ei julkaistu. Omasta mielestäni esitin ammattilaisena ihan vakavan näkökohdan...

Jere Sumell

  • Käyttäjä
  • Viestejä: 722
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: ChatGPT:n "kyky" ohjelmoida
« Vastaus #1 : 02.04.23 - klo:05.09 »
Itselläni ei ole kouluikäisiä lapsia, eikä minkään ikäistä jälkikasvua, mutta on totta, että kasvatusalan ammattilaiset lähinnä kasvatustieteen maistereita he ovat, ovat k*s**sa, mikäli eivät omaa valmiuksia tietojenkäsittelystä ja tekniikan kehityksen seuraamsiesta.

Miten käy kirjoitustaidon tai laskentataidonkin, kun meidän IT-ammattilaisten valmiiksi loppuun saakka tarjoillut ohjelmat on siellä käytössä jo ja kaikki välineet ja rauta niiden digitaalisten tuotteiden käyttöön annetaan jo ensimmäisellä luokalla 7-vuotiaana käyttöön? Sitten oppilaat sosialistuvat siihen, että ne ovat itsestään selviä. Eihän se niin ole, mikään tule tyhjästä ja mikään ole itsestään selvää, ja tuossa iässä ei ole tietoisuus vielä kehittynyt niin paljoa, että lapset itse sitä ymmärtäisivät: Eli ohaajan, tai opettajan ala-asteella, ylä-asteella luokanvalvojat pitäisi ymmärtää itse sen teknisten toteutusten päälle niin paljon, että osaa tuoda siinä opetustilanteessa se julki joka tilanteessa, osa käyttämäänsä pedagogiikkaa se "ihminen tekniikan käyttäjä-roolissa, pelkkä väline", mitä varmaan nykyisistäkään 90% luokanvalojista ainakaan suoraan OKL:stä valmistuneet eivät itsekään ymmärrä, kun eivät ole päivääkään opiskelleet tekniikkaa. On poikkeuksia, mutta makrotasolla suurten lukumäärien yksilöt muodostavat sen harmaan massan, mistä puhutaan.

Itselläni jäänyt kynä/paperi -aikaan kasvatustieteen opinnot kasvatustieteen perusopinnot olen suorittanut, ja iän puolesta enää mitään mielenkiintoa aineopintojakaan suorittaa. Maailma oli täysin eri 2002-2003, mitä se nykyisin on.

Jokin aika sitten oli viestintä-opettaja-alan puheenjohtajan vai jonkun asiantuntijan kommentti, että esim. tähän ChatGPS:n kaltaiseen mullistavaan tekoälyinnovaatioon tekoälyalgoritmiikan ja tekoälytutkimuksen, mitä kone-oppiminen mm. liittyy siihen, niin sisältyy myös paljon mahdollisuuksia, mutta tuntuu vähän siltä, että se on vasta täysin pimennossa niiden ammattilaisten toimesta, jotka kohtaavat aressa työssään päivittäin tämän. Jos sitä alkaa pitää uhkana heti alusta, on varmaa, että itselle tulee burn-out ennen pitkää uraa, eikä selviydy vanhuuseläkepäiviin, jos on vasta valmistunut humanisti Turun tai Rauman OKL:stä, ja aloittaa työt jonkun lapsi-ikäryhmään peruskoulun penskaryhmän johtajana.

Siinä määrin voisi olla huolestunut tulevaisuuden Suomen kansakunnan kansalaisten toimintamalleista, ja mitä ne sitten ovat joskus, kun meno on kriittisissä toisen sosiaalisaatioasteen vaiheessa sitten peruskoulun alkaessa tämän kaltaista ja jos siellä on nykypäivän haasteisiin osaamaton tai niitä sivuten kinttaalla viitaten ehkä siksi, että eivät itse ymmärrä nykypäivän haasteita.

Tämä on ollut omasta mielestänikin täysin karvaton maailma jo pitkään, mitä nykynuoriso-sukupolvi ole enää pitkään tienneet edes, mikä "äänilevy" on.

Sekin ärsyttää, kun katsoo yksin istuvia lähinnä itse teen havaintoja, ja tarkkailen ikäisiäni naisia linja-autossa, niin matkapuhelin aina edessä saati sitten noista peruskouluikäisistä, kännykkä joka hetki ruudun edessä, sitä en käsitä. Moni niistäkin on vaikeuksissa jossain kohtaa, kun noin nuorella iällä nykypäivän teknologian suoin 2020-luvulla jättävät itsestään jo megalomaanista data-jalanjälkeä maailmalle. Huolestuttavaa.

Sitten siinä ensimmäisen vaiheen sosiaalisaation, mistä siinä puhutaan, johon liittyy ensisijaisesti syntymähetkestä peruskoulun aloittamiseen, tai esikoulun 6/7 -vuotiaana, se tärkein malli tulee kasvulle sieltä kotoa ja se lähipiiri niitä ihimsiä, mitä siinä on, niin sitten ovat kusessa, jos siellä kotona ei ymmärretä nykypäivän haasteita tämän tekniikan osalta. No, se on ollut aina vähän siten oman kokemuksenikin mukaan että jos kotona esim. vanhemmat ovat "mul**uja*", niin en itsekään koulussa sitten niistä luokkatovereistani.

Ei ne käytöshäiriöt sitten, mitkä sitten ilmenee voimakkaammin viimeistään ylä-asteelle siirtymisen aikaan, ole mihinkään muuttuneet erityisesti jos lapsella jokin no ei ADHD välttämättä paha ole, mutta jokin sellainen käytöshäiriö, ja rikkinäinen koti mahdollisesti, ni on siinä tekniikkaa tai ei, nykyisin pakosta on, se vain pahentaa ongelmia, joihin sitten esiteini-iässä nuori ajautuu. Se on ollut läpi ihmisen historian sivu sama virsi, tai niin kauan, kun näitä on alettu tietoisesti tutkimaan, ja niitä on havaittu esim. käytösongelmien seurauksista niitä tekijöitä, mitä siellä taustalla on. Niitäkään aina sillä tavalla ole välttämättä kovin kauaa edes tunnistettu.

Vielä esimerkki peruskouluopetuksen välineenä ChatGPS:n mahdollisuudesta käyttötapaus-skenaario, joka on omasta päästäni sävelletty:

- Opettaja valitsee jonkin teemaan sopivan aiheen, ja koostaa ChatGPS:n avulla tekstiä siitä.
- Verrokkitekstin opettaja kirjoittaa "perinteisin" menetelmin tai muokkaa eri lähteistä esim. julkisesta verkosta hankittujen lähteiden avulla tai mitä ne lähteet sitten ovatkaan.

Disinformaation määrä on tolkuton tuossa ChatGPS:n osalta.
No, sitten monen oppialan osaamista tulee karrutettua ja ymmärrystä teeman aiheesta, äidinkielestä ja kirallisuudesta, sitten nykymaailman haasteisiin niiden kohtaamisesta tämän tekoälyalgoritmiikan osalta ainakin, kun toimitaan seuraavasti:

Opettaja antaa tehtäväkseen materiaaliksi molemmat tekstit oppilaille aineistoksi, ja antaa tehtävänannon tyyliin "Tässä on kaksi Suomessa havaitun pörriäispistiäis-ampiais -eliölajista kertovaa tekstiä." Toimi seuraavasti:
1. Perehdy Pörriäispistiäis -ampiaisaiheeseen. Pohjaksi nämä kaksi oppimateriaaliksi valmistamaani tekstiä teille niistä.
2. Lue nämä kaksi tekstiesitystä
3. Kirjoita oma essee aiheesta "Pörriäispistiäis-ampiainen".

Sitten, kun tämä ensimmäinen vaihe jonkun parin viikon päästä on valims, sitten vasta toisessa vaiheessa opettaja paljastaa, ja jatkotehtävät
4. Toinen niistä oli ChatGPS, tekoälyalgoritmin, ja toinen perinteisemmin metodein koottu esitys, joka teillä ol siellä lähdeaineistonja. Sitten tässä yhteydessä palautteen anto niistä esseistä, joita oppilaat tuossa ensimmäisen vaiheen osiossa oppilaat oli kirjoittanut, vetää yhteen sen, mitä oppilaille julki voi puhua, palaute
5. Sittenhän voi vetää yhteen luokan kesken tehtävän kokonaisuudessaan ja aiheen "Pörriäinen".

Noista teksteistä muuten ilmenee opettajalle koulutuksen myötä hankitun a kokemuksen myötä hankitun silmän kautta, minkä tasoisia teksti tiedonkäsitteljöitä yksilöt, tai oppijat, mitä siinä luokkayhteisössä se termi on lapsesta, ja mikä on sitten se ilmentymä, miten on jäsentänyt lähdemateriaalia a itse tuottanut tekstiä. Jyvät erottuu akanoista itselle tämän äidinkieli ja kirjallisuus/tietojenkäsittely/tekniikan hyödyntämistaito ihmisen välineenä, mitä psykologiaa aika pitkälti siinä on opettajan ammattisilmä vaatii, jotta sitten kykenee kommunikoimaan omissa työyhteisö-sidosryhmissä kokoustaessa näiden kanssa.

Tuollainen lisäys vielä, että "Sitä enmmän vaatii opettajalta/ohjaajalta asiantuntemusta/vastuuvaade on sitä raskaampi, mitä nuoremmasta oppijaryhmästä on kyse", siinä määrin en ihmettele monen peruskouluopettajan loppuunpalamista.

Itselläni kävi mielessä aikuispedagogiikan erikoistumisopinnot nyt aikuisemmalla iällä vielä, jos suorittaisi KTM -tutkinnon aikuispedagogiikassa, mutta iän puolesta päädyin siihen, että työmarkkinoilla ei parantaisi lainkaan työllistymismahdollisuuksia. Antaa olla, voihan sitä seurata alaa tämän tekniikan ja talouden osalta, mitkä ne omat koulutuoppialani sitten lopulta päätyivät näihin aika luonnollisesti. Maailma on vapaa, voihan sitä humaanina harrastuksena ihminen tehdä mitä tykkää.
« Viimeksi muokattu: 02.04.23 - klo:05.30 kirjoittanut Jere Sumell »
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

UnelmaIkuisestaOnnesta

  • Käyttäjä
  • Viestejä: 3
    • Profiili
Vs: ChatGPT:n "kyky" ohjelmoida
« Vastaus #2 : 08.06.23 - klo:20.26 »
Se millaisena seuraava sukupolvi tulee näkemään tietokoneet on hyvin erilainen kuin meidän maailmamme, jossa tietokoneet ovat aina hyvin tyhmiä ja niitä pitää käskyttää monimutkaisilla yksityiskohtaisilla käskyillä katsellen komentorivi-ikkunaa, joka tottelee vain tiettyjä ulkoa opeteltavia taikasanoja.

Olin aluksi hyvin epäileväinen ChatGPT:n kyvyistä ohjelmoida, kunnes kokeilin sitä. Oletteko te kokeilleet sitä? https://chat.openai.com Paitsi, että se osaa esimerkiksi neuvoa, että mitkä Linuxin ytimen ominaisuudet on toteutettu missäkin lähdekooditiedostossa, niin sen koodauskyvytkin ovat ihan kelvolliset.

Näytän tässä esimerkin, millaista koodia ChatGPT tuottaa. En ole kokeillut sen toimivuutta, koska en osaa koodata RUST kielellä, mutta funktiokutsut ja vaiheet näyttäisivät melko loogisilta samoin kuin kielioppi. En usko, että sitä joutuu muuttamaan ainakaan paljoa, jotta se täyttäisi tehtävänannon.

Keskusteluni ChatGPT:n kanssa, jonka loin tätä viestiketjua varten meni näin:

User
Kirjoita minulle RUST kielinen ohjelma, joka laskee Fibonaccin lukuja ja lähettää vastaukset internet osoitteeseen "linux.fi" käyttäen UDP protokollaa.

ChatGPT
Tässä on yksinkertainen RUST-kielinen ohjelma, joka laskee Fibonaccin lukuja ja lähettää vastaukset UDP-protokollalla "linux.fi" -osoitteeseen:


Koodia: [Valitse]
use std::net::{UdpSocket, SocketAddr};

fn main() {
    // Luo UDP-socket
    let socket = UdpSocket::bind("0.0.0.0:0").expect("Failed to create socket");
    socket.set_broadcast(true).expect("Failed to set socket broadcast");

    // Määrittele vastaanottajan tiedot
    let addr: SocketAddr = "linux.fi:12345".parse().expect("Invalid socket address");

    // Laske ja lähetä Fibonaccin luvut
    let n = 10;  // Haluttu lukujen määrä
    let mut fib_nums: Vec<u64> = vec![0, 1];
   
    for i in 2..n {
        let next_num = fib_nums[i-1] + fib_nums[i-2];
        fib_nums.push(next_num);

        let message = next_num.to_string().into_bytes();
        socket.send_to(&message, addr).expect("Failed to send message");
        println!("Sent: {}", next_num);
    }

    // Sulje socket
    drop(socket);
}

Tässä ohjelmassa käytetään std::net::UdpSocket -kirjastoa UDP-yhteyden luomiseen ja tiedon lähettämiseen. Ohjelma laskee Fibonaccin luvut halutun määrän (n) ja lähettää jokaisen luvun erikseen UDP-paketteina "linux.fi" -osoitteeseen porttiin 12345. Voit muuttaa n -arvoa haluamasi lukumäärän mukaan.

Muista, että tämä koodi lähettää tietoa "linux.fi" -osoitteeseen porttiin 12345, joten varmista, että kyseinen osoite on olemassa ja vastaanottaa UDP-paketteja.


– THE END –

Vaikka tietokoneet yhä säilyvät hyvin tyhminä sen kannalta, joka haluaa oikeasti ymmärtää, että miten ne toimivat, niin myös monimutkaisten taitojen oppimisesta tulee tekoälyn ansiosta paljon helpompaa ja uusi käyttöliittymä mahdollistaa sumeat ja epätarkat käskyt, joissa on vähemmän opeteltavaa, sekä lähdekoodin automaattisen tuottamisen pyynnöstä.

Esimerkiksi olen melko varma, että jossain vaiheessa joku liittää keskustelevan tekoälyn Linuxin komentoriviin niin, että tietoja voi hakea tietoa paljon manuaalisivuja helpommin ja laajemmin.

Luulen myös, että ChatGPT:llä voi olla kirjoitustaitoa edistävä vaikutus, koska se kirjoittaa pitkiä kirjakielisiä viestejä. Useimmilla suomalaisilla ei ole ketään kenen kanssa kirjoitella sellaisia viestejä ja sellaisten kirjoittaminen muille tarkoittaisi nopeaa välirikkoa vastaanottajien stressaantuessa.

Minulla epäilys on vaihtunut jo jännitykseksi tajuttuani, että voin viimein oppia tekoälyn avulla kaikki ne asiat, jotka ovat ennen olleet minulle liian vaikeita siksi, että ne edellyttävät tietoja, joita on vaikea löytää edes hakukoneilla. Esimerkiksi jos haluaisin koodata jonkun minulle vieraan algoritmin tai käyttää minulle outoa ohjelmointikieltä, niin ChatGPT:n tuottama koodi ja neuvot lyhentäisivät projektin aikaa valtavasti.

nm

  • Käyttäjä
  • Viestejä: 16245
    • Profiili
Vs: ChatGPT:n "kyky" ohjelmoida
« Vastaus #3 : 08.06.23 - klo:20.58 »
Esimerkiksi olen melko varma, että jossain vaiheessa joku liittää keskustelevan tekoälyn Linuxin komentoriviin niin, että tietoja voi hakea tietoa paljon manuaalisivuja helpommin ja laajemmin.

Tässä yksi toteutus: https://github.com/TheR1D/shell_gpt

Vaatii OpenAI:n maksullisen API-avaimen. Todennäköisesti tulevina kuukausina myös avoimemmat ja lokaalisti toimivat mallit saadaan viritettyä koodaustehtäviin soveltuviksi. Muistia ja laskentakapasiteettia nekin kyllä syövät reippaasti.

UnelmaIkuisestaOnnesta

  • Käyttäjä
  • Viestejä: 3
    • Profiili
Vs: ChatGPT:n "kyky" ohjelmoida
« Vastaus #4 : 09.06.23 - klo:01.42 »
Tässä yksi toteutus: https://github.com/TheR1D/shell_gpt

Siinäpä mielenkiintoinen linkki! Tuon Shell_GPT:n esittelyvideolla näkyy jännittävä ennakkonäytös siitä, millaista komentorivillä työskentely tulee tulevaisuudessa olemaan. OpenAI:n API-avaimen hinnoittelukin näyttäisi ihan kohtuulliselta.

https://openai.com/pricing

Odotan, että jossain vaiheessa tulisi omalla koneella suoritettava tekoäly, jonka voisi asentaa suoraan pakettivarastosta.

Yritin pitkään saada joitain avoimempia omalla koneella toimivia malleja (LLaMA ja Alpaca) toimimaan, mutta se ei ollut kovin helppoa ja kun lopulta onnistuin Alpacan kanssa, niin suomenkielisiin kysymyksiin vastaukset olivat siansaksaa. ChatGPT on koulutettu paljon useammilla kielillä kuin nykyiset avoimen lähdekoodin tekoälyt.

ilkant

  • Käyttäjä
  • Viestejä: 1275
  • Kubuntu
    • Profiili
Vs: ChatGPT:n "kyky" ohjelmoida
« Vastaus #5 : 10.06.23 - klo:00.13 »
Olen kokeillut niin, että kopioin FaceBookista yhden python-koodin ja kokeilin sitä. Sitä väitettiin Chat GPT:n tai vastaavan tekoälyn tekemäksi. Ohjelma piirsi näytölle dialogi-ikkunan, jossa 4 paikkaa tietojen annolle ja laske-nappi. Se osasi laskea jonkun fysikaalisen kaavan mukaan tuloksen. Kokeilin sitä sitten myös tyhjillä kentillä. Ja se antoi aivan oikeanlaisen virheilmoituksen siitäkin. Toimii. Mutta yhden toisen tekemä kokeilu toisella ohjelmalla ei onnistunutkaan sitten yhtä hyvin. Pitää olla vielä ihminen, joka tarkistaa tekoälyn antamat vastaukset. Sillä ei ole itsellä vielä "järkevyystarkistusta".

Keskiviikkona 7.6.2023 olin IT-kouluttajien tilaisuudessa, jonka aihe oli tekoäly opetuksessa. (Linkin sivulla on tallennetut esitykset ja kalvot.) Siellä tuli esille, että tekoäly on vasta tulossa laajempaan käyttöön. Sillä on paljon mahdollisuuksia ja myös haittoja sekä uhkakuviakin. Tekoälyn käyttämisen avainasia on sopivien promptien (kehotteiden) antaminen Chat GPT:lle. Osuvilla sanoilla saa paremman tuloksen.

teele

  • Käyttäjä
  • Viestejä: 816
    • Profiili
Vs: ChatGPT:n "kyky" ohjelmoida
« Vastaus #6 : 11.06.23 - klo:13.25 »
 ja taas piti kokeilla:

in javascript, modify a text div on web page using textarea and fetch and send the modified text to server with fetch command


HTML:
Koodia: [Valitse]
<div id="text-div">This is the initial text.</div>
<textarea id="text-area"></textarea>
<button id="submit-btn">Submit</button>

JavaScript:

Koodia: [Valitse]
const textDiv = document.getElementById("text-div");
const textArea = document.getElementById("text-area");
const submitBtn = document.getElementById("submit-btn");

// Set the initial value of the textarea to the current value of the text div
textArea.value = textDiv.innerText;

submitBtn.addEventListener("click", () => {
  // Get the modified text from the textarea
  const modifiedText = textArea.value;

  // Send the modified text to the server using fetch
  fetch("/update-text", {
    method: "POST",
    body: JSON.stringify({ text: modifiedText }),
    headers: {
      "Content-Type": "application/json"
    }
  })
  .then(response => response.json())
  .then(data => {
    // Update the text div with the updated text from the server
    textDiv.innerText = data.updatedText;
  });
});


"In this example, we're using an event listener on the submit button to get the modified text from the textarea and send it to the server using fetch. We're sending the text as JSON in the request body and specifying the Content-Type header as application/json. Once we receive a response from the server, we update the text div with the updated text that we get back from the server."

Ei ole vielä kokeiltu, mutta näyttää lupaavalta(?), vaikka jsonia ei erityisesti kaivatakaan, teksti riittäisi