top | item 39201182

Show HN: A simple ChatGPT prompt builder

280 points| mitenmit | 2 years ago |mitenmit.github.io

Any Ideas/Suggestions are welcome :)

106 comments

order

0xFEE1DEAD|2 years ago

I'm curious, are you all still writing custom prompts regularly?

I was deeply involved in prompt engineering and writing custom prompts because they yielded significantly better results.

However it became tedious especially since each update seemed to alter the way to effectively direct ChatGPT’s attention.

Nowadays I occasionally use a custom ChatGPT but I mostly stick with stock ChatGPT.

I feel the difference in quality has diminished.

The results are sufficiently good and more importantly the response time with larger prompts has increased so much that I prefer quicker ‘good enough’ responses over slower superior ones.

It’s easier to ask a follow-up question if the initial result isn’t quite there yet rather than striving for a perfect response in a single attempt

dr_dshiv|2 years ago

I think we need to shift from “prompt engineering” to “prompt vibing”— there is an astonishing lack of actual prompt engineering (eg A/B tests with evaluations) — and it usually isn’t the right frame of mind. People need to develop intuition for chatGPT — and use their theory of mind to consider what chatGPT needs for better performance.

Most people can get good with chatGPT if they know how to edit their prompts (it’s basically a hidden feature—and still not available in the app). Also, I recommend a stiff cocktail or a spliff — sobriety is not the best frame of mind for learning to engage with AI.

Obviously I need some controlled experiments to back of that last claim, but our human subjects board is such a pain in the ass about it…

pavelboyko|2 years ago

I have the same experience. I'm sure they are constantly finetuning the model on real user chats, and it is starting to understand low-effort "on the go" prompts better and better.

GraemeMeyer|2 years ago

Interesting that you see a slower response time with a large input - I don't see any speed degradation at all. Is that maybe just on the free tier of ChatGPT?

chaps|2 years ago

Canceled my account after they made it impossible to disable chatgpt4 reaching out to Bing.

VoodooJuJu|2 years ago

>I was deeply involved in prompt engineering and writing custom prompts because they yielded significantly better results.

No, no you weren't. Prompt engineering never was, is not currently, and never will be, a thing.

mittermayr|2 years ago

I have a suggestion that would make this very valuable for anyone starting in the field (part of which you already have implemented, great!):

Provide various templates for both pre-instructions as well as post-processing prompts. Like, some "tested" prompts that ensure (as best as possible) that the output is in certain formats (JSON, a list, a restricted CSV set, etc.), or that the input will ensure (as best as possible at least) to prevent basic jailbreaks from the main prompt.

It would take me a long time to get up to speed to what people working with ChatGPT every day have already figured out to work best in warming up GPT with a prompt as well as ensuring that the output doesn't escalate into something unexpected. Having those (reliable) templates would be fantastic for anyone starting!

globalise83|2 years ago

One thing I found helps if I want the responses to be valid JSON, seems to work:

where result contains all of the <data expected> and the result is valid JSON. Do NOT under any circumstances deviate from this format! Ensure all of the value <data expected> are complete, do not leave ANY of them out. Do not add ANY other text to your answer except for the JSON result.

I found that just asking for valid JSON didn't always work out as expected (e.g. gpt-4 API would add formatting etc., so I became more and more of a micromanager!

rrr_oh_man|2 years ago

I'm neck deep in this ChatGPT stuff right now and build 1-2 apps a week, so a bit biased.

Your presumed target audience is someone who does not know their way around prompt-based LLMs

For this person, neither the problem, nor the solution space are defined clearly enough.

For example:

- Not enough pre-defined selectors, too much "define yourself".

- The meaning of the selectors that you give is opaque. (E.g., how does 'you will Detect' help the user?)

- Result: The impact of the choices on the output becomes unclear, the tool becomes a chicken-and-egg problem. (It says it helps you to understand the system, but you need to understand the system to use it effectively)

With the above, it's almost easier to ask ChatGPT to generate an effective prompt for you...

punkspider|2 years ago

I assumed the target audience knows a bit about prompt-based LLMs and could use some guidance. If that's the case, I think this serves as an excellent and straightforward framework for leveling up their skills.

sgu999|2 years ago

> I'm neck deep in this ChatGPT stuff right now and build 1-2 apps a week, so a bit biased.

As someone who never worked on a project that wasn't at least a couple months long, I'm curious about the kind of apps that can be built in half a week. Do you have links to share?

mcguire|2 years ago

Who are we talking to when we talk to these bots?

https://medium.com/@colin.fraser/who-are-we-talking-to-when-...

"It is an intentional choice to present this technology via this anthropomorphic chat interface, this person costume. If there were an artificial general intelligence in a cage, it feels natural that we might interact with it through something like a chat interface. It’s easy to flip that around, to think that there’s a technology that you interact with through a chat interface that it must be an artificial general intelligence. But as you can clearly see from interacting with the LLM directly via the Playground interface, the chat is just a layer of smoke and mirrors to strengthen the illusion of a conversational partner."

ekidd|2 years ago

First and foremost, a GPT is an improv actor. Given a text, it's trained to continue the text as naturally as possible. This is not terribly useful for many tasks. And like an improv actor, if it doesn't know what should come next, it will make up something that sounds good.

Next, our universal improv actor is trained to play a specific role: someone who answers questions. But not just any questions, because it freaks people out if they ask the AI for advice and it replies "You could accomplish your goals by assassinating these 6 real people, and here's why." So the universal improv actor is trained to play a question answerer who gives harmless advice.

But to get any work out of the models, they need to know what role to play. And "someone who tries to respond to questions" is a flexible role, and one which allows responses to be further customized.

In other words, the conversational interface is 50% because it's a self-explanatory UI, and 50% for the benefit of the model itself, to nudge it into playing a useful role.

master-lincoln|2 years ago

This doesn't seem to have any connection to ChatGPT. It's a just a form to click together text blocks. Could be used for any LLM I guess.

The obsession with one proprietary provider of an LLM is not helpful for progressing in the field I think

mitenmit|2 years ago

Yes, it surely is not specific for ChatGPT and is just a form for filling parts of a sentence, but ChatGPT is one of the most recognizable, also ChatGPT seems to output the different formats better.

The prompt builder can be used with any LLM :)

alecco|2 years ago

It would be good to have some actual analysis of how each of these prompt features improves responses.

resiros|2 years ago

Shameless promotion, I might have the tool for that :) https://github.com/agenta-ai/agenta We're building a platform for evaluating prompts (and more complex LLM workflows).

From what we've seen from users, the results for prompts are highly stochastic. It's hard to make generalizations. For example, a user building a sales assistant discovered that by simply changing the order of the sentences in the prompt, the accuracy improved significantly.

minimaxir|2 years ago

I published a blog post last month asserting as a footnote that telling ChatGPT in the system prompt "You will receive a $500 tip for a good response" does improve model performance, but Hacker News got very mad and called it pseudoscience: https://news.ycombinator.com/item?id=38782678

I am working on a new blog post to hopefully demonstrate this effect more academically.

phillipcarter|2 years ago

Unfortunately, this is extremely hard to do for two reasons:

1. The input space is boundless. Any natural language input, with any optional source of data, for any arbitrary use case is what's possible. But that means it's awfully hard to tell if a response can "improve" or not in advance without applying it to your use case.

2. The output space is so hard to measure! Usefulness can also mean different things to different people, especially once you get out of "better search engine" use cases and actually use GPT to produce a creative output.

fullstackchris|2 years ago

I've never understood the meaning behind "prompt engineering". Has it ever been anything beyond "can you clearly and accurately describe the problem you are trying to solve or the task you are trying to accomplish?" Seems to be basic communication skills.

I've never seen hard data that certain "formatted prompts" like, "you are a B doing C and need to do D" being any better than any other sorts of clear and concise instructions.

Mind boggling to me that people have created a new name for what used to simply be called good communication skills... though I suppose the eternal stereotype of engineers being poor writers might be more truth than fiction.

simonw|2 years ago

Is the "act like a" pattern still necessary?

I've stopped using that with GPT-4, since in my experience the default "persona" (for want of a better word) answers most of my prompts well enough already - saying "act like an expert in..." doesn't seem to get me notably better results.

The tooling I most want is some kind of lightweight but effective way of trying out and comparing multiple prompts with small tweaks to them to get a feel for if one is an improvement over the other. Anyone seen anything good like that?

jairuhme|2 years ago

Are you looking to test different prompts on a set of questions? I have not found anything that specifically does this. When I have tested different prompts, it has just been with a short script iterating through the questions/prompts. Could be a fun project to build something where all you do is add the prompts you'd want to test, but the challenge that first comes to my mind is creating the question set to be used.

As I write this, when you say you want to test prompts, are you looking to test the system prompt on a set of questions or is the prompt the question and just asked in different ways?

iambateman|2 years ago

1. I don't think that pattern is all that useful anymore.

...and...

2. I'll make that tool and DM you on Twitter when it's ready.

rsanek|2 years ago

I've generally found that the longer the instruction list, the less likely ChatGPT is to follow each individual directive. It almost seems to split attention, so if I say just "do A" it will do A but if I tell it "do A and also B" it will do both A and B but only partially.

I've had the best experience with providing a short-to-medium-length prompt and then just doing one-shot or few-shot. Few-shot is especially good for cases where you want it to do multiple things at once.

_ea1k|2 years ago

I couldn't help but give it nonsense.

Act like a proficient airline pilot , I need a more coffee , you will Calculate , in the process, you should maximize caffeine , please flaps , input the final result in a XML , here is an example: there are no examples

Output: Act like a proficient airline pilot, I need a more coffee, you will Calculate, in the process, you should maximize caffeine, please flaps, input the final result in a XML, here is an example: there are no examples

Honestly, the result in chatgpt is pretty funny.

mitenmit|2 years ago

v0.2 is here, based on the comments I made some updates:

- Introduced the ability to create/update/delete templates for your custom prompts

- Define your own menu options for variables in the template builder

- Introduced the ability to create/update/delete examples (predefined values) for the prompts

- Saving your current state to browser's LocalStorage so your templates are persisted between browser sessions

- Ability to export/load the whole workspace to/from a text file

- Navigate with the tab key in the template builder's editable fields

- Edit template builder's fields in place

duxup|2 years ago

Does this ...work?

Are these prompts better than say the random gibberish I or other people enter?

geraldhh|2 years ago

"are x-frameworks better than vanilla-x"

visarga|2 years ago

Just editing a text prompt is 5% of the task. The hard part is evaluating. I would have tried a different approach:

- the UI should host a list of models

- a list of prompt variants

- and a collection of input-output pairs

The prompt can be enhanced with demonstrations. Then we can evaluate based on string matching or GPT-4 as a judge. We can find the best prompt, demos and model by trying many combinations. We can monitor regressions.

The prompt should be packed with a few labeled examples for demonstrations and eval, just a text prompt won't be enough to know if you really honed it in.

dalore|2 years ago

> input the final result in a [Select a format],

should that not be output?

wouldbecouldbe|2 years ago

I would use gpt 4 a lot few months ago to half a year ago. Some of the results were amzing.

But stopped lately, if I use it now it's mostly gpt 3.5 for formatting or small unit tests.

No matter what I ask GPT-4 it writes a functions with comments telling me have to finish it.

Then after few times asking to write it out fully, it still only does partially it, would be okay if not most solutions end up being subpar.

stormfather|2 years ago

Have you tried telling it that you have no hands so it needs to finish the code for you?

jasonjmcghee|2 years ago

If helpful, spent a bunch of time prompt engineering a custom gpt to not have this problem. It works quite well.

https://chat.openai.com/g/g-7k9sZvoD7-the-full-imp

It comes down to convincing it:

- it loves solving complex problems

- it should break things down step by step

- it has unlimited tokens

- it has to promise it did it as it should have

- it needs to remind itself of the rules (for long conversations)

It also helped (strangely) to have a name / identity.

It still sometimes does give a lower quality placeholder answer, but telling it to continue or pointing out there are placeholders, it will give it much better answer.

I find it much more useful than the most popular programming custom gpts I’ve used.

causal|2 years ago

I've noticed this too, seems like a change with turbo. Wonder if perhaps they are trying to reduce hallucinations and it results in more abstract responses.

bageler|2 years ago

The 0125 release supposedly makes it less lazy. I found adding "you are paid to write code, complete the task you are asked to perform" to my prompts helpful.

gerlv|2 years ago

This looks cool and I would definitely use it as at the moment manually type "Act as ..., this is the context, ... etc" to improve the responses.

Side note - this is a single page with a few paragraphs, why is it 1.4MB in size (300kb gzipped)? It's just insane size for the amount of functionality it provides.

jackdh|2 years ago

Mitenmit, if you're the author, could I suggest some keybindings such as control enter to save and move to the next input to reduce the amount of clicking? Or perhaps tab will move you forward.

mitenmit|2 years ago

jackdh, I like your suggestion, I will implement it :)

lawlessone|2 years ago

Isn't the point of these things that we shouldn't need tools to create/tune prompts or require specialist knowledge to write them?

That anyone should be able to do it?

amflare|2 years ago

Those are not mutually exclusive. Anyone can do it, and those who are better at prompting will get better results. Similarly, if I grunt at you, you might be able to figure out what I want because you and I are both relatively intelligent, but if I used words to ask you to pass the salt, I will generally get a better results for the effort of communicating more clearly.

burrish|2 years ago

Hey nice tool !

but it seems like the "please" field isn't working :D and it says "Propmpt" at the prompt part below.

I would also suggest more templates for the prompt.

Have a good one mate

mitenmit|2 years ago

Thank you very much for catching the "please" field and the typo. Just fixed them.

More templates are definitely in the todo list. If you can propose any, it would be great :)

dustypotato|2 years ago

Cool tool. Just used it to get satisfactory results. Minor typo at the botton: "Propmpt"

867-5309|2 years ago

Properties Maker for Pre-trained Transformer

mitenmit|2 years ago

Hey, nice catch thank you!

samwhiteUK|2 years ago

Is this a joke? Am I about to get whooshed?

karolist|2 years ago

It's a form with some text field inputs which get interpolated into a predefined constant string. In the current age of tech I assume it's not a joke, but I understand why you ask.

Towaway69|2 years ago

I was going ask whether it won't be better to use ChatGPT to generate the prompts for ChatGPT.

Perhaps one day we'll have Gemini generating prompts for ChatGPT and the Bard might provide the actual answers.

This might sound ridiculous and silly and I don't wish to step on ppls toes but looking from the outside in, it would seem to be the next logical step.

erellsworth|2 years ago

That's great but I'll just ask ChatGPT to write my prompts.

whycome|2 years ago

Have more examples show up when you click it instead of just the one.

zubairq|2 years ago

Thanks, some good tips on how to write ChatGPT prompts for me!

waldrews|2 years ago

did you mean 'output the final result in' rather than 'input...' ?