13 ms·
Prompt engineering vs. blind prompting
- cloudking 4y agoWhat is a business problem you solved with LLMs that you couldn't solve as efficiently without them?
- capableweb 4y agoNot sure what counts as a "business problem" for you, but personally I couldn't have gotten as far as I've come with game development without it, as I really struggle with the math and I don't know many people locally who develop games that I could get help from. GPT4 have been instrumental in helping me understand concepts I've tried to learn before but couldn't, and helps me implement algorithms I don't really understand the inner workings of, but I understand the value of the specific algorithm and how to use it. In the end, it sometimes requires extensive testing as things are wrong in subtle ways, but the same goes for the code I write myself too. I'm happy to just get further than have been possible for the last ~20 years I've tried to do it on my own. Ultimately, I want to finish games and sell them, so for me this is a "business problem", but I could totally understand that for others it isn't.
- moonchrome 4y agoSound like you need to learn to search. There's tons of resources on game dev. I can sort of see the value of using GPT here but have you tried using it in an area you're an expert in ? The rate of convincing bullshit vs correct answers is astonishing. It gets better with Phind/Bing but then it's a roulette that it will hit valid answers in the index fast enough. My point is - learning with GPT at this point sounds like setting yourself up for failure - you won't know when it's bullshiting you and you're missing out on learning how to actually learn. By the time LLMs are reliable enough to teach you, whatever you're learning is probably irrelevant since it can be solved better by LLM.
- ghaff 4y agoWith respect to writing I've used it for things I know enough to write--and will have to look up some quotes, data, etc. in any case. GPT gives me a sort of 0th draft that saves me some time but I don't need to check every assertion to see if it's right or reasonable because I already know. But it doesn't really solve a business problem for me. Just saves some time and gives me a starting point. Though on-the-fly spellchecking and, to a lesser degree grammar checking, help me a lot too--especially if I'm not going to ultimately be copyedited.
- capableweb 4y ago> Sound like you need to learn to search Sounds like you need to not be condescending :) Of course I've searched and tried countless of avenues to pick up this, I'm not saying it's absolutely not possible without GPT, just that I found it the easiest way of learning. And it's not "Write a function that does X" but more employing the Socratic method to help me further understand a subject, that I can then dive deeper into myself. But having a rubber duck is infinitive worth, if you happen to a programmer, you probably can see the value in this. > have you tried using it in an area you're an expert in ? The rate of convincing bullshit vs correct answers is astonishing. It gets better with Phind/Bing but then it's a roulette that it will hit valid answers in the index fast enough. Yes, programming is my expertise, and I use it daily for programming and it's doing fine for me (GPT4 that is, GPT3.5 and models before are basically trash). Bing is probably one of the worst implementations of GPT I've seen in the wild, so it seems like our experience already differs quite a bit. > you won't know when it's bullshiting you and you're missing out on learning how to actually learn. Yeah, you can tell relatively easy if it's bullshitting and making things up, if you're paying any sort of attention to what it tells you. > By the time LLMs are reliable enough to teach you, whatever you're learning is probably irrelevant since it can be solved better by LLM. Disagree, I'm not learning in order to generate more money for myself or whatever, I'm learning because the process of learning is fun, and I want to be able to build games myself. A LLM will never be able to replace that, as part of the fun is that I'm the one doing it.
- ohmahjong 4y agoI have personally found the rubber-ducking to be really helpful, especially for more exploratory work. I find myself typing "So if I understand correctly, the code does this this and this because of this" and usually get some helpful feedback. It feels a bit like pair programming with someone who knows 90% of the documentation for an older version of a relevant library - definitely more helpful than me by myself, and with somewhat less communication overhead that actually pairing with a human.
- lamontcg 4y agoI don't particularly have a big problem with math at the level that AIs tend to be useful for, and find that it tends to hallucinate if you ask it anything which is moderately difficult. There's sort of a narrow area where if you ask it for something fairly common but moderately complicated like a translation matrix that it usually can come up with it, and can write it in the language that you specify. But guarding against hallucinations is almost as much trouble as looking it up on wikipedia or something and writing it yourself. The language model really needs to be combined with the hard rules of arithmetic/algebra/calculus/dimensional-analysis/etc in a way that it can't violate them and just mash up some equations that its been trained on even though the result is absolute nonsense.
- klabb3 4y agoThis vibes with my experience as well. In terms of actual long term value, this kind of educational exploration is promising. It acts, in a way, as a domain expert who understands your language and can help you orient yourself in a domain which is otherwise difficult to penetrate. I also am happy that language-as-gate-keeping, which is plaguing so many fields both in academia and business, is going to quickly be “democratized”, in the best sense of the word. LLMs can help you decipher text written in eg law speak, and it also can translate your own words into a form that will get grand poobah to take you seriously. Kind of like a spell/grammar checker on steroids.
- Fordec 4y agoName one business problem solved with any tool that can only be solved by that tool and nothing else. It's not about uniqueness, the name of the game is efficiency/scaling already solvable problems by multiple or skilled humans and reducing one of those dimensions.
- cloudking 4y agoFair, edited to include "as efficiently". I'm cutting through the noise to find some signals for how people are using these APIs.
- deleted 4y ago[deleted]
- potatoman22 4y agoNamed entity recognition - extracting structured data from text
- rolisz 4y agoBut there are fairly good models for doing NER that are not LLMs. Models that are open source and you can even run on a CPU, with parameter counts in the hundred of millions, not billions.
- billythemaniam 4y agoWhile true, GPT-4 kinda just gets a lot of the classic NLP tasks, such as NER, right with zero fine-tuning or minimal prompt engineering (or whatever you want to call it). I haven't done an extensive study, but I do NLP daily as part of my current job. I often reach for GPT-4 now, and so far it does a better job than any other pretrained models or ones I've trained/fine-tuned, at least for data I work on.
- rolisz 4y agoBut what about cost? There was a recent article saying that Doordash makes 40 billion predictions per day, which would result in 40 million dollars per day if using GPT4. Sure, GPT4 is great for experimenting with and I often try it out, but at the end of the day, for deploying a widely used model, the cost benefit analysis will favor bespoke models a lot of the time.
- travisjungroth 4y agoIt’s not hard to find a case where GPT4 is a bad fit.
- famouswaffles 4y agoGPT-4 generally performs better than expert human workers on NLP tasks, nevermind bespoke models. https://www.artisana.ai/articles/gpt-4-outperforms-elite-crowdworkers-saving-researchers-usd500-000-and-20#:~:text=Item%204-,GPT%2D4%20Outperforms%20Elite%20Crowdworkers%2C%20Saving%20Researchers%20%24500%2C000%20and%2020%2C000,about%20the%20future%20of%20crowdworking https://www.artisana.ai/articles/gpt-4-outperforms-elite-cro....
- jstx1 4y agoChatGPT with GPT4 has made me much better and faster at solving programming problems, both at work and for working on personal projects. Many people are still sleeping on how useful LLMs are. There's a lot of related things to be skeptical about (big promises, general AI, does it replace jobs, all the new startups that are basically dressed up API calls...) but if you do any kind of knowledge work, there's a good chance that you could it much better if you also used an LLM.
- jabradoodle 4y agoThe parent is asking for a specific example use case.
- hayksaakian 4y agoI can't speak for OP, but for me I literally never use stack overflow any more, and I spend about 90% less time on Google
- styfle 4y agoCurious if that’s because AI provides better answers? It’s certainly not quicker answers, right?
- 8organicbits 4y agoAre you not fact checking chatgpt? I've seen wrong info, especially subtle things. It seemed reckless to use as-is.
- blowski 4y agoBoth ChatGPT and StackOverflow suffer from content becoming outdated. So some highly-upvoted answer on StackOverflow has been out of date since 2011, and now ChatGPT is trained on it. I see the future as writing test cases (perhaps also with ChatGPT), and separately using ChatGPT to write the implementation. Perhaps we will just give it a bunch of test cases and it will return code (or submit a PR) that passes those tests.
- nomel 4y agoDocumentation of old undocumented code bases. Feed in the functions, with a little context, and it works surprisingly well.
- ukuina 4y agoFYI, GitHub Copilot Labs (codebrushes) does this, as well.
- nomel 4y agoAs any coding AI should. GPT allows me to add some detailed context, with some chain of thought back and forth, to make sure the comments are "on topic". I can give more detailed instructions, especially about things like type hints, and when they should be avoided.
- drc500free 4y agoWriting emails that I had been putting off for weeks.
- H8crilA 4y agoTranslation, GPT-4 put to dust other translation tools like DeepL or Google Translate. At a much higher cost, of course.
- CSMastermind 4y agoIt speeds up one off throw away software work that I need to do. Here's a concrete example from work recently: > I need help writing a SQL statement. I'm using Postgresql and the database has a table called `<name>` with dozens of columns such as: `..._id`, `..._id`, `..._id`, `..._id`, etc. The columns are of type uuid. Separately I also have a list of thousands of uuids and I want to check if any values in my list are used in any of the fields on the `<name>` table. Is there a compact SQL statement that allows me to do this? I would like to avoid listing out all the columns by name. GPT-4 responed: > Yes, you can achieve this by querying the information_schema.columns to get the list of columns dynamically and then use a combination of string_agg, EXECUTE, and FORMAT functions to build and execute the SQL query. Here's an example: I ran it as written and it worked great! Could I have done this on my own? Sure, but it would have taken a few google searches, reading, trial and error to build up the query, probably 30 or 40 minutes more than just asking GPT-4 to write the query. Actually that model seems particularly good at writing SQL queries FYI, I could totally see a chat layer on top of a relational database writing all the SQL with no humans in the loop, just natural language --> LLM --> SQL.
- toss1 4y agoThe most actually useful results I've gotten from ChatGPT4 is essentially a replacement for calling software or hardware tech support. E.g., in a CAD system with which I'm already familiar with the system & searching it's docs, I still find it helpful to ask obscure or complicated situations such as 'I remember reading it can do something like X, what is that and what is the command?' or 'what is a way to find and repair this kind of failure?' — the sorts of things for which I'd call tech support (if it didn't involve long hold times, etc.). ChatGPT4 has saved me already a number of long multi-dead-end hunts for finding the correct obscure command or operation name, or for building a sequence to debug and repair a model issue. Sometimes the ChatGPT4 answer is just another BS hallucinated waste of time, but it often enough does point me in the right direction far more quickly than I would have on my own.
- epberry 4y agoMy personal next step with LLMs is to use them as completion engines versus just asking them questions. Few shot prompting is another intermediate skill I want to incorporate more.
- williamcotton 4y agoHere is an example of some prompt engineering in order to build augmentations for factual question-and-answer as well as building web applications: https://github.com/williamcotton/transynthetical-engine https://github.com/williamcotton/transynthetical-engine
- m3kw9 4y agoProblem with this is that it requires the software to know what the target is when question is asked and I don’t see it as reliable as there are many ways to ask and could have many targets
- williamcotton 4y agoI don’t really understand your criticism but I’d be happy to continue a dialog to find out why you mean! There’s probably a little too much going on with that project, including generating datasets for fine-tuning, which is the reason for comparing with a known answer. It is very similar to the approach used by the Toolformer team. But by teaching an agent to use a tool like Wikipedia or Duck Duck Go search it dramatically reduces factual errors, especially those related to exact numbers. Here’s a more general overview of the approach: From Prompt Alchemy to Prompt Engineering: An Introduction to Analytic Augmentation https://github.com/williamcotton/empirical-philosophy/blob/main/articles/from-prompt-alchemy-to-prompt-engineering-an-introduction-to-analytic-agumentation.md https://github.com/williamcotton/empirical-philosophy/blob/m...
- james-revisoai 4y agoNice idea, why did you choose to build it in typescript/node out of interest?
- williamcotton 4y agoBecause I wanted to run it in the browser and have a document object in context of the LLM response being eval’d! Also, having the exemplars typed has saved me from sending broken few-shots many times! That is, I keep all of the few-shot exemplars in TypeScript and then compile them into an array of system/user/assistant message strings at some point before making any calls to an LLM.
- mistercheph 4y agoThis article was written by chatgpt.
- kingforaday 4y ago...or maybe it's really Mitchell hiding behind every ChatGPT response? After all he is a machine.
- slowhadoken 4y agoridiculous
- dang 4y ago"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something." "When disagreeing, please reply to the argument instead of calling names. 'That is idiotic; 1 + 1 is 2, not 3' can be shortened to '1 + 1 is 2, not 3." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- slowhadoken 4y agoIt’s absurd on its face. There’s nothing of substance to dismiss or disagree with. You’re not a gatekeeper.
- dang 4y agoOk, but in that case it would be better not to post anything—not to add an additional post that lacks substance. I don't know what you mean by gatekeeper but I'm a moderator here and it's my job to tell people this stuff and try to persuade them to follow HN's rules: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html. In case it helps at all, such moderation posts are even more tedious to write than they are to read. https://hn.algolia.com/?dateRange=all&page=0&prefix=false&sort=byDate&type=comment&query=tedious%20write%20read%20by:dang https://hn.algolia.com/?dateRange=all&page=0&prefix=false&so...
- doubtfuluser 4y agoA bit of an unpopular opinion as it seems, but I would actually bet that the current prompt engineering is just a short term thing. When the performance of LLMs continue to improve I actually expect that they will become much better to understand not so well formed prompts. Especially when you take into consideration that they now are trained with RLHF on _real_ users input. So it will probably become less of an engineering problem but more an articulation of what exactly you want
- ransom1538 4y agoI expect the exact opposite. As more rules and regulations get put in, prompt engineering is going to be the new software development. "I would like you to pretend i need a lawyer dealing in a commercial lease that..."
- nicetryguy 4y agoI remember being a "good google querier" before autocomplete rendered that mostly irrelevant. While i think you're right to some degree, you still have to articulate exactly what you want and need from this machine, and no amount of the LLM guessing what the intent was will ever replace specifically and explicitly stating your needs and goals. I see a continuing relationship with the complexity of the task tied to the required complexity of the request.
- UltimateEdge 4y agoBeing able to compose a good query is still relevant I think! My peer once asked me for help with a mathematical problem, for which they could not find help online - after not much searching I could find a relevant page, given the same information/problem statement.
- deleted 4y ago[deleted]
- ethbr0 4y agoNot just auto-complete, but Google removing power search capabilities (quotes, plus, etc). Here's hoping LLMs-as-a-service don't fall into the same trap. It's fine to optimize for the 80% of your users who write badly, but for god's sake keep a bail-out for power users who want more control. You don't have to make it the default... but just don't remove it!
- azubinski 4y agoPrompt engineering is a kind of prompting that is (in a sense) a kind of an engineering, but it's impossible to understand in what sense it is a kind of what engineering, that's why it is so hard to understand _coherent texts_ if they are not completely meaningful. All this is so exciting and it promises many new jobs that require accelerated education of prompt engineers.
- mcs_ 4y agoPrompt's engineer only exists if they can measure the efficiency of their inputs. How to measure the effectiveness of a given prompt seems to me a big deal now.
- tgcandido 4y agodoes your approach takes into consideration that the temperature parameter is equal to 0?
- majormajor 4y agoThere's also no instances of "sample" or "random" in the article. If you say "can be developed based on real experimental methodologies" but don't talk about randomness or temp (or top_p, though personally I haven't played with that one as much) then I'm going to be very skeptical. Once you're beyond the trivial ("a five sentence prompt worked better than a five word one") then if you get different things for the same prompt then you need to do a LOT of work to be sure that your modified prompt is "better" than your first, vs just "had a better outcome that time."
- de_nied 4y agoTry following the links in the article. They give much more detailed information. For example, your temperture explination can be found here[1] (Ctrl+F), which is also linked in the article. [1]: https://huyenchip.com/2023/04/11/llm-engineering.html#prompting_vs_finetuning_vs_alternatives https://huyenchip.com/2023/04/11/llm-engineering.html#prompt...
- mitchellh 4y agoAuthor here. As I noted in the post, this is an elementary post to help people understand the very basics. I didn't want to bring in anything more than a "101"-level view. I do mention output sampling briefly (Cmd-F "self-consistency"). And yes, there are a lot of good techniques on the validation set too. At the most basic, you can sample, of course, but you can also perform uncertainty analysis on each individual test case so that future tests sample either the most uncertain, or a diverse set of uncertain and not test cases. I also didn't go into few-shot very much, since choosing the exemplars for few-shot are a whole thing unto itself. And this benefits from "sampling" (of sorts) as well. But again, a whole topic on its own. And so on. As for top_p, for classification this is a very good tool, and I do talk about top_p as well (Cmd-F "confusion matrix")! I again, felt it was too specific or too advanced to dive in more deeply in this blog post, but I linked to various research if people are interested. To the grandparent re: temperature: when I first tweeted about this, I noted in a tweet that I ran all these tests with some fixed parameters (i.e. temp) but in a realistic environment and depending on the problem statement, you'd want to take those into account as well. There's a lot that could be covered! But the post was getting long so I wanted to keep this really as... baby's first guide to prompt eng.
- skybrian 4y agoIt's a good start. Also, it's good to use a toy problem for explaining how to do it. It would be great if more people published the results of careful experiments like this, perhaps for things that aren't toy problems? It would be so much better than sharing screenshots! However, when you do have such a simple problem, I wonder if you couldn't ask ChatGPT to write a script to do it? Running a script would be a lot cheaper than calling an LLM in production.
- binarymax 4y agoThe techniques in this article are good practice for general model tuning and testing with a correct answer. So for tasks like extraction, labelling, classification, this is a great guide. The challenge comes when the response is a subjective answer. Tasks like summarization, open question answering generation, search query/question/result generation, are the hard things to test. Those typically will need another manual step in the process to grade the success of each result, and then you need to worry about bias/subjectivity of your expert graders. So then you might need multiple graders and consensus metrics. In short it makes the process very very slow, expensive, and tedious.
- IsaacL 4y agoI pretty much agree. The "scientific" approach the author pushes for in the article -- running experiments with multiple similar prompts on problems where you desire a short specific answer, and then running a statistical analysis -- doesn't really make much sense for problems where you want a long, detailed answer. For things like creative writing, programming, summaries of historical events, producing basic analyses of countries/businesses/etc, I've found the incremental, trial-and-error approach to be best. For these problems, you have to expect that GPT will not reliably give you a perfect answer, and you will need to check and possibly edit its output. It can do a very good job at quickly generating multiple revisions, though. My favourite example was having GPT write some fictional stories from the point of view of different animals. The stories were very creative but sounded a bit repetitive. By giving it specific follow-up prompts ("revise the above to include a more diverse array of light and dark events; include concrete descriptions of sights, sounds, tastes, smells, textures and other tangible things" -- my actual prompts were a lot longer) the quality of the results went way up. This did not require a "scientific" approach but instead knowledge of what characterized good creative writing. Trying out variants of these prompts would not have been useful. Instead, it was clear that: - asking an initial prompt for background knowledge to set context - writing quite long prompts (for creative writing I saw better results with 2-3 paragraph prompts) - revising intelligently Consistently led to better results. On that note, this was the best resource I found for more complex prompting -- it details several techniques that you can "overlap" within one prompt: https://learnprompting.org/docs/intro https://learnprompting.org/docs/intro
- deleted 4y ago[deleted]
- cs702 4y agoWhen I read guides like this one, I wonder if "prompt engineering" is a misguided effort to pigeonhole a formal language that by necessity is precise and unambiguous (like a programming language) into natural language, which by necessity has evolved to be imprecise and ambiguous. It's like trying to fit a square peg inside an irregularly shaped hole, without leaving any space unfilled around the edges of the square.
- pbowyer 4y ago> There are fantastic deterministic libraries out there that can turn strings like "next Tuesday" into timestamps with extremely high accuracy. Which libraries? I know of Duckling [0] but what others? 0. https://github.com/facebook/duckling https://github.com/facebook/duckling
- gregsadetsky 4y agoA few libs come up for “human” format date parsing. The Python “dateparser” below is definitely well known. https://dateparser.readthedocs.io/en/latest/ https://dateparser.readthedocs.io/en/latest/ https://sugarjs.com/dates/#/Parsing https://sugarjs.com/dates/#/Parsing https://github.com/wanasit/chrono https://github.com/wanasit/chrono
- Izkata 4y agoAnd if all else fails, $ date -d 'next Tuesday'
- gregsadetsky 4y agoAmazing! Thanks More info: https://stackoverflow.com/a/22450412 https://stackoverflow.com/a/22450412
- alpark3 4y agoI use GPT-4 pretty consistently(set up a discord bot for myself). What I found myself doing was tending towards the most simple prompt that the LLM would still understand - If I asked a human expert the types of prompts I was giving GPT, I most likely would've gotten a clarifying question rather than an answer like the LLM was giving me, simply because I'm talking in such short and concise sentences. I think the interesting thing is that the more concise a message is to a fellow human, the more work needs to be done by the other party in order to actually decode my message, even if it is ultimately understandable. Whereas with LLMs, shorter token length doesn't really matter: matrices of the same size are being multiplied anyways.
- LegitShady 4y agoI think because a human actually wants to figure out what you want, and a you're just going to keep prompting that ML model until you get something similar to what you want, something that would annoy a human and probably waste their time or make an endeavor extremely expensive. I don't think its really fundamental to LLMs its just that you don't treat a human the same way you treat an unthinking unfeeling computer system whose transactions are cheap and relatively near instant compared to requesting from a human.
- saxelsen 4y agoThis touches on what I think is a main separator between the GPT models and humans: If a human is unsure of the instructions, they will ask clarifying questions. GPT-4 cannot do that currently.
- travisjungroth 4y agoIt can. I’ve had it ask questions without explicitly being told to do so. Combine Chain of Thought and ReAct with question being an action and it will happen regularly.
- popcorncowboy 4y agoIf you don't apply a rigorous evaluation and testing framework you are a Prompt Alchemist at best.
- ilaksh 4y agoThis nonsense illustrates the most typical way that people misunderstand the word "engineering" in a software context. Software engineering and prompt engineering is not about the self-proclaimed level of rigor or formality that you apply. It's about the actual knowledge and processes used and especially their _effectiveness_ as measured in closed feedback loops. But the starting point for this is that the term "prompt engineering" is an obvious exaggeration that people are using to promote a skill set which is real and very useful but a big stretch to describe as a whole new engineering discipline. Regardless of what you call it, like software engineering, it really is a process of trial and error for the most part. With the capabilities of the latest OpenAI models, you should be aiming for a level of generality where most tasks are not going to have a simple answer that you can automatically check to create an accuracy score. EDIT: after thinking about it, there certainly are tasks that you could check for specific answers to create an accuracy score, but I still think it would make more sense in most cases to instead spend time iterating on user feedback rather than trying to think of comprehensive test cases on your own. There are a few things to know, such as the idea of providing examples, the necessary context, and telling the model to work step-by-step. Actually I would say that there are two major things that could be improved in the engineering described in this article related to actually closing the feedback loops he mentions. He really should at least mention the possibility of coming up with a new prompt candidate after he was done with the first round of tests and also after the users found some problem cases. The main thing is to close the feedback loops.
- manojlds 4y agoI think prompt engineering is social engineering but for AI.
- dmix 4y agoOf course, LLMs are like toddlers, prompt engineering is holding their hand so they get from A->B as best as possible. It's providing important context to frame output, guiding it along to "think" out it's processes, and breaking bigger problems down into smaller pieces. Essentially turning prompts into a series of smaller feedback loops - rather than dumping a big query and hoping the baseline toddler is smart enough to figure it out. It's just about knowing the person you're interacting with extremely well, knowing their quirks and what motivates them, and carefully guiding them along, so they do what you want. Much like social engineering.
- svilen_dobrev 4y agoheh. i wonder, what the "SEO" equivalent would be in this domain? "Agenda engineer" ? "prompt influencer"?
- rvz 4y agoThis article reads into so much nonsense, I would not be surprised to see that some of the content has been generated by ChatGPT. I mean just look at this: > Citations required! I'm sorry, I didn't cite the experimental research to support these recommendations. The honest truth is that I'm too lazy to look up the papers I read about them (often multiple per point). If you choose not to believe me, that's fine, the more important point is that experimental studies on prompting techniques and their efficacy exist. But, I promise I didn't make these up, though it may be possible some are outdated with modern models. This person appears like they are just in the hype phase of the LLM and prompt mania and attempting to justify this new snake oil with all this jargon that not even they understand the inner workings of a AI model when it hallucinates frequently. "Prompt Engineering" and "Blind Prompting" is different branding of the same snake oil.
- voidhorse 4y agoI recall there used to be a school of thought that argued that making programming languages more like natural language was a futile effort, as the benefits of having a precise, limited, deterministic, if abstract, language for describing our ideas were far superior to any "close enough" approximation we could achieve with natural language. Where have those people gone? When I step back and think about this LLM craze, the only stance I'm left with is that I find it baffling that people are so excited about what is ultimately a stochastic process, and what will always be a stochastic process. It's like the world has suddenly shifted from valuing deterministic, precise, behaviors to preferring this sort of "close enough, good enough" cavalier attitude to everything. All it took was for something shiny and new to gloss over all our concerns around precision and certainty. Sure, LLMs are great for getting approximations quickly, but approximations are still just approximations. Where have the lovers of certainty and deduction gone? I can't help but think our general laziness and acceptance of "close enough" fast solutions is going to bite us in the end.
- frabjoused 4y agoI think you're just not thinking hard enough of ways to use it -- use cases where "close enough" can be augmented by deterministic validation, cleanup and iteration to perform real-world work that is "all the way". I'm currently littering my platform with small, server-side decisions made by LLM prompts and it's doing real work that is working. There are a ton of other people doing this right now. You can be as angry as you want about it, but in a year or two you'll be using the result of this work every day.
- rTX5CMRXIfFG 4y agoEh, it can be as easily said that you can promote “good enough” all you like, but “good enough” is never going to cut it for critical applications where large money or real lives are at stake. Programming languages need to accommodate such large-scale scenarios, and not only the individual-level use cases that make exactly zero money such as scripts for self-hosted servers that some Joe has in his mom’s basement.
- voidhorse 4y ago
- avoinot 4y agoFrom this post: If you want to learn some more advanced techniques, Prompt Engineering by Lilian Weng provides a fantastic overview.
- gregsadetsky 4y agohttps://lilianweng.github.io/posts/2023-03-15-prompt-engineering/ https://lilianweng.github.io/posts/2023-03-15-prompt-enginee... ?
- Shirine 4y agoOmggg
- jmount 4y agoNice, this got me to thinking on variations on the topic: https://win-vector.com/2023/04/22/the-sell-as-scam/ https://win-vector.com/2023/04/22/the-sell-as-scam/
- unbearded 4y agoMaybe should be called Prompt Science or Prompt Discovery or even Prompt Craft. I have a 40 million BERT-embedding spotify-annoy index that I keep experimenting with to make a better query vector. One way that I’m doing is getting only the token vectors with the highest sum of the whole vector and averaging the top vectors to use as the query vector. Another way is zeroing many dimensions randomly on the query vector to introduce diversity. But after experimenting with “prompt engineering” I found out that prefixing the sentences for the query vectors with “prompts” yield very interesting results. But I don’t see much engineering. It’s more trial, feedback and trying again. Maybe even Prompt Art. Just like on chatGPT.
- z3c0 4y agoI like "prompt injection", personally. It's not as pretentious as "prompt engineering".
- d0gbread 4y agoI think that's already taken and more about hacking via variables in the prompt like SQL injection. I would just got with prompt tuning.
- klabb3 4y agoNobody understands the emergent properties of LLMs. Trying to understand how it works is science or research, whereas using it to produce something that’s useful is alchemy. Even “tuning”, as my sibling comment suggests, is imo a stretch, because it implies some form of finite set of knobs that can be adjusted. Prompts aren’t something that you can simply map to knobs without pushing the analogy beyond reason.
- simonw 4y agoPrompt injection means something else: https://simonwillison.net/series/prompt-injection/ https://simonwillison.net/series/prompt-injection/
- z3c0 4y ago
- charlieyu1 4y agoI almost always prefer the old school way of prompting, keywords and commands only. Has been working well for fine-tuning Google search results for the last 20 years. Why do I have to Tak with computers with natural languages suddenly?
- jw1224 4y agoI spent 3 hours today carefully “engineering” a complex prompt. I ran it on a loop, then fed the results back in to my database. The 3 hours I spent has saved my business ~$15k in costs.
- rideontime 4y agoHow?
- woutr_be 4y agoDo you mind explaining this more? How did your prompt save your business $15K in costs?
- afro88 4y agoSounds like they automated something that would have cost $15k to do by other (probably manual human centric) work
- alphanullmeric 4y agoMostly just a push by “people skills” people to insert themselves into the bleeding edge of STEM and pretend like they add any value.
- renewiltord 4y agoAh, another good post from Mitchell Hashimoto. Things I learned from this: 1. Better to use single extraction: I leaned towards multiple extraction for token parsimony 2. Better to do very little output shaping 3. Pointless to use instruction text like "mimic these examples" Nice.
- gladiatr72 4y agoI imagine prompt engineering sounds better during interviews. :)
- breck 4y agoA Prompt Engineer, a Social Scientist, and an Intellectual Property Lawyer walk into a bar. They are served by a Libation Architect.
- ftxbro 4y agowhy do I feel like they are gatekeeping my prompts
- stevev 4y agoI’ll bet using ChatGPT for this will be more accurate at this point than human analysis and assumptions. So as to not waste time and effort, here you go; I’m sure this is much faster, efficient and I wouldn’t be surprised, others are already doing this: Using a therapist ai as an example: ChatGPT, I want you to help me create a series of prompts that I can use to better tune your model in order to serve humans. The role I am trying to instill for your model would be that of an ai friend who cares about the interactive user. You will be friendly, caring, supportive but most of all, serve as a teacher in order for the user to grow intelligence.
- cubefox 4y agoGiven that most available models are instruction tuned now (they directly respond to instructions rather than just predicting text), not much "prompt engineering" is necessary anymore. It's remarkable how quickly this has been forgotten, the article doesn't even mention it.
- keskival 4y agoI couldn't replicate his results about "reasonable prompts" with ChatGPT 3.5. I did a small write up and a critique here: https://www.linkedin.com/posts/terokeskivalkama_so-some-tips-on-prompt-engineering-inspired-activity-7055856556382330880-7XGZ https://www.linkedin.com/posts/terokeskivalkama_so-some-tips...
- esarbe 4y ago"Engineering" makes it sound as if there was a solid understanding of of LLMs actually works - there isn't. We're still finding out how LLMs work and what they are capable of. Prompt engineering" is just reasonable guesses and trial and error. There's little engineering involved.
- fennecfoxy 4y agoIsn't much of engineering applying tried and true principles and then working with a trial and error/experimentation mindset when combining or extending these principles in untried ways? You speak as if no EE has ever had to respin an updated set of PCBs, or a ME never had to CNC another part using a stronger material.
- esarbe 4y agoThe problem - as I see it - is that we lack "tried and true principles" when it comes to LLMs. We don't know how they work. Prompt engineering at this point is basically only experiment, error, repeat.
- fennecfoxy 4y agoAha, for the time being (and probably going into the future without major architectural changes to transformers) prompt engineering is important. For a one-shot question, it's probably fine. But when asking a transformer to create a completion for a conversation history, it seems to be very important to: * Start with a clear prompt establishing the conversation, rules and goals, format of responses * Continue to re-establish these rules throughout the text to remind the transformer They say "attention is all you need" but transformers seem to be like a child hopped up on sugar, too much input and it starts forgetting things from the start of the input. Hell even from one sentence (or message in a chat history) to another it can forget, presumably because the last chunk of input has keywords mentioned several times through the text and therefore stronger than certain rules (that are only mentioned once, at the start). I'll ask it to play a role playing game and it'll be all like: "The man X walks up to you an introduces himself, he's wearing a green tunic" Then after I interact it's all suddenly: "X looks own at his red tunic and also suddenly he's a dragon and actually a woman". I think it's because attention correctly identifies all the various topics and keywords of the conversation, but it doesn't seem to create a hierarchical tree of "attention"...I wonder if the same principles of finding similarity between embeddings could also apply to the attention mechanism. If transformers had something like that, it would be nice to reliably set an outline that forms the root node of an attention hierarchy, with the current topic at hand (towards the end of the input) as a leaf node.