Over the last year I’ve been learning Swift and starting to put together some iOS apps. I’d definitely class myself as a Swift beginner.

I’m currently building an app and today I used ChatGPT to help with a function I needed to write. I found myself wondering if somehow I was “cheating”. In the past I would have used YouTube videos, online tutorials and Stack Overflow, and adapted what I found to work for my particular usage case.

Is using ChatGPT different? The fact that ChatGPT explains the code it writes and often the code still needs fettling to get it to work makes me think that it is a useful learning tool and that as long as I take the time to read the explanations given and ensure I understand what the code is doing then it’s probably a good thing on balance.

I was just wondering what other people’s thoughts are?

Also, as a side note, I found that chucking code I had written in to ChatGPT and asking it to comment every line was pretty successful and a. big time saver :D

  • axo10tl
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    That’s because ChatGPT and LLM’s are not oracles. They don’t take into account whether the text they generate is factually correct, because that’s not the task they’re trained for. They’re only trained to generate the next statistically most likely word, then the next word, and then the next one…

    You can take a parrot to a math class, have it listen to lessons for a few months and then you can “have a conversation” about math with it. The parrot won’t have a deep (or any) understanding of math, but it will gladly replicate phrases it has heard. Many of those phrases could be mathematical facts, but just because the parrot can recite the phrases, doesn’t mean it understands their meaning, or that it could even count 3+3.

    LLMs are the same. They’re excellent at reciting known phrases, even combining popular phrases into novel ones, but even then the model lacks any understanding behind the words and sentences it produces.

    If you give an LLM a task in which your objective is to receive factually correct information, you might as well be asking a parrot - the answer may well be factually correct, but it just as well might be a hallucination. In both cases the responsibility of fact checking falls 100% on your shoulders.

    So even though LLMs aren’t good for information retreival, they’re exceptionally good at text generation. The ideal use-cases for LLMs thus lie in the domain of text generation, not information retreival or facts. If you recognize and understand this, you’re all set to use ChatGPT effectively, because you know what kind of questions it’s good for, and with what kind of questions they’re absolutely useless.