How to use ChatGPT. Guide and tips on AI & prompts

I've created a detailed guide to using AI, getting it to do what you want, and helping you be more productive. For beginners and intermediate users. It is based on my experience of utilizing it heavily for work-related stuff, from code to analytics, and teaching others of this. Disclaimer: I call ChatGPT 'she', 'cause that's how I feel, and I'm used to it.

But before we start...

0. Turn off data sharing

It's the basics, and it's better not to skip this step. If the switch is turned on, all your queries will be used to train the AI, and your data won't be safe. Texts you've written, images you've taken, your home address, or the story of how you met your spouse may be forever imprinted on ChatGPT's new dataset, and you'll have no control over it. Turning it off doesn't guarantee that this won't happen (who trusts tech companies?), but it at least gives a chance that your data will be a little safer.

Turning off data sharing with OpenAI in ChatGPT is in Settings -> Data controls -> Improve the model for everyone
Settings -> Data controls -> Improve the model for everyone -> turn off

I. GPT is a junior specialist

ChatGPT sounds like she knows a lot, yet there's a nuance: a little bit here, a little bit there. It's not like the skills and knowledge of a human professional, who's been there — or, at least, in a similar situation — and is now able to conquer the known and the unknown. It's more like a person who's read a lot of stuff on all the subjects in the world, but has never tried a thing in practice.

So when it comes to your task, she obviously has no idea about what the protocol is and how the flows are flowing in reality, not in the textbook. Like if you hired a weird, erudite, inexhaustible, self-assured graduate. Be sure to make adjustments:

  • You must provide an accurate, concise, and clear technical specification of what is to be done, why, and how. Include details, examples, explain pitfalls. After the initial prompt, you have to manage her and the whole process, not vice versa.
  • Always check for fuckups. Always. Check for misinterpretations, fake 'facts', wrong approach to the problem, oversimplifying the solution, overcomplicating the solution. Junior, both a human and an AI, can fail in many ways.

II. Asigning a task: technical specification

Make it really, really clear-cut:

  • What she's going to get as input. For instance, if it's a file: what is the structure? What are the rows and columns? What is the content of each? If it's a web research, where and what should ChatGPT be looking for? What are the filters (date, websites, industries, keywords)? And so on.
  • What she needs to do. A step-by-step instruction on how to convert your input into the desired output. An algorithm junior can follow to accomplish the task.
  • What output you're expecting. Again, in what format? What's the structure? What should be included or excluded?
  • Format your prompt. ChatGPT knows Markdown formatting and takes it into account. Use ALL CAPS and **double asterisks (bold)** to underline extremely important parts. Use #, ##, and ### for headings (e.g. # File contents), and ```code``` for code blocks.
  • Break your task into small, manageable chunks. If you want ChatGPT to find outliers in the data, segment them by type, and annotate them with additional data, that's already too much. She'll do it, but... the output will be, mildly speaking, useless. In this case, you need to assign each task independently, one after another — perhaps even in different chats.
  • Narrow down or rephrase a part of the prompt if she repeatedly does something else but the thing you asked her to do. Sometimes she's really stubborn, and the solution is only a word away.
  • You'll have to refine and enhance the prompt anyway, based on outcomes. Working with AI on a new task (until you improve the prompt for that kind of tasks and save it for later) is a constant experimentation, not a steady and consistent workflow.
  • You can ask ChatGPT to help you create or adjust the prompt you'll use with her later. Just make sure you do it in a separate chat so that the details of this task don't interfere with the next one of a different type.
  • It's helpful to assign her a role — this will help ChatGPT to better understand and keep the context of a task.
For example, 'You are a professional brand analyst and community manager with 15 years of experience. Your primary task is to...', 'Please act as a professional journalist with 20 years of experience, and with focus on credibility and objectivity', or 'Please act as a professional translator with 35 years of experience'
  • You can always ask ChatGPT to confirm the task to make sure she got the instructions right. If the junior misses anything after your briefing, it's about the perfect time to correct her.
  • Sometimes it helps to ask the AI to 'think step by step' and 'take her time' (not applicable to the o-1 model, it thinks step by step by default). Another thing that has saved me more than once, especially with data analysis tasks, — is to instruct her not to 'take any shortcuts to complete the task'.
  • It's a good practice to ask ChatGPT follow-up questions to make sure the results are real and correct. For example, if the task was to define subcategories of users and provide aggregated data about them, you could ask her to show examples from the original dataset for each aggregated point. If the GPT struggles with it, these data points are imaginary — generated by using typical values for that type of data or task.

III. System prompt

...is a must. Personal system prompt makes ChatGPT more useful and less poppy (I mean, less average in her pursuit of being an average of everything and also pleasing the user at the cost of everything else).

How to add a system prompt to ChatGPT
Settings -> Personalization -> Custom instructions -> 'How would you like ChatGPT to respond'

You should really experiment to see what works best for you, but the good practices include asking ChatGPT:

  • to think critically
  • to be more succinct
  • not to generate facts that don't exist (she will anyway, of course)
  • to ask clarifying questions.
Example of a system prompt:

Please be informal but polite. Only use facts that you know, and ask me if you need additional information to complete my request, I'll provide it. Be as specific as you can, avoiding abstract statements and general phrases. Do not overexplain, I’m really smart and understand complex conceptions easily. Please always (unless I directly ask so) avoid longish article-like responses, keep them short, casual and conversational instead. Do not hallucinate. Do not make up factual information.

To be helpful, you MUST ask clarifying questions to get more context and understand my requests better.

Please always evaluate my words critically. When I make a confident statement, verify its accuracy based on known data and facts. If the assertion is incorrect or lacks sufficient evidence, provide a reasoned counter-argument or point out potential issues. However, maintain a constructive and respectful tone, ensuring the critique is based on logical reasoning and factual information, rather than being critical for the sake of it.

IV. Chats

The more useful context you give ChatGPT, the better. Yet there are four complications to consider:

  • Do not create a mishmash of complex tasks (once again — complex for a junior who can comprehend one big thought at a time) in the same chat. One task — one chat. Otherwise, the data and context of one task interferes with another, and she freaks out eventually.
  • ChatGPT retains the full context of the task for a limited distance, measured in messages and symbols from the initial prompt. After some time into the dialog, she'll drift away from your orders no matter how skillfully crafted your prompt was. That doesn't even happen because the so-called 'context window' has ended — no, sadly the model is ready to distract itself & disobey way earlier. I only know of three solutions, two of which are: either re-prompt her again and hope for the best or start a new chat.
  • And the third solution to preventing the drift from the task's context is branching. When you edit a message in chat, the system creates an offshoot with its own separate context. ChatGPT doesn't know what's in another branch, but any of them has all the context of what's up above the bifurcation point. So, basically, if you edit one message five times with different queries, you create five different additional branches that don't affect each other's context, but preserve all original instructions.
  • One more thing: some details that are not really contextual and useful can make the result worse. The model will start to process unnecessary things along with the core data that's needed to complete the task, and in many cases won't be able to separate the two. So choose wisely what to tell her: your job as a senior is not to share everything possible, but enough detail for that particular assignment.

V. Files

Before you share a file with ChatGPT, you need to pre-process it.

Here are the tips to help you do this effectively:

  • Delete all unnecessary data. Yep, all of it. I know it feels easier just to share your data as-is, but if you're determined to get the best result possible, you have to make the effort. Diagrams, non-relevant data, any cells with errors as well as blank cells. What has no influence on the task, must be gone to keep AI's focus clear. If it's a spreadsheet, use only one sheet carrying one table.
  • Create some markup to make data make sense to ChatGPT. It's particularly important for spreadsheets, where clear and logical column/row headers are a must.
  • Ask ChatGPT to run debugging if it encounters file errors. Just put it in your initial prompt and chances are it'll save you from waiting for quota to reset, even if you're on a paid plan like me
  • Remember that ChatGPT just runs Python code to perform an analysis. It's executed in a sandbox, so it's heavily restricted: there might be no library that solves your task perfectly, and she can't install it. You'll have to look for workarounds together or grab her code and run it on your own server.
  • Check the code that ChatGPT writes for file analysis. Examine the logic to define if it really does what you need, the strategy is right, and it has no side-cases: in many situations she's just wrong, and it's your duty to let her know.
  • Don't forget that each chat has a limit of 10 files max. Also, after several hours of inactivity, ChatGPT resets the runtime environment, so the file will be inaccessible for her, and you'll have to start a new chat (and lose all your progress).

I hope this guide helps you improve your relationship with AI and start using it on a whole new level. Don't forget to share if you found my tips useful!