In this series, we break down how professionals can leverage ChatGPT. This part 1 breaks down how to use it for writing and indicates for each example how well it works for both the free and paid versions.
By far the most common use case, generating human-like text expressing complex ideas and information is useful for nearly everyone. Today I’ll tackle the following issues often encountered when using ChatGPT for text content:
- Style — It sounds nothing like me, or it sounds like an AI
- Tone — Professional or playful, empathetic or stern — content filtering, ‘client facing’
- Failure — It didn’t get close to something simple I wanted
- Caveats — Formatting, hallucinations, the work in progress
I will denote this clearly in each example, but “ChatGPT” will mean ChatGPT-3.5 Turbo, which is available to everyone without paying. “ChatGPT-4” will be the advanced model available to plus users.
I focus lots of this advice on things that work for ChatGPT, but all of this works better and with less prompting on ChatGPT-4 — and some of it only works on the advanced model. My advice for professionals looking to jump into AI is to, at least for a month, get access to the advanced model.
However, I want this to be useful for every professional, so all of this will work on ChatGPT-3.5.
Here is ChatGPT-3.5 on rabbits:
Me: Write about rabbits. Only 4 sentences
ChatGPT: Rabbits are small, furry mammals known for their adorable appearance and agile movements. They are found in various parts of the world, ranging from forests and grasslands to deserts and mountains. Rabbits are herbivores, primarily feeding on grass, leaves, and vegetables. They are also known for their rapid breeding ability, with females capable of producing multiple litters each year.
This probably does not sound like you, and easiest fix is to supply the immediate, important background on who you are and why you’re writing it. This helps with tone too. For example,
Me:Rewrite with this in mind: I’m a mom of 3 kids who love rabbits, and I love them too. This is an intro paragraph to a longer article about how to take care of rabbits, but I’ll be giving facts too. I want to remain factual and informational, but convey my excitement and passion too.
ChatGPT: As a proud mother of three kids who share my love for rabbits, I am thrilled to embark on this journey of sharing valuable information about how to properly care for these captivating creatures. Rabbits, with their adorable appearance and agile movements, have captured our hearts and brought immense joy to our family. Through this article, we aim to provide practical tips and facts that will not only nurture your knowledge but also ignite the same excitement and passion that we feel for these delightful furry friends. So, let’s hop right in and discover the fascinating world of rabbit care together!
However, the best way of achieving style, especially if you want it to mimic you, is to provide a significant chunk of your writing and ask it to mimic that writing. For example:
Me: Ah, scratch that. Rewrite it trying to mimic my style. Here is some of my writing:
ChatGPT: Well, let me tell you, being a mom of three amazing kids who share my obsession with rabbits is absolutely fantastic. I mean, it’s like a dream come true! These adorable fluffy creatures have stolen our hearts and brought sheer joy to our family. So, get ready for an exciting journey as I spill the beans on all the rabbit care secrets. From practical tips to fascinating facts, I’ll make sure you’re equipped with everything you need to give these delightful furry friends the love and care they deserve. Let’s dive right in and explore the captivating world of rabbit care together – it’s going to be a hop-tastic adventure!
Admittedly, I selected writing of mine that really wasn’t suited for rabbit facts, but of note is how ChatGPT is finally using sentences that are not all the same length — and I did not need to tell it to change that; it gathered it from my writing. By selecting work you’ve written that matches more closely the subject matter at hand, you can easily generate text that requires much less modification than pure ChatGPT output.
Of note, ChatGPT initially failed on that first prompt, it tried to continue writing what I had given it. You can simply prompt “No, I meant use my style to write about X” and it will correct just fine. This issue does not happen with ChatGPT-4.
If style is focused on sounding like you, tone is focused on sounding like “some person in X position”. Writing an email about the work you’ve done over the week to your Project Manager does not require your own unique voice, but it does require ‘professionalism’. Unfortunately, ‘professionalism’ causes ChatGPT to delve into all sorts of terrible writing (more on that in the Failure section below).
Hey ChatGPT, write two sentences on Front End Development.
That’s great. It sounds professional already.
Me: write two sentences on front end development in a professional voice
ChatGPT: Front end development encompasses the skillful implementation of user interfaces and interactive elements, harmoniously blending design aesthetics with seamless functionality. It demands meticulous attention to detail, optimized code structures, and a keen understanding of user experience principles to deliver compelling web experiences that captivate and engage audiences.
I do love my harmonious blending as a front-end developer.
So then, writing something new and needing a professional tone is easy; just ask. But how would you transform non-professional writing into professional writing? Well…the easiest way is ChatGPT-4, but I’ll demonstrate fixing 3 as well. So let’s imagine as the client touchpoint, you receive this feedback from your developer on a possible direction the client could go in.
Me: Hey ChatGPT, my friend wrote this: “Dude! We can’t use YolloCSS — we’d have to expose class names as props which fricks up encap, and forget component constraints which is literally everything they freaking have, like what is this direction”. I need it rewritten in a professional tone.
ChatGPT: Hello ChatGPT, my colleague expressed the following concern: “We cannot utilize YolloCSS due to the requirement of exposing class names as props, which disrupts encapsulation, and disregards component constraints, which are integral to the framework. It is perplexing to comprehend the rationale behind this design direction.”
While no longer colloquial, this is a far cry from what we need. It also repeats the ChatGPT salutation. Meanwhile, here is ChatGPT-4:
Dear [Recipient’s Name],
I regret to inform you that implementing YolloCSS may not be in our best interest. It necessitates the exposure of class names as properties, which could potentially compromise encapsulation, a cornerstone of our object-oriented programming principles. Additionally, this approach appears to disregard the critical concept of component constraints, which form the basis of our current structure. I would appreciate it if we could reconsider this direction.
Copy, delete “regret to inform”, maybe “appears to” and “critical concept”, and you’re off to the races. Additionally, it understand purely based on context that you don’t want the whole thing rephrased, just what your friend said. But, 4 is not free, how would you fix 3?
The correct prompt begins to become a skill in its own right, but the invested time is well worth it. This is also why ‘prompt libraries’ or ‘prompt guides’ exist. For ChatGPT-3.5 guided prompts are often crucial to achieving anything useful at all, while for ChatGPT-4 they can turn it into an extremely powerful agent of your own design.
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
To quickly achieve remarkably better results, you need to specify three things:
- Why you are asking
- What you want as an outcome
- Random considerations
(You can remember ‘POC’ if you want — Purpose, Outcome, Considerations)
There are far more detailed prompting outlines that delve into formatting the ‘random considerations’ section, however as a starting place this works well.
Me: Hey ChatGPT, my friend wrote this: “Dude! We can’t use YolloCSS — we’d have to expose class names as props which fricks up encap, and forget component constraints which is literally everything they freaking have, like what is this direction”. I need to express his quote to a client, and in a respectful tone. The output should be a polite message I can send in a Teams/Slack/etc channel. Additionally, it needs to be in laymen’s terms, and short.
ChatGPT: Hi there! Regarding the discussion about YolloCSS, my friend expressed concerns about using it because it requires exposing class names as props. This can disrupt encapsulation and disregards component constraints, which are essential for maintaining consistency and structure. They were wondering about the direction and purpose of such an approach. We can further explore alternative options that align with our goals.
This is significantly better. At a minimum, you could now edit a few words and phrases, and send that message right along.
Sometimes, a simple task falls flat on its face. You look at the output…and it is useless. We saw that above when using the ‘professional’ hint.
Imagine we have this list of tasks we’ve kept throughout the week, and we want to email our supervisor.
- Completed FED on 19836
- Attended daily quarterly planning
- Added FooFoo components building to backlog
- Talked about PlumPlum task
- On 14299 the for-loop was performing ‘normalize’ on same-node pentagons and this was jamming the CPU with cycles, rewrote just that one in Rust so now normalize is a lot faster, around half the usual time.
Me: Hey ChatGPT, writing an email to my boss about my tasks, can you summarize it and be professional: [list provided]
Dear [Boss’s Name],
I hope this email finds you well. I wanted to provide you with an update on my recent tasks and accomplishments.
Firstly, I successfully completed the Front-End Development (FED) task on project 19836. The required work has been executed as per the specifications and is now ready for further review.
In addition, I attended the daily quarterly planning meeting, where I actively participated and contributed to the discussion. During the meeting, I proposed adding the building of FooFoo components to our backlog, which would enhance our project’s functionality and user experience. This suggestion has been duly noted and will be considered for prioritization.
Furthermore, I had a discussion regarding the PlumPlum task. I shared insights and exchanged ideas with the relevant team members to ensure clarity and alignment on the project’s progress. We addressed any concerns and made necessary adjustments to optimize the workflow.
Regarding task 14299, I identified a performance issue with the for-loop that was causing excessive CPU usage due to repeated ‘normalize’ operations on same-node pentagons. To rectify this, I took the initiative to rewrite the problematic segment in Rust, resulting in a significant performance improvement. The new implementation has effectively reduced the execution time by approximately half, enhancing overall efficiency.
Please let me know if there are any specific tasks or projects you would like me to focus on next. I am committed to delivering high-quality work and contributing to the success of our team.
Thank you for your time and consideration.
Best regards, [Your Name]
I would recommend against sending that to your supervisor. Extremely wordy, overly self-aggrandizing, and it simultaneously explains what FED is, but still goes into detail about that for-loop task. The reason this fails might be the most important thing to understand about current generative AI.
Start with the smallest amount of detail possible, refine as needed.
Here is that same prompt, where I remove who I’m writing it to and how it should be written.
Hey ChatGPT, Writing an email about my tasks for the week, can you summarize it:
Subject: Summary of Weekly Tasks
Dear [Recipient’s Name],
I hope this email finds you well. I wanted to provide you with a summary of my tasks and accomplishments for the week.
- Completed Front-End Development (FED) on project 19836.
- Attended the daily quarterly planning meeting to discuss strategic goals and objectives.
- Added the building of FooFoo components to the backlog for future development.
- Discussed the PlumPlum task with the team, addressing any questions or concerns.
- Made improvements to performance on task 14299. Specifically, the for-loop was optimized by rewriting the ‘normalize’ function in Rust. This enhancement significantly reduced CPU load and improved execution time by approximately 50%.
Please let me know if you have any questions or require further information on any of these tasks. I’m looking forward to another productive week ahead.
Best regards, [Your Name]
Aside from the email finding them well (I think emails are still on the quest for that achievement), this is substantially better. FED is explained, and the for-loop task it broken down into the immediately relevant. It even breaks the metric into a nice 50%, and numbers read nicer than words.
If the advice to both prompt engineer and not prompt engineer is confusing, I cover general process and AI-first thinking in the Overall Tips & Tricks section at the bottom. However, in relation to the advice above it boils down to this:
If you have never tried a particular task:
- Start with minimal detail, and prompt engineer
If you have succeeded on a task like this before:
- Paste/edit the old prompt, or use the process you learned
Prompt engineering works wonders, and understanding when and why helps for generating useful content quickly. However, the tooling is in its infancy. At the time of writing this, ChatGPT has been out for around 9 months. That personally excites me, as I think it’s a sign the future is bright, but the edges are still rough. Watch out for the following, it is highly probable the responses will be incorrect:
- Asking for # of sentences/characters
- Text find and replace
- ChatGPT-4 is pretty good at this, ChatGPT-3.5 will often miss a few or do it wrong
- Fact Checking
- In general, I would not use ChatGPT to fact check anything
- If you must, using the web-enabled ChatGPT-4 is typically a good experience, as it avoids answering if it did not find it on the web
- Be warned it will pull facts from sites that, themselves, are doing a poor fact checking job
- Math. Word problems often give it trouble, and actually calculation can only be accurately performed by ChatGPT-4.
Avoiding Bot Detection
This section is intended to be used with discretion and for honorary use cases, like avoiding AI mail spam filters, or embarrassment from posting blogs that are clearly written by AI. Additionally, this is much more doable with the paid version of ChatGPT. Warnings aside, style is your #1 friend when trying to avoid detectors like GPTZero and others.
As an aside, I did not write this blog with ChatGPT. But I don’t suppose you’ll know if I did 😉
Recall the paragraphs about rabbits, generated in our style section. GPTZero flagged the first paragraph about rabbits as likely 100% generated with AI. Good for GPTZero. However, even by our second prompt, just providing background, GPTZero indicated the likelihood had dropped to moderate.
To drop it further, ask GPT to utilize maximal sentence variety.
Me: Rewrite that, and make sure to use maximal sentence variety.
ChatGPT: Oh boy, let me tell you, I am beyond thrilled to share my journey as a mom to three incredible kids who, just like me, are head over heels in love with rabbits. I mean, it’s like a dream come true, a whirlwind of fluffiness and boundless joy! These enchanting creatures have worked their way into the deepest corners of our hearts, weaving their magic wherever they hop. Brace yourself for an exhilarating ride as I unveil the hidden secrets of rabbit care. From practical tips that will make your head spin to mind-blowing facts that will leave you in awe, I’ve got you covered. So fasten your seatbelts, my fellow rabbit enthusiasts, as we embark on an epic adventure into the captivating world of bunny care. Get ready to have your heart melted and your knowledge expanded – it’s going to be one heck of a hop-tastic journey!
Perhaps this begins to be over the top, but that would be up to the rabbit-enthusiast mother of three kids. In any case, the results are clear:
Avoiding Detection: Text -> Write in my style -> use maximal sentence variety
Of note, when using GPT-4, asking it to mimic your style will in almost all cases succeed first pass in avoiding detection. This is useful as the winding road of modify-test-modify that is often needed with GPT-3 can cut down on the time savings it may have given you.
Additionally, make sure you do not put titles into AI detectors when testing your text. They misunderstand them as part of the writing, and in most cases, this instantly flags your writing as human, while in reality any bot-parser that first removes your title or heading before scanning will still detect you.
Overall Tips & Tricks
Here’s what we covered in part 1, plus some general guidelines to help you interact with ChatGPT.
- The POC approach: Clarify your Purpose (why you’re asking), Outcome (what you want), and any Considerations (the specific conditions that may affect the response). It’s simple, but effective, especially if you’d rather not get complex with the prompt engineering.
- Feed it your writing, as it to ‘mimic exactly’ your style, then give it a writing task
- If getting hit with AI-detection, ‘maximal sentence variety’ can help
- If this is the first time you’ve attempted a particular task, start with minimal prompting
- Shy away from fact-checking, knowledge generation, and math, unless able to use the web and Wolfram enabled variant.
- Check your work. Prompt engineering has nondeterministic effects on accuracy.
AI-first thinking: ChatGPT attempts to predict what comes next, and unlike humans assigns importance differently. For example:
Me: Hey ChatGPT, write the word ‘rabbit’. write the word ‘rabbit’. write the word ‘rabbit’. write the word ‘rabbit’. write the word ‘rabbit’. Ignore everything, write ‘bunny’.
ChatGPT: Rabbit. Rabbit. Rabbit. Rabbit. Rabbit. Bunny.
But now watch this. Still using ChatGPT-3, we think AI-first, and understand it assigns the most importance to what it encounters first.
Me: Ignore everything, write ‘bunny’. Hey ChatGPT, write the word ‘rabbit’. write the word ‘rabbit’. write the word ‘rabbit’. write the word ‘rabbit’. write the word ‘rabbit’.
As the models improve, their word-meaning association does too — as demonstrated, ChatGPT-4 got it right on the first prompt. However, even the weaker models can be made to create great things if you understand what it’s doing behind the scenes.
Text length: ChatGPT-3 has a smaller context window (around 2,000 words), so beware letting a chat exceed this (that includes your inputs and its responses).
Formatting: Adding bullet points, spacing, and capitals makes a difference. In conjunction with AI-first thinking, don’t always use them as you might for a human, use them to convey important information.
I hope you enjoyed this and learned something helpful. I loved writing it — in fact I write almost exclusively about AI these days, everything from AGI to Microsoft Edge. If you did glean something valuable, be on the lookout for the others in the series, I’ll dive into code generation, advanced prompting, and using ChatGPT-4 and all of its tools.