I have a complex relationship with ChatGPT. I've tried practically everything that it's capable of doing, analyzed its outputs in-depth, and used the API to create numerous apps and tools. As you can imagine, my views on its capabilities have shifted dramatically over the course of the year and a half since its introduction.
I'll be honest, not all my views of ChatGPT have improved. In fact, I've actually become less impressed over time with certain use cases. There have been days where I have sat back, amazed and utterly blown away by its outputs. There have been others where I have quit my session in disgust, aghast at how awful and inattentive it was.
However, I'm convinced that knowing its strengths and weaknesses is the only way to become a ChatGPT expert. And while I still don't claim to be an expert, I believe that I'm on the right path.
Here are the five most important lessons that I learned in my 1000+ hours using ChatGPT.
Lesson 1: Information is king.
ChatGPT thrives on the information you give it. If you starve it of information, it will give a subpar output every time.
Luckily for me, I found this out fairly early. In fact, I wrote an article about it a few months ago, entitled The Most Important ChatGPT Prompt. The prompt is simple:
Before you begin, please ask me any clarifying questions you have about this so I can give you more information. Please be extremely comprehensive.
At its core, the prompt forces ChatGPT to gather more information by asking you questions about what you want. At the end of the day, you're the only one who knows what you want. This way, it will never assume, hallucinate (to an extent), or miss something critical. I use this prompt every single day.
Despite the theme of this article being evolution, eight months after "discovering" this prompt, I still think it holds true as the most important lesson. If you don't give GPT enough information, it will never meet your standards.
ChatGPT is like a human assistant who is infinitely helpful but is too desperate to please and too timid to ask you any clarifying questions.
It'll scurry off and do the task to the best of its abilities but often will come back with a disappointing result. You must remove this barrier of timidity by specifically requesting ChatGPT to gather more information from you. This increases the time taken on your end, but believe me, it's worth it.
Lesson 2: Prompt engineering is a waste of time (for the most part).
I've slowly learned over time that there are very few prompt engineering tricks that actually achieve an appreciable increase in output quality. This is because, as I mentioned in Lesson 1, information is king.
Now, there are a few prompt engineering tricks that I have seen work very well, such as the classic "think step-by-step" and the COSTAR framework: Context (C), Objective (O), Style (S), Tone (T) (read more about this here).
However, I feel that most prompt engineering techniques, especially the gimmicky ones, are fairly useless. I can't emphasize this enough, in my evolution as a GPT user, I have always come back to one crucial idea:
Treat ChatGPT like a human, and you will succeed.
That's all you really need. ChatGPT was trained on billions of human interactions, so why not keep it human?
Each time you use GPT, consciously think: "If I were assigning this task to a human being, what other information or instructions would I give them?" You will find GPT's outputs to heighten in quality, I'm sure of it.
Lesson 3: Think before you prompt.
You must understand the task in your head before you start interfacing with ChatGPT. If you don't know what you want, how could you ever expect ChatGPT to?
This is a softer lesson, but I feel it's very important. You must be highly aware of your true objective before you start asking ChatGPT to do something for you. If you don't know what you want, you are 100% guaranteed to be disappointed.
Lesson 2 resonates here; if you tried to give a human being a task and didn't know exactly what you wanted, you'll never be satisfied with their result. You'll catch yourself iterating over and over in an inefficient loop. Take five minutes to think through what you want, or, at the very least, use ChatGPT to help you brainstorm what you want.
When you start thinking through what you want, you'll inevitably start getting better at describing to ChatGPT what you're looking for. This, combined with Lesson 1, will help you immensely.
Lesson 4: Know when to start over.
Sometimes, you just need to start a new chat. Whenever I do highly complex code writing or troubleshooting, there are certain points where ChatGPT simply cannot give me what I want anymore. It forgets, it pays attention to the wrong thing, and it can't understand what things I want it to change and what things I don't. It's poisoned with the convoluted context of iterations past.
After I hit about ten or so large messages filled with code blocks and ChatGPT outputs, it often begins to break down. This is when I know I have to change something. I take my lessons learned from that session and wrap them all up into one larger prompt in a fresh session. Nearly every time, the newfound clarity and attention found in a new session solves my problem. This is especially helpful with large-scale writing or coding tasks.
With time, you'll begin to just feel when you need a new session. I understand that this lesson is harder to digest and directly do than the previous ones, but give it a try next time you're several messages deep, and I'm sure you'll see the difference. This is especially good when you combine it with the next lesson…
Lesson 5: Serve ChatGPT one task at a time
ChatGPT is capable of multi-tasking to an extent. This extent, while changing dramatically depending on the task content, is something that I'm not too fond of dealing with. That's why I've learned to serve GPT just one task at a time.
ChatGPT can't boil the ocean. It loses its coherency when you try to glean too many things out of it at once. This is especially true when building GPT-based apps or tools; it's important to shrink the responsibility of each AI instance to the smallest possible task so it has the highest chance of a consistent and correct output.
For example, if you're asking it to write a blog post about something, it's imperative that you first start with an outline and only ask it to do the actual writing one section at a time. This improves not only the length of the output but also the detail, clarity, and oneness of the content surrounding it.
This doesn't apply to every use of ChatGPT, but my rule of thumb is that if you're asking ChatGPT to do 5+ things at once, you're begging for a bad output. Keep it simple!
Thanks for hearing my ramblings about ChatGPT. After hundreds of hours spent using it, it's nice to have an outlet here for all of the things I've learned. I hope these five lessons are helpful to you, no matter your ChatGPT skill level.
Thanks for reading!
-Jordan