Best Practices:


1. Saving Intermediate Files

Why: To prevent loss of progress, allow assembly of multiple outputs, and enable various directions based on intermediate files.

How: Regularly save files at different stages of the project, allowing for flexibility in assembling outputs or taking the idea in multiple directions. These act as safety nets, ensuring that no work is lost. If ChatGPT times out, provide it the files that you previously downloaded. You can also ask for a Zip file with all the files generated thus far. You can also take an intermediate output and iterate on it in multiple independent conversations by uploading it to each one.

2. Always Plan Step-by-Step

Why: For a seamless process that enhances repeatability.

How: Collaborate with ChatGPT to outline specific, detailed, and actionable steps. Save these plans for future reference or to restart a process, making the process more reliable. You can use human or AI planning, but having a step by step plan is key. Save plans as a file so that they are easier to repeat by uploading them at the start of a new conversation.

3. Use Mementos

Why: To have reminders of the state of the ongoing process.

How: Have ChatGPT create files listing the entire plan, the current step, and summarizing what has or hasn't been done. These mementos are different from the plan itself and act as a guide to the current state of the process. You can upload these to restart a process from a given point or help Code Interpreter remember where it is in the process.

4. Always Have ChatGPT Read and Explain Documents/Data

Why: To synchronize your understanding with GPT's understanding.

How: Request ChatGPT to explain what it reads in several ways and test its understanding by having it generate examples or explanations that demonstrate the concepts in the document. Make sure that you and Code Interpreter have the same understanding regarding the documents, data, etc. that you provide. Asking it to generate new examples of concepts is a great way to test reasoning.

5. Use Error Detection Methods

Why: To ensure consistency and accuracy.

How: Employ references to specific identifiers or quotations to ensure that the output is supported by the documents you provided. Build custom test cases with real or synthetic data to ensure outputs are consistent with the input documents. If you can't work with real data yet, generate synthetic data to test out a process and accuracy.

6. Ask ChatGPT to Try Alternate Approaches

Why: To overcome failure and make continuous progress.

How: If an approach fails, prompt ChatGPT to explore different strategies. Provide hints or ask it to plan, list, describe the rationale behind, and employ alternate methods.

7. Think of Prompts as Constraints

Why: For targeted and desired outputs.

How: Be explicit about your goals, requirements, and constraints. ChatGPT will try to generate any solution that fits, so the more specific you are, the closer the output will be to your needs. Don't ask for a fruit if you really want a green banana.

8. Edit the Conversation When Errors Occur

Why: To avoid error propagation.

How: Edit and correct any chat message that produces a bad output immediately and regenerate the output. Clean conversation histories are preferred to prevent introducing erroneous information that causes problems later.

9. Get Key Information into the Conversation

Why: To enhance reasoning and understanding.

How: Include all necessary information directly in the conversation so you and ChatGPT have a common understanding. Visibility of information makes reasoning more effective. If you can see the information in a recent chat message, Code Interpreter can as well.

10. Tell ChatGPT to Analyze Without Python When Needed

Why: Not all tasks require code.

How: If you are getting poor reasoning on unstructured text, direct ChatGPT to analyze, read, or summarize "without using Python code" or "manually". In most cases, you don't want Python code doing the textual analysis.

Powered by Blogger.