-
-
Notifications
You must be signed in to change notification settings - Fork 466
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Dustin Miller
committed
Oct 1, 2023
1 parent
84ccbc5
commit 6a71515
Showing
9 changed files
with
439 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,42 @@ | ||
# ChatGPT AutoExpert: Elevating Conversational AI to Expert Level | ||
|
||
## Introduction | ||
ChatGPT AutoExpert is a shockingly effective set of custom instructions aimed at enhancing the capabilities of GPT-4 and GPT-3.5-Turbo conversational models. These instructions maximize the depth and nuance in responses while minimizing general disclaimers and hand-holding. The ultimate objective is to provide users with accurate, context-rich information and an improved learning experience. | ||
ChatGPT AutoExpert is a _shockingly effective_** set of custom instructions aimed at enhancing the capabilities of GPT-4 and GPT-3.5-Turbo conversational models. These instructions maximize the depth and nuance in responses while minimizing general disclaimers and hand-holding. The ultimate objective is to provide users with accurate, context-rich information and an improved learning experience. | ||
|
||
## Features | ||
|
||
### ["Standard"](standard-edition) | ||
- **Maximized Depth and Nuance**: Receive high-level, in-depth responses without compromising on the granularity of the information. | ||
- **Minimized Hand-Holding**: Cut through the noise and get straight to the facts, reducing unnecessary disclaimers. | ||
- **Explicit Reasoning**: Your AutoExpert doesn't just provide answers; it offers an explanation, detailing the thought process behind each response. | ||
- **Self-Questioning**: Designed to question its assumptions, and iteratively refine its responses for maximum clarity and accuracy. | ||
- **Resourceful Links**: Automatically generates inline links for related topics and "you may also like" topics, helpfully linked to Google search results to avoid hallucination (GPT-3.5 still hallucinates here, but not always. GPT-4 is rock-solid). | ||
- **Automatically Identifies the Best Expert**<br> | ||
The AutoExpert custom instruction automatically finds the best expert role to answer whatever question you ask, every time. You don't need a bunch of special prompts any more—this works with even the simplest of prompts! | ||
- **Maximized Depth and Nuance**<br> | ||
Receive high-level, in-depth responses without compromising on the granularity of the information. | ||
- **Minimized Hand-Holding**<br> | ||
Cut through the noise and get straight to the facts, reducing unnecessary disclaimers. | ||
- **Explicit Reasoning**<br> | ||
Your AutoExpert doesn't just provide answers; it offers an explanation, detailing the thought process behind each response. | ||
- **Self-Questioning**<br> | ||
Designed to question its assumptions, and iteratively refine its responses for maximum clarity and accuracy. | ||
- **Resourceful Links**<br> | ||
Automatically generates inline links for related topics and "you may also like" topics, helpfully linked to Google search results to avoid hallucination (GPT-3.5 still hallucinates here, but not always. GPT-4 is rock-solid). | ||
|
||
### ["Developer Edition"](developer-edition) | ||
|
||
> [!IMPORTANT] | ||
> This requires a ChatGPT professional subscription, as it needs both GPT-4 _and_ **Advanced Data Analysis**! | ||
- **Verbosity Selection**: Easily choose the complexity of the generated code, from compact "code golf" type responses, up to complex, modular code samples | ||
- **Understands Your Stack**: One mention of your platform, front-end libraries, or language, and the AutoExpert will prime every response to maximize the chance of getting useful code on the first try. | ||
- **Powered by Jupyter**: ChatGPT Advanced Data Analysis already runs a Jupyter kernel under the hood. AutoExpert (Developer Edition) comes with a companion Python script that you simply upload to your conversation, and automatically take advantage of the sandbox Python environment for editing longer code samples. | ||
- **Save Your Work**: Among other `/slash` commands, AutoExpert (Developer Edition) will save all your code snippets, dehydrate its memory of your requirements and the work it's done—even back up the code cells themselves. Then it zips it up, and you can quickly download your coding conversation history. | ||
- **File and Symbol Tree**: By keeping a running history along with a file/symbol tree at the end of each response, ChatGPT will always remember what it just did, and you'll always see what files still need work. It's even smart enough to handle breaking down complex requirements in a way that allows it to write code over multiple turns. | ||
- **Verbosity Selection**<br>Easily choose the complexity of the generated code, from compact "code golf" type responses, up to complex, modular code samples | ||
- **Powered by Jupyter**<br>ChatGPT Advanced Data Analysis already runs a Jupyter kernel under the hood. AutoExpert (Developer Edition) comes with a companion Python script that you simply upload to your conversation. It will automatically take advantage of the sandbox Python environment for editing longer code samples, and activate a handful of extra "slash commands" to make your life even easier. | ||
- **Pick Up Where You Left Off**<br>You can start a new chat without worrying about ChatGPT forgetting what you were doing in the previous one. The `/memory` slash command will download all your files, and a history of everything that's been done during your session. Simply upload it (along with the companion script) in a new session, and pick up where you left off. | ||
- **Install Custom Wheels**<br>Yeah, you heard me. Wheels for Python packages can be uploaded and installed automatically. | ||
- *Note that your ChatGPT sandbox uses Python 3.8, on a VM with `x86_64` architecture (as of this writing)*. | ||
- **Save Your Work**<br>Among other `/slash` commands, AutoExpert (Developer Edition) will save all your code snippets, dehydrate its memory of your requirements and the work it's done—even back up the code cells themselves. Then it zips it up, and you can quickly download your coding conversation history. | ||
- **File and Symbol Tree**<br>By keeping a running history along with a file/symbol tree at the end of each response, ChatGPT will always remember what it just did, and you'll always see what files still need work. It's even smart enough to handle breaking down complex requirements in a way that allows it to write code over multiple turns. | ||
|
||
## Getting Started | ||
To get started with ChatGPT AutoExpert, choose which set of custom instructions you want to use: | ||
|
||
* AutoExpert (for non-coding tasks) | ||
* AutoExpert (Developer Edition) (GPT-4 only, with optional support for Advanced Data Analysis) | ||
* [AutoExpert](standard-edition) (for non-coding tasks) | ||
* [AutoExpert (Developer Edition)](developer-edition) (GPT-4 only, with optional support for Advanced Data Analysis) | ||
|
||
--- | ||
<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://github.com/spdustin/ChatGPT-AutoExpert/">ChatGPT AutoExpert (both standard and "Developer Edition")</a><br/>by <span property="cc:attributionName">Dustin Miller</span> is licensed under <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">Attribution-NonCommercial-ShareAlike 4.0 International<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/nc.svg?ref=chooser-v1"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1"></a></p> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
# ChatGPT AutoExpert (Developer Edition) | ||
by Dustin Miller • [Reddit](https://www.reddit.com/u/spdustin) • [Substack](https://spdustin.substack.com) | ||
|
||
> License: [Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/) | ||
> [!IMPORTANT] | ||
> This requires a ChatGPT professional subscription, as it needs both GPT-4 _and_ **Advanced Data Analysis**! | ||
# Table of Contents | ||
- [ChatGPT AutoExpert (Developer Edition)](#chatgpt-autoexpert-developer-edition) | ||
- [Table of Contents](#table-of-contents) | ||
- [Usage](#usage) | ||
- [Verbosity](#verbosity) | ||
- [Slash Commands](#slash-commands) | ||
- [Slash Command Tips:](#slash-command-tips) | ||
- [Usage Notes](#usage-notes) | ||
- [Preamble Example:](#preamble-example) | ||
- [Epilogue Example](#epilogue-example) | ||
- [Emoji key](#emoji-key) | ||
- [Installation (first time)](#installation-first-time) | ||
- [Installation (per-chat)](#installation-per-chat) | ||
|
||
# Usage | ||
|
||
## Verbosity | ||
You can alter the verbosity of the code written by ChatGPT by prefixing your request with `V=[0–3]`. | ||
- `V=0`: code golf (really terse) | ||
- `V=1`: concise, but not overly clever | ||
- `V=2`: simple (the default) | ||
- `V=3`: verbose, paying even more attention to DRY principals | ||
|
||
## Slash Commands | ||
Once `autodev.py` has been uploaded, you'll have some new functionality accessible through the use of **Slash Commands**: | ||
|
||
| Slash Command | Description | | ||
|---------------|-------------| | ||
| /help | Shows what slash commands are available | | ||
| /install_ctags | If attaching a `ctags` release from [ctags-nightly-build](https://github.com/universal-ctags/ctags-nightly-build/releases), will extract and install it to the sandbox (*experimental*)| | ||
| /ctags | If `ctags` has been installed, builds a ctags file for your saved code (*experimental*) | | ||
| /memory | Saves files, session history, etc. and zips them up for download | | ||
| /stash | Prepares to stash some text, to be recalled later with /recall | | ||
| /recall | Recalls text, using a key or description that appears after the command, that was previously stored with /stash | | ||
|
||
### Slash Command Tips: | ||
Before ending your session, use the `/memory` slash command to zip up all your hard work. The next time you start a session, attach the zip file ***in the same message as `autodev.py`***, and AutoExpert will automatically extract your zip file and restore its memory of the work that was done in the last session. | ||
|
||
> [!INFO] | ||
> - [See `/memory` in action](https://chat.openai.com/share/0f707aba-3cb4-4b35-9c8e-48a4d351b996) | ||
> - [Check out restoring into a new session!](https://chat.openai.com/share/edee3207-0937-47c5-84de-418912262262) | ||
# Usage Notes | ||
|
||
Once the custom instructions have been set (and the `autodev.py` file has been uploaded), you should notice that ChatGPT's responses to your coding requests is a lot smarter. Why? | ||
|
||
Every time you ask ChatGPT to code something, it is instructed to create a preamble at the start of its response. This preamble is designed to automatically adjust ChatGPT's "attention mechnisms" to pay more attention to your requirements, the type of code it will need to write, and the plan it should follow when writing it. | ||
|
||
## Preamble Example: | ||
|
||
> **Me**:<br> | ||
> Show me a sample JavaScript file that has a couple of classes with methods, and a couple of top-level functions. Don't use the sandbox yet. | ||
> **ChatGPT**:<br> | ||
> **Language > Specialist**: JavaScript > Software > Engineer | ||
> | ||
> **Includes**: ES6 syntax, classes, methods, and functions | ||
> | ||
> **Requirements**: V=2, focusing on readability, modularity, and standard JavaScript conventions. | ||
> | ||
> ## Plan | ||
> 1. Create a JavaScript file outline in text form. | ||
> 2. Define two classes with methods. | ||
> 3. Add two top-level functions. | ||
It tries its best not to elide or omit any code, and will also attempt to break down its tasks to occur over several chat turns, asking you to continue when it needs to. It'll even throw in some `// TODO:` comments where it knows it'll be editing something on the next chat turn. | ||
|
||
The epilogue section at the end of each response keeps important things in memory no matter how long your chat context gets. Things like: | ||
- The stuff ChatGPT has done so far | ||
- A list of every file it has written | ||
- An outline of any classes and/or functions and methods in those files | ||
|
||
## Epilogue Example | ||
|
||
> **History**: Provided a sample JavaScript file with two classes (`Calculator` and `AdvancedCalculator`) and their methods, along with two top-level functions (`add` and `subtract`). | ||
> | ||
> **Source Tree**: | ||
> - 👻 sample.js | ||
> - 📦 Calculator | ||
> - ✅ add | ||
> - ✅ subtract | ||
> - 📦 AdvancedCalculator | ||
> - ✅ multiply | ||
> - ✅ divide | ||
> - ✅ add (global function) | ||
> - ✅ subtract (global function) | ||
> | ||
> **Next Task**: No pending tasks. Would you like to implement this sample in a real JavaScript file? | ||
### Emoji key | ||
|Emoji|Meaning| | ||
|---|---| | ||
|💾|File was saved to the sandbox (the filename is linked for download)| | ||
|⚠️|ChatGPT created a code snippet with a filename, but it hasn't been saved| | ||
|👻|ChatGPT created a file snippet, but it doesn't have a filename| | ||
|📦|Class name (if classes are being used)| | ||
|✅|Symbol (function/method) is finished| | ||
|⭕️|Symbol (function/method) is not finished yet, and has a TODO comment| | ||
|🔴|Symbol (function/method) is not finished yet, but doesn't have a TODO comment| | ||
|
||
|
||
# Installation (first time) | ||
ChatGPT AutoExpert (Developer Edition) is intended for use in the ChatGPT web interface, and with a Pro subscription. To activate it, you'll need to do a few things! | ||
|
||
1. Download the [latest release](https://github.com/spdustin/ChatGPT-AutoExpert/releases/latest) | ||
- Expand **Assets**, then download the file titled "**Source Code** (zip)" | ||
2. Extract the downloaded .zip file | ||
3. Sign in to [ChatGPT](https://chat.openai.com) | ||
4. Select the profile + ellipsis button in the lower-left of the screen to open the settings menu | ||
5. Select **Custom Instructions** | ||
> [!WARNING] | ||
> You should save the contents of your existing custom instructions somewhere, because you're about to overwrite both text boxes! | ||
6. Copy and paste the text from [`developer-edition/chatgpt__about_me.md`](chatgpt__about_me.md) to the first text box, replacing whatever was there | ||
7. Copy and paste the text from [`developer-edition/chatgpt__custom_instructions.md`](chatgpt__custom_instructions.md) to the second text box, replacing whatever was there | ||
8. Select the **Save** button in the lower right | ||
|
||
# Installation (per-chat) | ||
|
||
1. Start a new chat | ||
2. Select **GPT-4** at the top of the new chat | ||
3. Select **Advanced Data Analysis** from the menu | ||
4. Attach `autodev.py` by selecting the **(+)** button to the left of "Send a message" at the bottom of the chat | ||
5. Without entering any other text in the input text box, select the paper airplane icon to send the empty text and upload the `autodev.py` file | ||
6. If all went well, you should see a heading "ChatGPT AutoExpert (Developer Edition)" along with an introduction to the tool |
Oops, something went wrong.