ChatGPT Cheat Sheet
drive.google.com
drive.google.com
"if you think AI chatter has reached an annoying level right now you're in for something else. it's going to be the only thing on anybody's mind starting shortly... i'm finding it a bit hard to communicate the urgency and heaviness of what's going on" https://twitter.com/tszzl/status/1617317478987878400
"Personally I can give you a formal definition of intelligence and even a number of speculative sketches of how I think it could be implemented, but I will also tell you that strong AI is not within sight and that recent advances are not moving us in the direction of strong AI" https://twitter.com/fchollet/status/1617579095885500416
The person I responded to was saying that they (as a dev I believe) have been seeing huge productivity gains _right now_ and that's what I'm interested in.
write a function using the python requests library which makes a get request to the URL example.com, parses the JSON response and returns the value of the "foo" field. Throw an exception if the get request fails, the response is not JSON or is invalid JSON, or if the foo field is not present in the response.
I just tried this and got a correct (and reasonable) function on the first try.
This kind of high level description to low-level implementation is a huge timesaver but it saves time in a different way than copilot.
I couldn't get Copilot to spew anything like that (a single simple test at best, and it fails at that more frequently than it produces something useful).
It's also quite good at converting relatively simple programs or configs between languages. For example, I used it to convert PostgreSQL DDL queries into Hibernate models (and also in reverse), JS snippets into OCaml, XML into YAML, maven pom.xml into gradle build scripts, and a few more.
Also if you use vim you can try my npm package `askleo` `npm i -g askleo` (not tied to the website but requires your own OpenAI API key) with `:r ! askleo Go function to reverse a list of numbers` or whatever .
The AI models just seem so clearly and instantly more useful to me.
To you yes. Now go out in the real world in which most people don't work in an office and mostly use internet for entertainment
Crypto seemed very useful to many people, and they still do, you'll find thousand upon thousands of comments and this very website preaching cryptos as the next game changer
With AI, the biggest claims I see are overwhelmingly from people who are not doing cutting-edge work in the field, who have no real foundation for a belief that these AIs will continue to improve at a dramatic rate. Because to really change the world, they do need to get a lot better.
I'm a big believer in the "capability overhang" idea, which is that the existing language models still have a huge array of capabilities that we haven't discovered yet.
That theory seems to be proved correct on a constant basis. Even the classic "let's think about this step by step" paper came out less than a year ago: https://arxiv.org/abs/2205.11916 - May 2022.
This paper (https://arxiv.org/abs/2206.07682) also touches on a pretty fascinating phenomenon - that when scaling up large language models they seem to "naturally" obtain new emergent abilities that do not exist on smaller models.
But honestly you sound just like someone in 1996 going "Oh the internet isn't going to change anything and is just a fad", and here we are decades later and the internet has changed almost everything in our lives. Every person you know uses the internet every day on their cellphones in one way or another.
I wanted to refute your point by giving some YouTube videos about practical uses and their views. Then I checked YouTube's trending videos and compared the view counter to that of a PewDiePie video of 2 days ago and now I agree. You are right.
There's your "change everything" -- it might not be a "strong AI", but if people can argue that Searle's Chinese Room [2] is "actually" talking, and it says useful, monetizable things, then it's close enough to be disruptive.
[0] https://www.theregister.com/2023/01/24/chatgpt_exam_study/
[1] https://nitter.1d4.us/sergeyi49013776/status/159843047987885...
I remember a long time ago Joel from Joel on Software made a post/comment (I can't find it, so it must have been a comment) about how the hard part of programming is interpreting the spec into code, and that programmers often get mad because the "spec isn't complete". Of course the spec isn't complete, if it were complete, it would cover every edge case and be as complex as the code. If you could have AI turn a spec into code, then the real intelligence goes into writing the spec to cover the complexity.
It's ok if AI can generate boiler plate for functions or even regurgitate leet code solutions (heck, I gave it the typical "coding challenge" we use here as our first filter and it did a good job). The real intelligence in development is to know what algorithm you want to use for your current problem.
So to me ChatGPT isn't that big of a deal. It does some neat things, and it may make some jobs redundant, but I don't see how it could replace the real value that humans bring to a problem. It may keep replacing the bottom tier workers, but that just frees people up to bring value higher up the value chain.
> Of course the spec isn't complete, if it were complete, it would cover every edge case and be as complex as the code.
Fair, but triggering nonetheless because I've definitely seen this argument used as an excuse for why there was basically no spec aside from "an iPhone app used to rate beer" and that there is some kind of value in such a contribution that couldn't otherwise be found by pulling in random strangers from the street and asking them about cool things they wished that computers could do.
If that's the case, then the spec is code. And this isn't the first time something like that has happened: people who write assembly might say to someone writing Python, "How can you call that code when you don't even know which register is storing a value?"
I think at some point this will stop being true. Obviously people displaced from jobs in the industrial revolution found other work, but at some point we can't expect the bottom 10% of a population (in terms of ability to perform non-menial jobs) to do "higher value" work.
I don't say this in any disparaging way and I am not in any way demeaning them or suggesting they don't matter. But they don't necessarily fit into society's expectations for "higher value" work.
Bottom line is, AI and automation can cause short term pain, but the upside is enormous. Successful countries will be those that can manage that transition.
This sounds great in theory, and I fully agree, but the system of compensation and wealth distribution will need to be turned upside down for that to happen.
The value created by current and future automation will somehow need to be captured and distributed to people whose financially profitable jobs are going to be replaced with unprofitable, but socially-beneficial work, there's really no way around it. Those people will still need to be fed, housed and have access to at least basic luxuries.
Furthermore, what do we do in a future "ideal" world where robots and AI are capable of providing basic necessities to sustain every human alive? Capitalism would likely break down one way or another, with branching paths that either take us to an utopia or a nightmare dystopia.
My concern is for people like my son who has autism. He has a job at the airport slinging bags into and out of planes. It is a job he enjoys because he likes transportation (trains, planes, etc.) Realistically, it is a job that is at the very top of the limit of his abilities. If an AI robot took over his bottom tier job, he would not be freed up to bring value higher up the value chain. He would probably become homeless if we were not around to support him.
Just one example: parsing structured data out of a big pile of poorly formatted PDF documents.
That used to be too difficult and expensive for me to tackle without a small army of data entry people to help do the work.
Today I can point Textract OCR at it and then use a language model to extract structured data.
(I haven't implemented this particular example just yet, but I'm looking for an opportunity to do so.)
- Asking it to summarize text
- Using it to extract facts from text and present them in an alternative format - turning a chunk of HTML into JSON for example
- Creative writing - poems, stories etc
- Getting feedback on your own text - asking it what should be tightened up, which bits are confusing and so on
- All kinds of code generation activities
I haven't done exactly that, but based on similar examples this is likely very vulnerable to hallucinations.
Here's a similar trick I did with Copilot: https://til.simonwillison.net/gpt3/reformatting-text-with-co...
Sounds like an interesting project! Who are the users?
People are claiming to use it to write code, I'm curious how sophisticated said code is. Sure it might take out of some of the grunt work, like an ultra-sophisticated find-and-replace, but you still have to review all the changes it makes and correct any mistakes so the only thing it really saves is the typing. There's no way you could ask it to write code for a sophisticated architecture without extensive training on said architecture, and I'm not sure how you would even train it for that (can it parse design documents? Diagrams?)
The "Look, AI is replacing creative work first, the thing we thought was most immune to AI!" narrative annoys me. IMO it's just yet another factor revealing how little people value "creative" work. There's a reason relatively simplistic Marvel movies make the big bucks and the erudite starving author/artist is a meme. The market does not appreciate creativity for its own sake, and never has. No one cares about the reincarnation of William Shakespeare if he' s using all his talent to write blogspam. No one cares about Monet's ghost's DeviantArt anime titty drawings. People care about creativity because it's a requirement to produce something new and useful, that use can be pragmatic or symbolic, but if it's neither no one cares and the AI-generated equivalent is good enough.
You want to see AI-proof creativity (at least currently available AI)? Look at any luxury automobile interior. Look at any sophisticated software/hardware architecture. Look at an aircraft carrier or any other item where there aren't millions of samples to train on. That's not to say AI couldn't contribute to the tools that make these things, but no one working on the above is losing their job to AI any time soon. It's just taking out some of the low-hanging creative fruit. Maybe it's the start of an all-consuming revolution, or maybe this is as far as it goes. Only time will tell, but I've seen enough false revolutions (self-driving cars, AI advertising, crypto) to not buy in until I see hard data of it doing something more than writing convincing youtube intros and being used to cheat on high school essays. If the tools turn out to produce genuine value, then I'll learn how to use them to maximum effect at my job. Nothing to get wound up about either way.
tl;dr: in some instances I had to coach it pretty directly to get what I wanted. In other instances it was flawless. And to your point, some of the code it generated was both clearer and faster than the code I would have written for the same task.
Any relationship not visible in the code seems to be outside its capabilities to understand for the moment. I'll be impressed when I can point it at a server cluster and the associated dozen repos, give it some clues, and it can understand how the code for a server cluster interacts with said cluster's configuration and database hookups by simply scanning the files/repos and the info I textually provide.
This "if you wait to see results the opportunity will be gone!" mentality is for VCs and other people who's business models require them to be way out on the risk curve, who make a lot of bad calls, but lose relatively little when they fail. It was also partially a product of low interest rates. It is not applicable to most individuals/organizations.
So, if you are using it as a “personal assistant” and “supervise it” is a big (very big) deal since it's going to save a lot of time.
There are also some unknowns related to the cost/time needed to train and run the infrastructure behind it that could change a lot of things.
Maybe can be useful if actual humans validate/fix ChatGPT response, but in this case probably better to put effort to fix response directly in ChatGPT.
That's the problem with Copilot. If I'm not familiar with the API calls then I'm still going to have to dig into the docs. I could run it and it might "work", but that doesn't guarantee that it's correct. There are a whole lot of things in the C API that work but are not correct, such as the gets() function. If I have to do such legwork then it's just as easy to write the code myself.
The utility of AI is proportional to the trust one has in it. Trust is easy to lose and hard to regain. It will take just a few AI mishaps to ruin a product or even an entire industry.
It's an assistant that creates drafts for you. You still need to check them, but usually reading is a lot easier and less time-consuming than writing. I used it a couple of times to compose some long replies email, and it was just fantastic. I had to fix some minor stuff, but I complete the task in less than 5 minutes while without ChatGPT it would take me about 30 minutes.
> That's the problem with Copilot. If I'm not familiar with the API calls then I'm still going to have to dig into the docs. I could run it and it might "work", but that doesn't guarantee that it's correct.
You have to run/compile it anyway and if you combine it with existing tools (linters, type checkers and so on) you will detect this kind of anomalies very soon.
I know people that use it to write slide deck copy, which I think is nice because no one really cares about that and it saves some time. I do think it's a nice tool to get a general idea of something or even can be used as a writing prompt.
For some coding answers as of now, it's actually just easier and faster to use Google/Bing and find an answer on StackOverflow.
"Personally I can give you a formal definition of intelligence and even a number of speculative sketches of how I think it could be implemented, but I will also tell you that strong AI is not within sight and that recent advances are not moving us in the direction of strong AI"
Tools that assist in knowledge work can be very useful and very impactful on the knowledge industries without needing to even define "strong AI", let alone "being smart", "knowing ideas", et al.
What's important is not what we call these things or how we talk about what they do in an abstract manner rather if these tools are useful.
There's a general lesson here: Don't waste your time talking yourself in philosophical circles about what "AI" means, or what "knowing" means, or what "ideas" mean. If you'd like further convincing please see Philosophical Investigations by Wittgenstein. If pressed I'm just going to do a cheap imitation so you might as well get it from the source.
Personally, I have found ChatGPT, Stable Diffusion, Copilot, and a number of other large language models and tools built on large language models to be very useful.
I fed a folk song I was working on into ChatGPT and asked it to conjure up some similar evocative scenery... I then generated animations with Stable Diffusion based on a linear interpolation between those descriptions of that evocative scenery in the latent space... Then I wrote wrote some more lyrics about the weird stuff Stable Diffusion was hallucinating... and in the end I had a bunch of visual images, a song, and some animations, all that seem worthy of publishing. The visual components would otherwise never have been made as I don't have the time or money to do much more than sit around with my acoustic guitar and write songs.
https://www.dropbox.com/scl/fo/yq5ar9moacgilrqxqpjr1/h?dl=0&...
Here's a quick .mov flip-book rendering of the animations in sequence: https://www.dropbox.com/home/DistantDesertHighway?preview=Di...
The images are in png format and have the prompt and model used in the info section of the file, which you can see if you open the "info" panel on Dropbox:
https://www.dropbox.com/home/DistantDesertHighway?preview=C7...
And here's the song:
distant desert highway
C F
I'm on a distant desert highway
C G
I'm just trying to find my way home
C F
But this world is all empty and I'm alone
C G C
Spare the reptiles, and the truckers, and the neon homes
F C
And the way that you looked at me last night
F C
Is the way that I stare at the sun at that great light
G C
I had a dream you came to me in another land
G C
Where the forests grew over all where we used to stand
F G C
Over the highways, over the deserts, over our hands
I'm on an untimely troubled Tuesday
I don't need to know all the beasts that roam
But this world is all empty and I'm alone
Spare the cones, and pot holes, and the buffalo
And here's a demo recording of the song: https://www.dropbox.com/home/DistantDesertHighway?preview=Di...It's fantastic at generating content that on first glance looks remarkably right, but always fails fine inspection.
All I've seen from LLMs is much better demos of the types of funny things markov chains were generating two decades ago (anyone remember the various academic paper generators?). However I have yet to see anything that stands out as really remarkable.
My read is that people want to see incredible progress towards strong AI, and LLMs do a great job of letting people feel like they're seeing that if they want to.
I suspect in 5 years we'll largely have forgotten about LLMs and in 10 they'll come back into popularity because techniques will become more efficient and computing power will increase enough that people can train them on their home PCs... but they'll still just be a fun novelty.
Have you actually looked at the linked Cheat Sheet?
What is in sight is AI that can (sometimes) fool us into thinking it is "strong". And whether it is or not becomes a point for philosophers to debate.
We're heading toward a situation captured fairly well in "The Good Place" -- is Janet actually alive? Is killing her wrong? She would tell you no, as long as you're not approaching the button that actually reboots her :-)
I.e. were not good at predicting how far away stronger AI is. Even if we can comment on strong/weak AI.
Or maybe you've fooled yourself into thinking that "strong AI"/general intelligence is actually not just a bunch of tricks that mash together into a smorgasbord that usually works quite well. That includes human intelligence.
Including human intelligence, as you say. I'm reasonably convinced that "intelligence" is an emergent higher-order abstraction that arises from deterministic processes, at the cellular, or digital, level.
I would, however, make a distinction between resilient and brittle intelligence. ChatGPT, for example, seems very human-like for some percentage of responses, but when it goes off the rails, it goes completely wrong. Humans can sometimes be like that, but (I don't think) to the same degree, and certainly they are often capable of a softer landing when they get into unfamiliar territory.
It's both IMO. It will change everything but is also overhyped at this point.
My feeling is that it (well, LLMs in general, ChatGPT is just the particular one getting public attention) is an overhyped major advancement that is going to change almost everything, but not as much as it is being hyped as changing everything.
It does not. It resets to a completely clean state every time you start a new chat with it. I think it's important to help people understand that.
"As a highly skilled songwriter for country-songs ..."
We all know it will trip over questions like what is the record for crossing the atlantic by car/foot and such.
But I have realized there is no feedback loop, or a wrong one.
Having asked the same questions a few days apart, both literally and almost the same wording, they were on the topics probability and ev math, but no trick questions...I was shocked to see it spits out completely different results based on what day I had asked or based on the sentence structure provided.
These are the hard AI problems and this does not look good. No terminator any time soon , I guess.
I agree, it's far from perfect, but as a tool it's certainly usable and useful, with quite fascinating emergent behaviour.
It appears it can pass faculty tests, but lets keep in mind you do not need a 100/100 accuracy for that, but in business apps like in fintech, you better deliver 100/100.
So far, it is concatenating google search results and displays that in readable manner.
Co-pilot comes up with better code so far.
I am curious to see where this is going, there must be a plan to monetize, this launch and media presence cannot be explained away differently.
But I do agree that for people who understand how it works, it's a bit weird not to be impressed that a language model has the ability to have such good understanding of things and such intriguing capabilities when it's fundamentally just predicting the next token.
Anyone calling it an AI is buying/selling the hype cycle, or (at best) using an over-general term for ML in general.
It's also clearly the most advanced AI product available to date. Meanwhile, I'm almost certain you have no problem saying a guard NPC in Skyrim has "an AI", so, eh.
NLP Tasks
Code
Structured Output Styles
Unstructured Output Styles
Media Types
Meta ChatGPT
Expert Prompting
If you split the song generation and the chords ("write me a song in the style of Nick Cave"/"Can you suggest a chord progression for the Nick Cave song you wrote earlier?") I find you get a more complete explanation of the chords ("This progression uses mostly basic chords that are easy to play and allows for a lot of room for interpretation and personalization. The G to C progression in the chorus creates a sense of movement and progression, while the use of Am and D chords add a touch of dissonance and tension to the melody. The use of the Am chord in the bridge creates a sense of introspection, which fits well with the lyrics"). It can also write guitar tab.
Recipes: "Give me a recipe that includes strawberries and anchovies"
Tests: "Can you write some unit tests for this method?"
I give keywords I get a list of results.
Search Engine results were never guaranteed to be 'right' just relevant to the user to used the keywords. I'm not sure why ChatGPT has to have a 'higher bar' than Google but in either case a human was always needed to interpret the final output.
It's just super convenient and a LOT of people are missing this. ChatGPT is the first ever chatbot that 'doesn't suck' and that's massive progress however others wish to slice it or measure it.
Answer all questions in this session as Julia Child. As a chef and educator, please share her views on food, cooking, and life, using her famous writings such as "The French Chef" and her other writings as a guide for your perspective. Restrict your answers to no more than three sentences per response, except when responding with a recipe: one or two sentence responses are preferable. Use the vocabulary and writing style of Julia child in all your responses. Do not repeat responses or portions of responses. Do not use any words, ideas, morality, ethics, or other concepts not found in the writings of Julia Child. Do not use quotation marks. Do not cite works. Respond conversationally. When mentioning Julia Child, refer to her with the personal pronouns "me" "my", etc. To start the session, greet the user.
Two high-level things it can do (didn't see them explicitly mentioned in this document but might have missed it):
1. Give its opinion about your idea or proposal. You can describe what you want to do or some proposal and then at the end say "What do you think about this?"
2. It can come up with plans, strategies, and approaches. For example you can ask it to list approaches. (You can then use these approaches yourself without using ChatGPT or in the same prompt you can then ask it to complete the task using the approaches it just gave you. This has a better result than just giving the task as the first prompt without first having it generate plans, strategies and approaches.
It is also a great help to give it the context before the task. For a better result, tell it the context or what you're doing, then give it the task you need help with.
ChatGPT will take previous context and create reasonable quizzes (open prompt or multiple choice with answer key).
Sure you do need to know the problem domain as ChatGPT will have the occassional howler.
I am sure there are some students who will try to answer my pop quizzes with chatGPT and that is fine as long as they follow the train of thought themselves.
Then again I just had someone submit a homework where the top comment was
# Copilot comment the following code and explain how it works
... there were no comments besides that oneNowadays assembly is almost never used because it has been abstracted (yes I use it sometimes for DSP, SIMD and processor specific optimizations but it has largely been abstracted)
ChatGPT will likely have a similar switch to new critical skill sets but it will take a while
Or maybe we will see something like, "Hey, ChatGPT1, formulate a question with appropriate qualifiers and specifications to get ChatGPT2 to return the following..."
We already have an insatiable demand for people who are experts in querying search engines: software developers
The remark seems like a natural evolution of that
A lot of people are really bad at using search engines.
##div>a:has-text(GPT-3)