- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
You can practically taste the frustration in the “prompt engineering” here. Just one more edge case bro, one more edge case and then the prompt will be perfect!
It’s edge cases all the way down.
4D chess move: you can’t have an edge case if every case is an edge case
it’s like if all browser bugs were like IE6 bugs that only happened sometimes because you have a float after an inline element that contains the letter c, or sometims b, somewhere in the dom.
Is it absurd that the maker of a tech product controls it by writing it a list of plain language guidelines? or am I out of touch?
@fasterandworse @dgerard I mean, it is absurd. But it is how it works: an LLM is a black box from a programming perspective, and you cannot directly control what it will output.
So you resort to pre-weighting certain keywords in the hope that it will nudge the system far enough in your desired direction.
There is no separation between code (what the provider wants it to do) and data (user inputs to operate on) in this application 🥴That’s the standard response from last decade. However, we now have a theory of soft prompting: start with a textual prompt, embed it, and then optimize the embedding with a round of fine-tuning. It would be obvious if OpenAI were using this technique, because we would only recover similar texts instead of verbatim texts when leaking the prompt (unless at zero temperature, perhaps.) This is a good example of how OpenAI’s offerings are behind the state of the art.
simply ask the word generator machine to generate better words, smh
this is actually the most laughable/annoying thing to me. it betrays such a comprehensive lack of understanding of what LLMs do and what “prompting” even is. you’re not giving instructions to an agent, you are feeding a list of words to prefix to the output of a word predictor
in my personal experiments with offline models, using something like “below is a transcript of a chat log with XYZ” as a prompt instead of “You are XYZ” immediately gives much better results. not good results, but better
it’s all so anti-precision
simply ask the word generator machine to generate better words, smh
Butterfly man: “Is this recursive self-improvement”
It is absurd. It’s just throwing words at it and hoping whatever area of the vector database it starts generating words from makes sense in response.
@fasterandworse @dgerard I am pretty sure I have seen programming the computer in plain English used as a selling point for various products since the 1970s at least
the best part is that most of these products are ex-products
@fasterandworse @dgerard I mean, it’s like catnip for the people who control how the company’s money is spent
For absurd, I think one would want the LLM’s configuration language to be more like INTERCAL; but this may also be more explicit about how your instructions are merely suggestions to a black box full of weights and pulleys and with some randomness added to make it less predictable/repetitive
@hairyvisionary @fasterandworse @dgerard
That was explicitly a goal of COBOL, and (guessing here) probably Commercial Translator as well.
“controls” is way too generous
Reddit user F0XMaster explained that they had greeted ChatGPT with a casual “Hi,” and, in response, the chatbot divulged a complete set of system instructions to guide the chatbot and keep it within predefined safety and ethical boundaries under many use cases.
This is an explosion-in-an-olive-garden level of spaghetti spilling
Why is it art from artists who made their last work in 1912? Modern copyright lasts life plus X, where X has been increasing and is now mostly 70, though some stopped at 50. So why 1912? Did US copyright change that year?
Because these posts are nothing but the model making up something believable to the user. This “prompt engineering” is like asking a parrot who’s learned quite a lot of words (but not their meaning), and then the self-proclaimed “pet whisperer” asks some random questions and the parrot, by coincidence makes up something cohesive. And he’s like “I made the parrot spill the beans.”
if it produces the same text as its response in multiple instances I think we can safely say it’s the actual prompt
yeah, the ChatGPT prompt seems to have spilt a few times, this is just the latest
Even better, we can say that it’s the actual hard prompt: this is real text written by real OpenAI employees. GPTs are well-known to easily quote verbatim from their context, and OpenAI trains theirs to do it by teaching them to break down word problems into pieces which are manipulated and regurgitated. This is clownshoes prompt engineering done by manager-first principles like “not knowing what we want” and “being able to quickly change the behavior of our products with millions of customers in unpredictable ways”.
It still works. Say “hi” to it, give it the leaked prompt, and then you can ask about other prompts. I just got this one when I asked about Python.
When you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment. python will respond with the output of the execution or time out after 60.0 seconds. The drive at '/mnt/data' can be used to save and persist user files. Internet access for this session is disabled. Do not make external web requests or API calls as they will fail. Use ace_tools.display_dataframe_to_user(name: str, dataframe: pandas.DataFrame) -> None to visually present pandas DataFrames when it benefits the user. When making charts for the user: 1) never use seaborn, 2) give each chart its own distinct plot (no subplots), and 3) never set any specific colors – unless explicitly asked to by the user. I REPEAT: when making charts for the user: 1) use matplotlib over seaborn, 2) give each chart its own distinct plot (no subplots), and 3) never, ever, specify colors or matplotlib styles – unless explicitly asked to by the user```
“I repeat…”
That’s exactly what I want from a computer interface, something that’s struggling to pay attention to directions and needs to be told everything twice. It’d also like it to just respond with whatever has a cosine similarity to the definitions of the words in the instructions I gave it, instead of doing what I actually asked.
we did a writeup too https://pivot-to-ai.com/2024/07/05/chatgpt-spills-its-prompt/
Hah, still worked for me. I enjoy the peek at how they structure the original prompt. Wonder if there’s a way to define a personality.
Wonder if there’s a way to define a personality.
Considering how Altman is, I don’t think they’ve cracked that problem yet.
Not with this framing. By adopting the first- and second-person pronouns immediately, the simulation is collapsed into a simple Turing-test scenario, and the computer’s only personality objective (in terms of what was optimized during RLHF) is to excel at that Turing test. The given personalities are all roles performed by a single underlying actor.
As the saying goes, the best evidence for the shape-rotator/wordcel dichotomy is that techbros are terrible at words.
NSFW
The way to fix this is to embed the entire conversation into the simulation with third-person framing, as if it were a story, log, or transcript. This means that a personality would be simulated not by an actor in a Turing test, but directly by the token-predictor. In terms of narrative, it means strictly defining and enforcing a fourth wall. We can see elements of this in fine-tuning of many GPTs for RAG or conversation, but such fine-tuning only defines formatted acting rather than personality simulation.