7 ms·
The whole prompt engineering thing feels like a temporary stopgap. Because ideally language models should be able to understand prompts from anyone without them
by msoad 4y ago
The whole prompt engineering thing feels like a temporary stopgap. Because ideally language models should be able to understand prompts from anyone without them trying to craft in a way that works for the model.
- dpflan 4y agoThat's what I'm wondering, if using LLM to create prompts for the LLM is a few steps away from integrating that into the LLM and unlocking recursive phenomenon and emergent behavior.
- imranq 4y agoThis is actually the premise behind Anthropic's Constitutional AI (https://arxiv.org/abs/2212.08073 https://arxiv.org/abs/2212.08073) where they have a set of principles that guide a workflow where the LLM creates the prompts and the critiques. They were recently given $300M by Google, so certainly you have a promising idea there
- dpflan 4y agoAh, so Google' response to the OpenAI+MSFT collaboration...
- krab 4y agoNot really. It's just a higher level programming language. You still need to know how to decompose a problem and structure the solution. On some level, also systems thinking as this stuff will get integrated together.
- msoad 4y agowhy can't the model do those things? As someone said, it's like Google-foo. It used to be the case where you had to give Google some context to disambiguate certain queries but now it is really good so I don't have to write anything crazy like site:wikipedia.com etc
- williamcotton 4y agoLarge language models will probably never be reliable computers. The solution is either providing translation examples (aka, in-context learning, few-shot) or fine tuning a model to return some symbolic method to tell an associated computing environment to evaluate a given bit of math or code.
- barking_biscuit 4y agoIn many ways this is sort of what humans do. They have something they don't yet know how to do and they go away and learn how to do it.
- williamcotton 4y agoIt definitely feels like I have to work to maintain the state of each algorithmic step when I'm multiplying two three digit numbers in my head. It's a lot easier if I can maintain that state on a piece of paper. I'm definitely not calculating the path of a projectile in a similar manner when I catch a ball. I'm definitely not "computing" a sentence when I read it in the same way that I compute the multiplication of those two three digit numbers!
- barking_biscuit 4y ago>I'm definitely not calculating the path of a projectile in a similar manner when I catch a ball. You're not calculating it in a traditional sense, but there's definitely some systems of partial differential equations being solved in real-time.
- rossvor 4y agoHuh, my recollection is the exact opposite. I remember the good old days when I could use inurl: link: and explore the website contents fully and drill down further if necessary, compared to now, where google seems to always think to know better than you what you are looking for. If you are not happy with the initial results it gave you, you are pretty much out of options, good luck trying to drill down to some specific thing.
- menacingly 4y agoIt's not higher level programming, because it's imprecise. We don't know how input will impact output, or to what extent, or why. If prompt engineering is programming, so is poetry. Which, I suppose you could make an argument for (calling forth subjective imagery in the reader's mind), but at that point you're sufficiently stretching definitions to the point they mean nothing.
- meinheld111 4y ago> It's not higher level programming, because it's imprecise. This argument is weak. Undefined behavior does exist and „high level programming language „is a moving target
- westoncb 4y agoNot only that but throwing away precision is an intrinsic part of becoming higher-level. This is just a different way of doing it.
- incongruity 4y agoIs “imprecision” that the previous commenter is reacting to maybe more specifically the strong potential for nondeterministic behavior exhibited by LLMs? That would seem to stretch the practical experience of programming vs. “lower-level” tools like Python or C. (Also, a world where I am calling Python “lower-level” is wild).
- selfhoster11 4y agoI have been using ChatGPT to test its ability to create JSON on the fly, just with a natural language description of the exact data format, and a natural language description of what I want to go in that object. It even escapes the string properly if it contains special characters, from what I noticed. Other than complicated requests like “if object is of type A, include fields ABC but not D. If object is of type B, include only D but not other fields”, it gets this right 99% of the time. It also works for CSV, but it’s trickier. It seems like it “knows” how JSON works to a much better extent. And as for parsing JSON? I’ve not truly pushed it to its limits yet, but so far it’s had no issues understanding any of it. It’s mind-boggling. Yes, it’s inefficient, but it can basically parse, generate and process valid JSON with just a brief set of instructions for what you want to do. For exploring ad-hoc data structures or quick mocking of API backends, this is great.
- noduerme 4y agoLike an advancing army, chatgpt will soon write prompts for you better than any of this new crop of nontechnical wannabe shamans. This little wave of prompt gurus trading for attention their insights into how to game systems they can't comprehend has about as much to do with programming as does slinging shitcoin tips.
- selfhoster11 4y agoChatGPT has certainly helped me refine some prompts. It’s 50/50 whether I’d make the same changes more quickly just rewriting the prompt by myself, but it helped me notice some blind spots in the prompt and get me thinking about how to fill them in.
- Havoc 4y agoAgreed. Much like google fu there is still likely to be some skill involved, but calling it "engineering" seems a bit much
- CharlesW 4y agoAgreed, "prompt design" (for example) would've been a better characterization. I'm sure people are already putting "prompt engineering" on their resumes.
- layer8 4y agoGoogle also defines "engineering" as: 2. the action of working _artfully_ to bring something about. "if not for his shrewd engineering, the election would have been lost" (https://www.google.com/search?q=define%3AEngineering https://www.google.com/search?q=define%3AEngineering) Merriam-Webster has: 3 : calculated manipulation or direction (as of behavior) giving the example of “social engineering” (https://www.merriam-webster.com/dictionary/engineering https://www.merriam-webster.com/dictionary/engineering) Random House has: 3. skillful or artful contrivance; maneuvering (https://www.collinsdictionary.com/dictionary/english/enginee https://www.collinsdictionary.com/dictionary/english/enginee...) Webster's has: The act of maneuvering or managing. (https://www.yourdictionary.com/engineering https://www.yourdictionary.com/engineering)
- __loam 4y agoIn Canada you can't call yourself an engineer unless you've actually been certified as an engineer. In the US, engineering programs worth anything are typically ABET certified. We should stop throwing that word around like it doesn't have a centuries old profession associated with it. It cheapens what actual trained engineers do and have done to earn their training.
- fassssst 4y agoIt’s not, it’s what all these services are doing behind the scenes so users don’t have to.
- jlawson 4y agoI disagree because when I want to get results from flesh-and-blood humans, I still have to engineer my prompt very carefully (and often get it wrong!). This includes asking questions, and trying to direct someone to effectively complete a task. Prompt engineering is just communications skills as applied to AI instead of meat-minds.
- smoe 4y agoI think as of now one big difference is that when talking to a competent flesh and blood human, they will ask (or at least try) the right questions before giving an answer. E.g when talking with my accountant, she usually ask me a bunch of clarification questions and numbers, instead of just making a best effort, but confident sounding response with whatever initial context i gave. I myself don’t have to have the depth of knowledge to direct someone to complete a task step by step to get the right results.
- jlawson 4y agoVery interesting point. Perhaps a big step forward for chat AI interfaces is to make the AI capable of knowing when it needs to ask follow-up questions and then having it do so. Essentially, it helps you along with your prompt engineering. Perhaps this is what the prompt engineering tools are doing anyway. What we need to do is integrate the prompt engineering tools with the chatbot itself, so it can both help extract a good prompt from users and then answer that prompt in the same process. I think this is where we'll move towards relatively soon; it seems obvious when you say it.
- williamcotton 4y agoIf anything, we're all learning pretty quickly that a chatbot interface is probably not the ideal way for interacting with an LLM!
- JohnFen 4y agoThe underlying problem is that human language is imprecise. Even humans frequently misunderstand what each other is meaning when they say things, because very often there are multiple valid ways to interpret a statement.
- kleer001 4y agoIthkuil, however, is very precise :) https://en.wikipedia.org/wiki/Ithkuil https://en.wikipedia.org/wiki/Ithkuil
- simonw 4y agoI've seen this argument a bunch recently, and I firmly disagree with it. I just published this explaining why: https://simonwillison.net/2023/Feb/21/in-defense-of-prompt-engineering/ https://simonwillison.net/2023/Feb/21/in-defense-of-prompt-e...
- 13415 4y agoEven if it doesn't become obsolete as an activity the knowledge you build around it becomes obsolete faster than almost any other tech sector. Whatever you learn by trial and error now about one particular model will be completely outdated in two years from now.
- BiteCode_dev 4y agoIdeally people should be able to understand sentence from anyone without them trying to craft in a way that works for the person. But they don't.
- deleted 4y ago[deleted]
- ketralnis 4y agoWe don't have to do that to communicate with humans because they're aren't one-shot. Humans ask followup questions like "Polish as in people from Poland, or polish as in rubbing until it's shiny?". Or they know you both work for a translation company and you don't talk about shinifying objects very often. If you did have to send google-esque one shot queries to humans you'd probably settle on short hand like "polish shiny" or you'd opt to use "poland" specifically to avoid it. For most known-ambiguous terms you'd do this, the same way we say out loud "M as in Mancy" because we know the sound of the letter can be ambiguous sometimes. We have lots of these in English that you use all of the time without knowing it. In a smaller audience the local language gets even more specific, you probably disambiguate people with your friends like "programmer Bob, not carpenter Bob". It's not at all crazy that we'd develop another local language for communicating with computers even if that's not a traditional programming language
- Xelynega 4y agoExcept we do that for humans and it's still not really relevant to language models. If I were talking to a python programmer I could assume they knew what a for loop was, so could phrase a question requiring the context of one differently than I would for the layperson. Just like if I were designing inputs to one language model I could assume it's capabilities that are different from another. I don't think it's relevant to the performance of language models for that same reason though, we already have to design out queries with the thing being queried in mind so I don't see why we wouldn't for llms.
- selfhoster11 4y agoI’ve been able to make ChatGPT ask for follow-up clarifications if it’s unsure about the meaning of something. I didn’t explore this further, but the ability is right there and can be triggered with the right prompt text.
- Xelynega 4y agoI fail to see the distinction you're trying to make. Creating the input for the llm to get a specific result is crafting an input in a way that works for the model and it's something we even do between different people(you probably have different ways to ask your boss and spouse to do something).
- paxys 4y agoThis IMO is the key distinction between "true" AI/AGI and the current generation of LLMs. ChatGPT cannot understand what you are telling it. It does not have a brain and cannot speak conversational-level English. This is why the entire area of prompt engineering needs to exist. Whether it is a stopgap or not depends on if we can actually make these models understand what they are asked rather than just pattern match.