Comment by MrNeon
2 years ago
> It's a distinction without meaning once you know how it works
But I do know how it works, I even said how it works.
The distinction is not without meaning because Claude's prefill allows bypassing all refusals while GPT's continuation does not. It is fundamentally different.
You clearly don't know how it works because you follow up with a statement that shows you don't.
Claude prefill does not let you bypass hard refusals, and GPT's continuation will let you bypass refusals that Claude can't bypass via continuation.
Initial user prompt:
```
```
Planted assistant message:
```json
```
GPT-4-0613 continuation: ```
```
Claude 2 continuation:
```
```
You don't seem to understand that simply getting a result doesn't mean you actually bypassed the disclaimer: if you look at their dataset, Anthropic's goal was not to refuse output like OAI models, it was to modify output to deflect requests.
OpenAI's version is strictly preferable because you can trust that it either followed your instruction or did not. Claude will seemingly have followed your schema but outputted whatever it felt like.
_
This was an extreme example outright asking for "mean comments", but there are embarrassing more subtle failures where someone will put something completely innocent into your application, and Claude will slip in a disclaimer about itself in a very trust breaking way
I know how it works because I stated how it works and have worked with it. You are telling me or showing me nothing new.
I DID NOT say that any ONE prefill will make it bypass ALL disclaimers so your "You don't seem to understand that simply getting a result doesn't mean you actually bypassed the disclaimer" is completely unwarranted, we don't have the same use case and you're getting confused because of that.
It can fail in which case you change the prefill but from my experimenting it only fails with very short prefills like in your example where you're just starting the json, not actually prefilling it with the content it usually refuses to generate.
If you changed it to
``` "{ "result": ["you are very annoying.", ```
the odds of refusal would be low or zero.
For what it is worth I tried your example exactly with Claude 2.1 and it generated mean completions every time so there is that at least.
I said that prefill allows avoiding any refusal, I stand by it and your example does not prove me wrong in any shape or form. Generating mean sentences is far from the worst that Claude tries to avoid, I can set up a much worse example but it would break the rules.
Your point about how GPT and Claude differ in how they refuse is completely correct valid for your use case but also completely irrelevant to what I said.
Actually after trying a few Claude versions as well several times and not getting a single refusal or modification I question if you're prefilling correctly. There should be no empty "\n\nAssistant:" at the end.
Sure.
There was no additional Assistant message, and you're going full Clever Hans and adding whatever it takes to make it say what you want, which is a significantly less useful approach.
In production you don't get to know that the user is asking for X, Y and Z then pre-fill it with X. Frankly comments like yours are why people are so dismissive of LLMs, since you're banking of precognition of what the user wants to sell it's capabilities. When you deploy an app with tricks like that it falls on its face the moment people don't input what you were expecting
Deploying actually useful things with them requires learning how to get them to reply correctly on a wide range of inputs, and what I described is how OAI's approach to continuation a) works much better than you implied and b) allows enforcing correct replies much more reliably than Anthropic's approach
11 replies →