Most people don’t understand what ChatGPT actually is.
The GPT in ChatGPT stands for “Generative Pre-trained Transformer”, which is a language model trained on a huge amount of text data. Basically, OpenAI fed ChatGPT a huge amount of inputs and outputs, and ChatGPT learned what the “correct” response should be for any given input. Now, you might be wondering where all this data came from. The answer is the internet.
One way to think of this is ChatGPT is returning the “average” of all answers for any given question. It’s kind of like the “I’m Feeling Lucky” button on Google, except much more complex. ChatGPT isn’t able to produce anything that doesn’t already exist in one form or another on the internet. For any response you get from ChatGPT, you can probably find a fairly similar one on some message board somewhere.
With that being said, ChatGPT can’t “make” anything. It can just give you a response to a prompt that is likely to be the “correct” one based on all the data from all corners of the internet that ChatGPT has been trained on.
However, this happens to be a very useful tool. The trick to using this tool is in how you write your prompts. The more bit-size and specific, the better. Asking ChatGPT to “make a web app” wouldn’t give you much more than if you were to Google that same question. However, prompting ChatGPT with “Ruby on Rails model for a user” would likely yield you something much better. This allows you to work much more quickly and productively than if you had to write out the Ruby file by hand. It’s also worth mentioning that GitHub Copilot exists, and was designed for this exact use-case.