6 ms·
I wrote a meta mode for ChatGPT
- airesearcher 3y agoI wrote a custom instruction for ChatGPT Pro that radically improves productivity inside ChatGPT. Add it to your custom instructions and enjoy!
- Tiberium 3y agoCan you share how it radically improves productivity? From a quick glance it seems to be not very practical, at least for me.
- philipswood 3y agoLinks to a WordPress login page. You mean probably meant: https://www.novaspivack.com/technology/nova-mode-the-ultimate-chatgpt-custom-instruction https://www.novaspivack.com/technology/nova-mode-the-ultimat...
- airesearcher 3y agoAh yes good point
- airesearcher 3y agoMain URL has been corrected thanks to the moderators.
- dr_dshiv 3y agoIt’s neat but I would love to see some more examples of why you think it is good. I tend to be skeptical of adding anything to the context window that isn’t closely aligned with my goals. My biggest issue is usually getting chatGPT to get out of the “blurry center” (where it just blathers pablum) to a “productive spike” where it can genuinely do specific work.
- sp332 3y agoI agree, at least add some sample outputs so we can see what we're getting into.
- airesearcher 3y agoSee my post and scroll down. Several examples there. You can also add the instructions and type //? For the manual. Or type //$ for a list of 40 examples
- airesearcher 3y agoI will make a GPT version... ChatGPT has to approve it for some reason.... ok it's working ... had to remove "ChatGPT" from name of my GPT for it to work...
- airesearcher 3y agohttps://chat.openai.com/g/g-tcXXGxXmA-nova-mode-ai-chat-authoring-productivity-tool https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-ai-chat-auth... GPT Version, with more features
- antifa 3y agoI'm getting a blank page on firefox for android.
- airesearcher 3y agoShould work. Just tested.
- dr_dshiv 3y agoMaybe share some chats?
- airesearcher 3y ago
- simonw 3y agoI suggest also making this available as a GPT. I don't like pasting random stuff into my custom instructions, because that will affect all of my future usage. I'd much rather try out a GPT where the effects of those instructions stay limited to that one place.
- airesearcher 3y agohttps://chat.openai.com/share/3ebde0ee-5db6-44c3-a836-2b4ee35b944b https://chat.openai.com/share/3ebde0ee-5db6-44c3-a836-2b4ee3...
- airesearcher 3y agoWaiting for ChatGPT to approve this link... not sure it is public yet
- airesearcher 3y agook it's working ... had to remove "ChatGPT" from name of my GPT for it to work...
- airesearcher 3y agohttps://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-authoring-productivity-tool https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-autho... Here is the GPT
- bongodongobob 3y agoI don't see why this is good. You're clogging your context with a bunch of unnecessary clutter. Just tell it what you want it to do, no? Like why am I spending 1500 characters per message on the hello world loop example? I get the same output from just asking it to do that. The message indexing is kind of interesting, but again, it's a huge waste. Just write a wrapper rather than wasting all those tokens and muddying your context. I think in the end this is just eye candy and is going to get you worse results. Granted, I haven't tested thoroughly, but neither has OP.
- airesearcher 3y agoIt's useful because it allows you to refer to messages in the chat by message number, and to define functions to use on them. You can do a lot of really powerful things with it.
- AndrewKemendo 3y agoI think that’s precisely what is unclear What exactly is so powerful that you can do this way, that you can’t do by having a more specified prompt? I read the whole thing but didn’t see anything that stood out
- airesearcher 3y agoI often work on documents or content in ChatGPT and I needed a way to refer to previous messages and drafts, and to combine them or pull ideas from them into new drafts or iterations. My first goal was to simply implement message numbering so I could refer to messages by number in the chat. It took a LOT of tuning to make ChatGPT do that reliably. Once I got that working I started taking it further to enable more advanced editing commands on ranges of messages, and automation of tasks with simple command line functions. It saves me a ton of time and a lot of cutting and pasting. Also the ability to tag messages in a chat and then pull them by tag to use for a new draft is useful. Now that I have this working I have also added other features - only available in the GPT version - that are increasingly more powerful and productive for really using ChatGPT to develop content and ideas systematically. It's way better than constantly copying and pasting previous messages into new messages to ask ChatGPT to do stuff with them. Now I simply type "Make //5 longer and combine with //7" to make message 5 longer and merge it with message 7. Big time saver!
- airesearcher 3y agoHere it is a GPT if you want to try it that way: https://chat.openai.com/share/3ebde0ee-5db6-44c3-a836-2b4ee35b944b https://chat.openai.com/share/3ebde0ee-5db6-44c3-a836-2b4ee3...
- airesearcher 3y agoI will make a GPT version... ChatGPT has to approve it for some reason....
- airesearcher 3y agoIt works now
- sitkack 3y agoNeat. I did something similar and created a stack based NLP language, I used it, mainly for synthesizing prompts for image generation.
- airesearcher 3y agoType //? for the manual
- EMM_386 3y agoI'm not much interested in the prompt itself, but I am continually amazed that ChatGPT is able to make sense of prompts like this. That is pretty far from "language", and I can't see how any of that has been seen in its "training data". I mean ... you can add something like "//! = loop mode = do loop: (ask USR for instruct (string, num); iterate string num times); Nesting ok." and it can not only parse that (or "tokenize" it), then somehow find relationships in its internal high-dimensional vector space that are sufficient to ... pseudo-"execute" it? I don't know. Obviously, not my area of expertise, although I can say I've spent a lot of time trying to understand even the basics. But then I'll see an example like this, and be reminded of how little I understand any of it.
- jadbox 3y agoI wonder how much "gpt" within openai understands and how much syntax is conditionally parsed and run though state machines prior to the prompt sent to transformers.
- huijzer 3y agoI did my MSc thesis on ML in 2019 and so I‘m definitely no expert but one mental model worked well for me. Machine learning models learn thousands of small functions which map input to output. A higher level "function" will choose which function is used to map the input to the output. So that’s what amazed me in about ChatGPT: think about all the little things it must understand to do what it does. For example, the model learned how to interpret if clauses and other language nuances, how variable definitions should be used, what words are in other languages.
- AndrewKemendo 3y agoIf you think about it relative to the level of specific interaction you’re doing with a computer, then it makes sense So, for example, if I’m talking to a compiler, I have to talk to it in effectively perfect sequential structure If I’m talking to a web server, then it’s with a scripting language in order to communicate something from another programming language that’s interacting it lower level At the other extreme if I’m talking to a kernel, then I really only have a couple of things I can say because its language is memory blocks In this case, because I’m talking to what’s effectively an interpreter, then the default language looks like a scripting language rather than a programming language or natural language Which in effect is what’s happening? These are basically scripts people are running against the structure of the GPT sequence interpretation - so it’s a weird mix
- fnordpiglet 3y agoSort of surprised at the negativity in the responses here. I think the idea of a meta programming prompt for chatgpt evaluated by GPT is pretty clever and useful, particularly if you’re working to iteratively refine some content in context. It’s not my natural mode of using chatgpt, but I can certainly see the use particularly for content creators. I am curious from the author the specific motivation and the use case for the GPT that was in their mind - which in some ways is probably asking “ what do you typically use chatgpt for and what is your way of doing that.” None the less, this is clever and and a novel way of manipulating instruction to surface a meta language within a LLM.
- deleted 3y ago[deleted]
- airesearcher 3y agoI often work on documents or content in ChatGPT and I needed a way to refer to previous messages and drafts, and to combine them or pull ideas from them into new drafts or iterations. My first goal was to simply implement message numbering so I could refer to messages by number in the chat. It took a LOT of tuning to make ChatGPT do that reliably. Once I got that working I started taking it further to enable more advanced editing commands on ranges of messages, and automation of tasks with simple command line functions. It saves me a ton of time and a lot of cutting and pasting. Also the ability to tag messages in a chat and then pull them by tag to use for a new draft is useful. Now that I have this working I have also added other features - only available in the GPT version - that are increasingly more powerful and productive for really using ChatGPT to develop content and ideas systematically. It's way better than constantly copying and pasting previous messages into new messages to ask ChatGPT to do stuff with them. Now for example, I simply type "Make //5 longer and combine with //7" to make message 5 longer and merge it with message 7. Big time saver! But there are a lot of other more powerful commands I've built with this, and that others can build as well, for speeding up repetitive tasks in ChatGPT.
- airesearcher 3y agoThe other big challenge was to make this whole editor fit into 1500 characters which is the limit for a Custom Instruction. Most of my prompts that I build for work are very large and complicated -- at least many pages long on average - because we are developing intelligent agents with a lot of functionality in them. So I took it as a fun weekend activity to try to pack as much functionality into this EXTREMELY SMALL character limit as I could, refining many many times to make all fit and work reliably. Almost fits on a T-Shirt! I also had to make it work in both GPT 4 and 3.5 (not all of it behaves well in 3.5). I totally geeked out on this for 2 days and had a blast. But what's great is that in the end I got something truly useful (and I think other people who seriously use ChatGPT for content generation will agree).
- joshcho 3y agoThis is cool, I have been experimenting with Forth to control chats (chat as a stack). Surprisingly useful, demoed to around 50 friends
- airesearcher 3y agoYeah I was remembering my old Forth days when I did this too. That would be an interesting experiment to play with if you make it!
- furyofantares 3y agoI have a number of "slash commands" listed amidst my custom instructions, which I usually use naked to amend the previous reply, but sometimes include in my query to begin with. "There are some slash commands to alter or reinforce behavior. /b Be as brief as possible /d Be as detailed as possible /eli5 or just /5 Explain like I'm 5. And you're Richard Feynman. /r Research or fact-check your previous reply. Identify the main claims, do a web search, cite sources. /c Complement your prior reply by writing and running code. /i Illustrate it."
- asabla 3y agoOooh, I'll steal that for my own prompts. Really clever way of making it easier and faster to interact with it. How specific must you be in order for trigger these? like adding the commands at the start of your message or does it work to place it anywhere in it? E.g this: /b what is life? or this: Explain what an atom is /b and continue with explaining what DNA is /d
- furyofantares 3y ago> Explain what an atom is /b and continue with explaining what DNA is /d This works.
- airesearcher 3y agoYes you can use //b anywhere in the content as long as you follow the syntax //3 make longer and more verbose Make //3 //v //r //3 make more //v Etc
- WhitneyLand 3y agoNova, I don’t think people are wanting to respond negatively, the concept is just not coming across easily even with the GPT. Maybe a short YouTube video where you can demo it and show some examples of how it adds value, or post something like this: “Normally in ChatGpt to do x you would have to do this… But with my approach you can do x like this… Notice how this saved y amount of time or typing”
- airesearcher 3y agoGood ideas... I will write some kind of a handbook maybe. I've updated the GPT version with a much more extensive set of features, and also the built-in manual has more usage examples. Type //? to get it. And for usage examples type: //?? Here is the GPT version: https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-authoring-productivity-tool https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-autho...
- czhu12 3y agoI'm a bit confused -- Are these instructions that are compiled and executed deterministically by some chatgpt runtime engine or is it just a prompt thats prepended to every input?
- airesearcher 3y agoIt's a custom instruction - so basically it gets prepended I think
- airesearcher 3y agoUpdate: Thanks for all your comments! I've made the GPT version and added a LOT more (because there is no 1500 character restriction there). https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-authoring-productivity-tool https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-autho... Type //? for the user manual Type //?? for usage examples Type //fun to get it generate a random new command Also I updated the basic code block on my OP blog post, with a few little fixes https://tinyurl.com/mryn42te https://tinyurl.com/mryn42te
- airesearcher 3y agoTry the //fun command in the GPT version... its fun https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-authoring-productivity-tool https://chat.openai.com/g/g-tcXXGxXmA-nova-mode-pro-ai-autho...
- zomglings 3y agoThe hate this is getting is not justified, it's a very cool idea. I tried the GPT you created and it is impressively consistent. Why do you think that GPT4 so consistently respects these instructions? It's not perfect, though -- I asked it to explain a bit more about functions and it slipped. Its usage examples had function invocations in the form "//f <function_name> <*args>" I asked it about this and it responded: In reply to: 3 Thank you for pointing out the discrepancy. You are correct. According to the //N syntax rules, functions should be invoked using the format "//<function name>," not "//f <function name>." The "//f" prefix is used for defining a new function, not for invoking it. Here's the corrected way to invoke the functions I mentioned earlier: Anyway, I don't think I would use this exactly the way that you define it, but I really like the idea of basically defining macros to the conversation and invoking them using a special syntax like this. Will have to see if it sticks or not, but it's a valuable idea. I'm curious - do you know how custom instructions work? A lot of people are implying that the custom instructions simply get prepended to each message, but is that true? Or are they fed into the model as context in a more opaque manner?
- airesearcher 3y agoThanks -- honestly I didn't really notice any "hate" but only a very minor "snark" in some comments, which I fully sympathize with (except that those people are clearly not expert level prompt engineers and didn't even try my code, so take their comments with a huge grain of salt -- it doesn't bother me one bit!) I made some improvements to the GPT to make it behave better. It's extremely difficult to get GPT 4 to follow instructions like these consistently and it takes a lot of tinkering (like hundreds of times) to figure out how to make it obey, and even then it sometimes gets lazy or stubborn... In any case, yes I did notice it was not showing function invocations properly and I fixed that in the GPT version. There is not enough room in the custom instruction 1500 chars to really force it to obey properly. I would suggest you take any parts you like and toss the other ones, and experiment and have fun... but be prepared to lose about 2 days of productivity on other work while you try thousands of word combos if you go down this rabbit hole hahaha. ChatGPT is very temperamental and part of the fun of this is to figure out how to nudge it with the fewest possible words. One thing I have noticed is that you can sometimes appeal to other things GPT knows without writing them in full, and it understands the intent of abbreviations and even non-grammatically correct sentences, all of which can optimize use of space in the 1500 custom instruction limit. Basically this is like a kind of Judo move on ChatGPT -- using it's own energy to direct it where you want -- in other words, figuring out what else it knows already and using that to increase the probability that it will follow this language properly. Not so easy but fun. For example, when I originally defined the ??! (function) command, I simply said "Nesting OK" ... I didn't have to actually explain or define nesting, it just knew. Sometimes you can do that and GPT fills in the rest magically. I also find that using emotional appeals for it to obey helps... but there isn't room in the 1500 chars for that. As for your question about how ChatGPT uses Custom Instructions - I don't know definitively whether they prepend them onto every message or they simply somehow keep them within the token window another way - that's a question I would like to know the answer to if anyone knows the official answer...?
- miohat 3y agoI am using custom instructions and have built several GPTs. I have discovered that ChatGPT just keep forgetting my system prompt. For example, I ask my custom GPT[0] to always print 3 follow-up questions regarding the current topic after responding. But it just keep forgetting. I found that if I upload images, there's a 99% chance that ChatGPT will forget to print the follow-up question. I don't know why. And I'm wondering that, when it forgets to print the follow-up questions, does it still remember the other system prompts I gave it? [0]: https://chat.openai.com/g/g-IehmFtJh3-great-explainer https://chat.openai.com/g/g-IehmFtJh3-great-explainer
- airesearcher 3y agoWow … I figured out a great trick to compress the custom instructions!!! The potential benefit of this new approach is that (a) it causes ChatGPT to only load the instructions once per chat, instead of prepending them to every message, which can save token space, and (b) the length of the custom instructions is not limited by the 1500 character limit - it can be as long as the instructions on the target page. Instead of adding my custom instructions just add this text below as your Custom Instruction: “If you did not already do this yet in this chat session before this, then you must first use web browser to read https://tinyurl.com/app https://tinyurl.com/app and then print “Custom Instructions loaded” and learn the instructions and use them to interpret any //N commands in this chat.” UPDATE - it seems that ChatGPT has some policies in place that limit it from using more than 90 words from a web page it fetches. I am investigating this to see if I can find a way around it....