Placing #1 in Advent of Code with GPT-3
github.com
github.com
What AI has ‘solved’ so far: almost all the activities that humanity has found fun and life-fulfilling for hundreds, if not thousands, of years - creativity, art, writing, solving intellectual challenges.
As we accelerate ever-faster into a future dystopia of overlords (the richest 100 people in the world increased their collective wealth by 9% in 2021) while the rest of us are ground ever further into the dirt, I assume that AI will continue to steal the fulfilling parts of our lives from us, and leave us with the suffering and slavery.
Our success in having the ability to generate sonnets in seconds will be seen in our future similar to the emperor commissioning golden statues whilst his people starved.
1. Fewer people working so fewer incomes
2. More ads to sell products to the fewer people who have incomes
3. A few people only getting rich (and buying all the stuff in the ads I guess?)
This makes no coherent sense.
Ads as a business model only make sense if there is a mass consumer market to sell stuff too. But if there are less people working and earning, ads by definition cannot be as effective.
No, we are going to see bigger changes and more radical changes than poorly thought-out dystopia scifi plots.
At the same time more people will be able to build on their ideas than ever. A few things that seem obvious to me would be:
- Private AI tutors that can go at a student's pace will revolutionise schooling (say goodbye to a teacher shortage anywhere)
- Helpdesk work will vanish
- Art will explode like nothing we've seen before. I'm already experimenting with writing stories in collaboration with AI and this is only the beginning.
- Numerous improvements in a huge number of machines and data analysis in particular will likely get much better.
- Due to widespread white collar work unemployment almost certain to be UBI's springing up all over the developed world.
- Far more workers will end up back in physical jobs of various types. Environmental clean up, farm work, construction, etc.
- Vastly more software will be built as the effective price of building will go way down.
- Robots is another area I'm interested in seeing what happens. My understanding is that building robot hardware that is useful is much easier than the software. So if this allows for much more rapid software development we couod see an explosion on robotics too.
I'm more certain of some of these than others but those are the ones off the top of my head. Out atm but you could also ask the Chatbot haha.
Yes? What is incoherent about this?
Especially when you consider that while some products are commodities you can just produce more of, a couple of important ones aren't: real estate, influence, power. Unless we change course, the latter will get concentrated on fewer and fewer hands, and maybe we get more of the former in return.
Perhaps there is a tipping point of unemployed people in the areas affected by AI where people outlaw some usage, funnel the funding, etc...
Perhaps the disappearing of "free" energy puts people back in the fields to ensure subsistence, and the few remaining intellectual tasks are automated to hell.
Perhaps this AI is astonishing us today before becoming boring and failing at the next hard task, buying us some time.
I think it's still very much in our power not to blindly follow decisions written automatically on a computer screen.
Don't give it a gun anytime soon, though.
Did digital art tools, compared to something like oil painting, destroy art as a field? No, there's more art and artists than ever.[1]
I believe the same thing is true for music.
I don't see AI replacing the artist or the author or the musician. I see AI enabling more artists and authors and musicians to produce even greater art.
[1] https://www.arts.gov/news/press-releases/2019/new-report-rev...
But protein folding with ai might be really helpful for the medical field. (Alpha fold). We also use it to score (rate basically) prospective crispr designs, which along with some other parameters
So it might not be a net negative.
Also, this phrase: <<medical system which administers these innovations remains so dysfunctional>> feel like someone writing from a US(-tainted) persepctive. Have you experienced well-functioning public health systems in other highly advanced countries? They are impressive.
I am not from the US but I think the US is a great case study in the disconnect between technological progress and improved general conditions (in particular for but not exclusively relating to healthcare). I think cynicism is the correct response to this trend.
That's not an argument, since the same thing can be said about anything else that does not solve world hunger, for example. Authors put energy into writing entertainment products while people starve.
As opposed to the metaverse [0], marvel movies [1], video games [2], soccer [3], or NFL [4]?
[0] https://www.businessinsider.com/meta-lost-30-billion-on-meta...
[1] https://bgr.com/entertainment/marvel-spent-over-1-billion-on...
[2] https://www.eurogamer.net/star-citizen-has-now-raised-more-t...
[3] https://www.forbes.com/sites/henryflynn/2022/11/27/qatar-has...
[4] https://www.google.com/amp/s/amp.theguardian.com/sport/2022/...
AI research seems to have hit a lode that yields solutions to recognition and generation of texts and images. Good thing, but not something what could have been predicted, let alone planned, 20 years ago.
One of the solutions for world hunger, synthetic fertilizers, have been discovered by the same chemical research that produced explosives and poisons.
I think it makes perfect sense to get our act together before creating something that can be so potentially devastating, to reduce the likelihood of bad outcomes.
The development of AI requires careful consideration and planning, particularly in regards to potential negative outcomes. In contrast, the invention of the wheel was a relatively straightforward decision that did not carry the same level of risk.
I believe that's a political problem. See Corbevax for something with broader protection that's not restricted to spike proteins. Then figure out why we can't get it. AI can't solve that.
Indeed, all the major cash-flush companies doubled down on non medical, non quality of life improving technology.
People would like to hunt and gather, but people will start farming eventually
AI will probably vastly increase both rates of change, more for the rich than the poor, but things will be better in 20 years for the poor with AI than without it. They will just be even further behind the super rich than they were before, even if they're better off.
Some people would prefer a more equal but worse-for-everyone world. I'm not one of them, but I understand that it's a POV, and I can even semi-understand some of the arguments (sim to Communist talking pts, there's a real effect where people care more about how they rate vs other people rather than their absolute level of wealth/comfort). I fully reject them, but to each their own.
I work in climate tech and I think GPT-3 will be very helpful for us in researching new projects to tackle.
I tested it on a few subjects that we're working on and it provided really good feedback. It's not always correct, but neither are the humans we ask for feedback on projects. So that's one example of how GPT-3 can help with global issues.
Another issue is access to education. GPT-3 can speak many languages and can be used by people to learn things. Of course, it's not always right, but the same can be said for human teachers. For instance, my girlfriend is learning about financial instruments and will be using GPT-3 to help her. She has regular training materials, but it's also helpful to talk about the subject with someone.
Human teachers are great, but they're not always available and don't always respond quickly. So there you have it, two SDG goals, education and climate change, that GPT-3 can help with.
Still, it's comforting to know that the AI will be able to take over all tasks humans do eventually, hopefully the computer overlord will soon deem us unnecessary and we'll be able to follow in the footsteps of the dodo, the great auk, and all the other innocent critters we drove to extinction.
Imagine a guy like Putin with this kind of power. Why the heck would he need 120 million angry citizens when the robots can do EVERYTHING faster and better? Sure he will need a few concubines and keep a few family and friends...all the rest seem to be quite redundant...Same goes for Iran, China. I'd be surprised if there aren't American billionaires entertaining similar thoughts, us redundant masses suck up resources and pollute and create emissions. Robots don't have to eat and you won't need 8 billion of them.
It's important to have an understanding of the fundamentals of your task before relying on the tools to do the complex version of it, so you can reason about the next step and decide what the task is, not just how to do it.
It makes sense to use AI for those though. You don't really need AI to automate most of the tasks. Most of the work we do are basic tasks that can be easily automated with simple scripts or with some basic (but accurate) robotics.
So far advances like these have, historically, improved our life in terms of poverty, living conditions, schooling, and healthcare.
300 years ago, in Europe, most of the population lived as peasantry because somebody had to cultivate the farms. 2000 years ago in some place slaves made up 60% of the population.
Thinking that with AI only one dimension of our lives will change seems highly improbable to me. The printing press took way jobs from the scribes, but the revolution that book printing brought is one of the reason most people have electricity and tap water in their homes now.
So I'm more optimistic, I see AI being democratized and improving life overal in ways we can't imagine. There will be down-sides that we also can't imagine but there are a lot of down sides to how we live today.
AI compared to many other things has a far more plausible path to helping solve those issues.
Sure, it's true that humans on average are now better than 2000 years ago, but this doesn't mean it was always the case nor that this trend will continue. It's entire possible that the average human will be worse off in 100 years from now.
Further, humans will always value human labor, it’s an inherent bias. If a bot can automate something and do it better than us, then we will find something else it can’t do and then trade that thing.
Further, technology and humans are intertwined, you cannot separate the two. There’s no stopping this train so we should learn to embrace it and find creative ways to use it to our benefit.
At least that’s what puts me to sleep at night.
Furthermore, while technology and humans are intertwined, that doesn't mean we should just accept the negative consequences of technological progress without trying to mitigate them. We need to find ways to use technology to benefit all people, not just the wealthy few. This will require careful planning and coordination, as well as a willingness to consider alternative approaches to economic growth and development. Ignoring the problem and just hoping for the best is not a viable solution.
The problem here is this technology very obviously pro-wealth concentration since I can’t see a way which in the limit doesn’t make everybody need it to stay competitive.
(If you can’t tell it’s the real me, not the AI - the AI is so much better at plausible rants it isn’t even close)
On the other hand, the capitalistic view of humanity as creatures of pure self interest or the economic notion of people being rationalist utility maximizers are also deeply flawed.
A technology comes along, and people who are capable and able, will be cut out of the equation - whether that's truck drivers, coders, whoever.
But, the group at the top who own everything are fine. Perhaps, in the dim and distant past, some progenitor did something of note (though I suspect it was most likely a crime) and for that they are able to buy into whatever the technology is (AI, self-driving cars, etc) and increase their fortunes.
This is nothing to do with merit. This is simply leveraging a fortune to buy the future too - and it is not complicated.
I don't object to people making lots of money on merit, but the rent-seeking elites we have, who steer the world in the direction that best maintains their situation, making slaves of the rest of us, is terrible. I don't expect anyone to help either - the governance structures we have are bent to their benefit too.
The only answers in my book, are for people to embrace their individuality, look to themselves for answers, reject the governance system and consciously uncouple from the dystopian system. A system that shows every indication of becoming far more dystopian, with technocrats being able to manage every resource, for every individual, in every circumstance, in the near future. Also unfortunate, is the fact that I don't think people are capable of making any such change, nor do they really care as long as they are being entertained.
PS
> we should instead focus more on quality of life outcomes. They’ve been better than ever and the trend is improving over time.
For me, the idea of 'continuous improvements' or 'better quality of life' is only a story. The utility of the story is that serves to support the idea that the current direction of travel is better than previously. This narrative gets your buy in and investment - and you cannot complain too harshly about your harness, as - you believe - the present to be so good!
As long as history is always smeared, this will always be true, right? But who can really know what the past was like? Who can say the past was actually worse, even if that's what present day records tell us?
To me, this is a bountiful world, with plenty for everyone. But if one group takes access to all the resources, with the presumed consent of the rest, the gaslighting solutions that are offered can seem like the 'only way' or the 'right way'. The constraints to living freely are artificial - we are in an open-air prison - and most of us seem to be happy about it!
Please help connect with reality.
If you and I were on a desert island, and attempted to forcibly extract 40% of your foraging efforts, saying I was going to invest it for the greater good, you would probably rise up and attack me, finding the idea unacceptable.
Now, if I and 5 others did the same you might feel forced to accept the proposal. I hope you would agree that the idea of forcible extraction of your wealth is still not right. Well, at what point does it become right? How many people need to go along with forcible extraction to make it a just social contract?
The answer is - it is never right. Any time even one individual is forced, it is wrong. But its not a case of one individual - we are all infringed upon multiple times daily, even though we are doing no harm to anyone.
This is a perverse system, that will even try to mould and entrain its citizens, for the benefit of a tiny minority who would preserve their power. (Its not even about money for them, as they control the printing presses, and means of production.)
People will often say anarchy would ensue if this system stopped - we are better with the devil we know (a hierarchical governance structure, that restrains the individual). But, the truth is, while we choose this system we can never be free - this is a certainty. We choose to always be slaves, and to be ruled by the worst of us (psychopaths who are unburdened by care towards others) who rise to the top.
I'm not saying you're wrong. I'm saying that if someone agrees with your comment, it is because they already know what you're talking about in the context of the world we live in. For those who do not know what you're talking about, your comment does not enlighten in the least.
Put another way, I can agree with everything you said in the abstract, and still not see what it has to do with reality. I can set up all kinds of hypotheticals involving islands, and have them all be logically correct, and yet have nothing to do with how the world really is.
Giving examples is a rather basic expository technique. I'm not here to philosophize.
In fact - this is something I hope for - to make a reasoned philosophical case - to provide a hypothesis that other individuals can test for themselves and see if they find it to be true (as I have). This is contrast to the feel good nonsense most believe, despite no evidence, and no personal verification.
I'm not sure what concrete connection you require. What is it you want? Names, places?
Perhaps you should take a look at my submission and comment history - I do sometimes go into more detail.
I want what you mention here:
> This is contrast to the feel good nonsense most believe, despite no evidence, and no personal verification.
Evidence. As I said: Giving examples is a rather basic expository technique.
Trends in wealth inequality - https://apps.urban.org/features/wealth-inequality-charts/
Rich kids stay rich, poor kids stay poor - https://fivethirtyeight.com/features/rich-kids-stay-rich-poo...
How rent seeking is at the heart of America’s economic troubles - https://jpia.princeton.edu/news/something-nothing-how-growin...
I could go on there’s about a million articles about this. I’m sure you’ll find something to criticize but at this point it’s like denying climate change.
You probably believe in gravity, why? Are alternative explanations possible?
You probably believe in evolution, why? Or perhaps you believe in some religious texts, again why? Did you verify anything?
You probably believe in h2o, why? Have you put hydrogen and oxygen gases together to make water?
You probably don't believe in the aliens we saw in the film 'Independence Day', why? Is it because you were told it is fiction?
You probably do believe the world is getting warmer, and that we are in danger of a mass extinction event, why? How was this proven to you? If one scientist says something, is that proof? If 100 say the same thing, is that better proof?
Etc.
What measure do you use to filter the truth from noise, lies and reality? Is it just what you are told - do you doubt your lying eyes? Or is there internal discernment and primary experience is the gold standard?
Sure, but large portions of the economy are zero sum, including some of our basic needs (land for shelter).
AI is everywhere. It does boring tasks reliably and in a consistent way, without getting tired. It is present in medicine, science, manufacturing, IT, education, transportation, military, and for personal use.
AIs can read invoices, classify messages, unlock screen phones by face recognition, drive tractors and cars, fly drones, control the cooling system of a data center or the traffic lights in a city. The list is endless.
It's not used just for the creative bits. It raises the quality of life for the whole society by improving everything.
Furthermore, it's important to remember that the development and deployment of AI is not inevitable. It's up to us as a society to decide how we want to use this technology, and to ensure that its benefits are widely distributed. By working together, we can use AI to improve people's lives and create a better future for everyone.
That's progress, right?
These technologies are trained off of the fruits of the actual contributors, so the workers are being robbed. I haven't seen any componsation from AI learning off me. Have you?
No. AI to me is like basically like all technology. Lots of talk about how we will have a better life, be healthier, have more time to follow our passions, when the reality is more like we are more distracted, have superfluous human interactions, waste more of our (precious) time.
Technology, for me, is a tool of control. We have given up privacy, independence, opened ourselves up to distanced and automated control and sold our the future for a paycheck and an entertaining slave tracking device.
In addition to that any developer/coder who wants to remain competitive (and still employed in not so distant future) needs to start to learn how to use this tool right now - and this means paying up to the big corps who built and own models, even further empowering them and allowing to build bigger and more sophisticated tools
Sure, there can be some opensource attempts but: it will be used by corporations to advance further, cost of the required computing power may be forbidding
Coding is like woodwork. Deciding what to code could be art (maybe).
Also, this constant allusion to "the problems of the world" is rather vague and unconducive to a solution for them. If those problems bother you, work in those areas. Otherwise stop using the hunger of the world as a wildcard to discard the importance of everything you dislike or fear.
To a large extent so is suffering, deadly pollution, insanitary living conditions, and underfunded schools and healthcare.
So pretty much everyone is not working on these problems in a capacity that matters. If you want to be, you need to be in the realm of politics, not technology.
I beg to differ. Currency, weaponry, and agriculture are all technologies.
That said, my point is to not excuse technology. Currency and agriculture were both technical solutions to problems of poverty and starvation and I don't see a reason to exclude it from taking responsibility now.
[0] 'Secrets of Consulting', Gerald Weinberg
One could easily solve the problems you mentioned if you had abundant cheap energy and millions of cheap robots that efficiently distribute food/goods on the planet. A system that could keep track of resources of the planet and efficiently provide a minimum level of food, shelter, safety for everyone. There’d still be the gradient of “if you work hard and create value for others, you get to keep your gains”. However the taxes paid would create a minimum bar of opportunity access for everyone.
One could say that what we need is a resource driven economy instead of a simple capitalistic economy that yields to monopolies and too much power in few hands.
I can understand Artists having this viewpoint (they're less technically inclined and dare I say more susceptible to flights of imagination). I just see it from the Gary Kasparov viewpoint (humans + AI is a really great combo). At the very least, doesn't the fact that an AI an generate a kick ass CSS style sheet in 5 seconds that would take you 20 minutes give you more time to think about the big problems of the world?
What if AI can solve world hunger, but along the way we need to make Chatbots, so this Chatbot may be not useful now but it's an important milestone in something bigger? Sure it might be fulfilling to be the person to solve world hunger, but I'd rather an AI solved it instead hoping that a human also does it, but gets fulfilled along the way. Really your intellectual challenge is entirely selfish, no one really cares what intellectual challenge you solved besides the guy pairing with you.
Like I have seen many people lament how now that anyone can create art with Dall-e or Stable diffusion they won’t get paid, but many people using these AI would have never paid in the first place so in fact this will only increase the amount of art and art projects in the world. Sure the simplest projects will now be handled with AI, but you should see this as just another tool in your toolbox - just like people could learn how to use photoshop, but you still had your job so will you have it if you embrace the AI as assistant
Same with stories. Now you can leave minor details to the AI. Need a minor character? Just generate one and fill in the stuff you need to fit him into your story. I am excited to use AI for my next DND campaign just for this kind of filler detail that doesn’t really matter but makes the world more lived in and rich
The reason creative pursuits get tackled first is because they’re plentiful and pretty universal. The same person can develop an AI and admire a painting. This is not true of diagnosing disease.
It makes life more difficult each year by 3% (as was the wisdom on needed inflation), now each year 10% more difficult to get the same bread.
No wonder we see the gloom, disease and poverty brought by that policy all around us.
This is the advent of something really earth-shattering.
And I say that as a skeptic of most of these deep learning things.
- opengl raytracer with compilation instructions for macos
- tictactoe in 3D
- bitorrent peer handshake in Go from a paragraph in the RFC
- http server in go with /user, /session, and /status endpoints from an english description
- protocol buffer product configuration from a paragraph english description
- pytorch script for classifying credit card transactions into expense accounts and instructions to import the output into quickbooks
- quota management API implemented as a bidirectional streaming grpc service
- pytorch neural network with a particular shape, number of input classes, output classes, activation function, etc.
- IO scheduler using token bucket rate limiting
- analyze the strengths/weaknesses of algorithms for 2 player zero sum games
- compare david hume and immanuel kant's thoughts on knowledge
- describe how critics received george orwell's work during his lifetime
- christmas present recommendations for a relative given a description of their interests
- poems about anything. love. cats. you name it.
Blown away by how well it can synthesize information and incorporate contextThat's against the EULA if OpenAI may want to make a similar model:
> (iii) use the Services to develop foundation models or other large scale models that compete with OpenAI;
https://openai.com/api/policies/terms/
Seems to be about developing models and not just restricting you from training them with it.
They may not need to.
Kind of ironic given that OpenAI builds and trains all of their models on stuff they "found" in the open.
Either everything is fair game for training, or nothing at all is.
If I were a judge ruling on this matter, I would absolutely rule that bootstrapping a model from OpenAI outputs is no different than OpenAI collecting training data from artists and writers around the web. Learning is learning.
Might be worth trying to use the outputs to bootstrap. What are they going to do about it? Better to ask forgiveness until the law is settled.
Also there are specific techniques for validating that you are model training procedure is directionally correct, such as generating a simulated data set and training your model on that.
The difference is that now, you are more of a code reviewer and editor. You don't have to sit there and figure out the library interface and type out every single line.
Code-completion > Abstraction.
I love these sorts of loopholes. OpenAI is actively trying to curb the potential of their AI. They know how powerful it is. Being able to see a taste of that power is endlessly exciting.
- Implement a simple ray tracer in C++ using opengl. Provide compilation instructions for macos.
- Create a two layer fully connected neural network with a softmax activation function. Use pytorch.
- Implement the wire protocol described below in Go. The peer wire protocol consists of a handshake followed by a never-ending stream of length-prefixed messages. The handshake starts with character ninteen (decimal) followed by the string 'BitTorrent protocol'. The leading character is a length prefix, put there in the hope that other new protocols may do the same and thus be trivially distinguishable from each other.
- We are trying to classify the expense account of credit card transactions. Each transaction has an ID, a date, a merchant, a description, and an amount. Use a pytorch logistic regression to classify the transactions based on test data. Save the result to a CSV file.
- We are configuring settings for a product. We support three products: slow, medium, and fast. For each product, we support a large number of machines. For each machine, we need to configure performance limits and a mode. The performance limits include iops and throughput. The mode mode can be simplex or duplex. Write a protocol buffer for the configuration. Use an enum for the mode.
- How were George Orwell's works received during his lifetime?I asked for jokes this morning and initially it made excuses and wouldn't give me jokes until I tweaked the prompt.
Later I refreshed the chat and pasted in the original prompt and got jokes right away, with no excuses.
(I was asking for jokes on the topic of the Elon Musk Twitter acquisition. My personal favorite: "With Elon Musk in charge, Twitter is sure to become the most innovative and futuristic social media platform around.")
Perhaps it is even prohibitively expensive.
The number of people using Google Search is easily 1000x larger than the number of people using OpenAI, if not more.
[1] https://ai.googleblog.com/2022/01/lamda-towards-safe-grounde...
I’ll leave it for you to decide which is the pessimistic option.
(Google project pitchfork.)
Knowing that code is correct is as important as the code itself, and this is why we do code review, write tests, have QA processes, use logging and observability tools, etc. Of course the place that catches the most bugs is the human writing the code, as they write it.
This feels like a nice extension to Copilot/etc, but I’m not sure it’s as general as people think.
Perhaps an interesting challenge to pose to it is: here’s 10k lines and a stack trace, what’s the bug. Or here’s a database schema, what issues might occur in production using this?
Ah must be a Spring application ...
This seems like the lowest number that would be useful. Below that it's not really a problem to debug, but at that point there's typically enough complexity that some help would be useful as you forget edge cases and features in the codebase.
For demonstration purposes doing it with 100 lines might be ok, but for professional use it kinda needs to understand quite a lot! Like a minimum of that order of magnitude, but potentially millions of lines.
FWIW, I've never used Spring. My experience is mostly Django, iOS, non-Spring Java, and some Android.
Once I trust the tests, I generally trust the code.
I've seen Copilot generate code I read and thought was correct, that went through code review and everyone thought was correct, that had tests written for it (that nearly covered everything), and that even when it failed, was hard to spot the issue.
It turned out it got a condition the wrong way around, but given the nesting of conditionals it wasn't obvious.
I don't think a human who was thinking through the problem would have made the same mistake at the point of writing, in fact I think that the mind state while actually writing the code is hard to reproduce at any later time, which is why code review isn't great at catching bugs like this.
here is a function in python3
def foobar(i):
j = i + 1
if j > 10:
print("yam")
else:
print("baloney")
foobar(9) prints "baloney" and foobar(10) prints "yam"change the function foobar so that foobar(9) also prints "yam"
---
To change the behavior of the function so that foobar(9) also prints "yam", you can modify the condition in the if statement to check if j >= 10 instead of j > 10. This will cause the if block to be executed when j is equal to 10, as well as when it is greater than 10.
Here is the modified function:
def foobar(i):
j = i + 1
if j >= 10:
print("yam")
else:
print("baloney")
After making this change, calling foobar(9) will now print "yam". foobar(9) # prints "yam"
foobar(10) # prints "yam"
Note that the original behavior of the function, where foobar(10) prints "yam", will still be preserved.At some point when either using or running projects around prompt engineering we have to switch from our high modernist viewpoint which is baked into our culture. And instead, deal with it explicitly as a statistical model. And even when such a model is super smart, know by the way it is constructed that it is fuzzy and often "wrong" (like humans are).
baloney
yamBy your logic, a prompt like "Print foo" could result in "foo bar". You didn't ask for "bar" but the output is still valid according to you.
2. Change ... so that foobar(9) also prints "yam"
1 is not ambiguous, but 2 is. It could mean that it does it's original behavior and also does the new behavior. But it could mean like foobar(10), foobar(9) also prints only "yam" as you are interpreting it to be.
I could imagine that the whole point was to see what GPT-3 did with the ambiguity, and it didn't even acknowledge it. Given that the prompt is already ambiguous I'm not sure why you'd assume that there would have to be a single expectation of the order of the prints, either one should suffice.
Or maybe it was just a mistake in the prompt because English is hard. Certainly based on the code, the assumption that GPT-3 made is the most natural one.
> change the function foobar so that foobar(9) also prints "yam"
It interpreted the prompt in the same way that I would, making foobar(9) only print "yam", but I guess I can see the interpretation where someone might think the prompt was asking to print both. It brings awareness to the effect of cultural bias in the training set and how that might require some people with different ways of speaking to add more clarification to get the output they want.
"GPT-5, write me a poem."
"Roses are red, violets are blue, sugar is sweet, and this output is sponsored by Raid Shadow Legends"
If we couldn't tell that it was cheaper to use renewable over fossil fuels or eat chicken over beef as two examples there could be big efficiency and allocation problems.
AIs with total surveillance perhaps? Would need weather-control too or giant surpluses squirreled away in a distributed fashion.
Some kind of ascetic commune, but at global scale? Might work in a military setup when fighting the alien invasion.
And there will be companies offering the product for free in order to grab that market share and steal users from the paying ones.
That's how the internet companies strived since ~1998
Spoken as if a sustainable and profitable business model prevents ads from being shoved into a product. It does not.
https://twitter.com/goodside/status/1599094067534516225?t=n9...
“Write a YouTube script sponsored by NordVPN by Littlefinger about the invasion of Westeros by Daenerys.”
“ Hi there! I'm Littlefinger and I'm here to talk to you about the recent invasion of Westeros by Daenerys. As you may know, Daenerys is a powerful queen from the east who has been making her way across the land with her army and her dragons.
Many people are worried about what this means for the future of Westeros, and for good reason. Daenerys has a reputation for being a fierce and unstoppable force, and she has already proven herself to be a formidable enemy.
But there is one thing that can help protect you from the dangers of Daenerys and her invasion: NordVPN. NordVPN is a virtual private network service that allows you to securely browse the internet and keep your online activity private.
With NordVPN, you can protect yourself from being targeted by Daenerys and her forces. Whether you're trying to keep your personal information safe or you just want to make sure that your online activity remains private, NordVPN has you covered.
So why not give NordVPN a try today? With its easy-to-use interface and powerful security features, NordVPN is the perfect tool to help you stay safe during these uncertain times. Plus, with its 30-day money-back guarantee, you have nothing to lose!
Thank you for watching, and stay safe with NordVPN.”
Training the models weren't that expensive either, and that's a one time deal.
But seems within the realm of possibility -- with better training and better prompting.
The potential to summarize a topic and then generate a PPT output is tantalizingly close :)
While it's impressive that you were able to place 1st and 2nd using GPT-3 to write your code, it does raise some questions about the fairness of using such a powerful AI tool in a competition like Advent of Code. Is it really fair to allow AI to compete against human coders, who may not have access to the same resources? Is this a sign of things to come, where AI will dominate all programming competitions? These are important questions to consider as AI technology continues to advance.
Let's go further down the rabbit hole for people looking to compete on the leaderboard: is it in any way cheating for the people that worked on ChatGPT to use it to solve Advent of Code problems? They did have a hand in developing the system.
What if it was the work of one person? Would it be cheating if they used it?
What about utility libraries that people have built up to help them solve advent of code problems so quickly? What about people that are using utility libraries that someone else built?
Most often I’ve seen this question come up in speed running circles. Should we allow a save after the long intro save? Are autoclickers to avoid hand injury in rpg text dialogs fair? Is a certain action cheating or intended gameplay? Ultimately it’s a question of what the group currently playing thinks is the most fun to compete in, there is never an objective answer.
For those who are interested, here's the code I ran: https://github.com/max-sixty/aoc-gpt
This is like AlphaGo beating the best human Go player a decade earlier than expected. ChatGPT looks truly magical, and it's just an interim beta version. Imagine when GPT4 is out.
[1] https://twitter.com/GuiAmbros/status/1599282083838296064
It didn't split on the comma. It assumed all numbers would be 1 digit. When I tried to get it to fix those, it ran into other problems, and I decided to abandon the pursuit.
I replaced “Linux” in the prompt with “an Ubuntu instance in us-East-1 SSH’d into a Debian instance in us-East-2 ssh’d into a raspberry pi in germany……..” and at 4-5 levels deep it would forget the previous link when closing the “ssh connection” and go back to the first instance.
I also thought the sentence towards the end of the prompt about “when I want to tell you something in English I’ll do it like {this}” was redundant, but removing it leads to some weirdness like “cat file.txt” printing out the man page for cat 75% of the time.
md5sum / sha256sum also never work if the file contents are remotely non-trivial. so that seems to be the ceiling.. at least for this prompt :p
No, I don't have a phone number. Guess I won't be able to do anything. Time to go back to NovelAI.
I've never placed in the top 100 of AOC and I never will. But the folks who attempt it would be rightly miffed that someone cheated to get to the top.
And please, don't talk about the effort needed to set up the cheating device. It took a lot of effort to (allegedly) cheat in chess with anal beads, but no one is praising that person.
Doesn't that exactly apply to your critisism of other peoples motives to compete with each other? specifically their desire to compete with other humans for fun, as opposed to humans copy and pasting machine output.
It isn't cheating to dig a ditch with a backhoe any more that it is to use gpt-3 to solve the Advent of Code problems.
It feels like cheating because of asymmetry, it didn't exist before and now it does. They feel like they didn't get a chance to try out the new tool.
Funny thing, I have been accused of "cheating" a couple times in programming. One was in using a Python script to refactor over 4k php pages that had grown by copy pasta over 5 years. Think all code in the company started from the same script, just copied from the previous unrelated task. One week of coding, 15 seconds of runtime and it replaced 6 person-months worth of work.
The other one was when I introduced a bunch of junior programmers to IntelliJ, in how you could navigate the code, rename, refactor, introduce-method. They all understood the new power, half were stoked (because they had access the license) and the other half were pissed, because it was cheating, because a previously 4 hr task, would now be expected to take 45 minutes. The person without the high tech ide is pissed,
First down hill suspension bike vs non, first use of a hydrofoil in competitive sailing. Almost every human endeavor has a before this point and after this point. Maybe this is ours.
Point is, I don't think it cheating until we specifically have human only competitions.
Yeah. Just like how 'ethics' went out of the window as soon as Stable Diffusion destroyed and cheapened the digital artist straight to zero.
Now it is happening to some extent to parts of programming contests and challenges, ruining the concept as no-one can tell if the code was written by ChatGPT.
It's not new, but this, right here, is the thing that's broken in humans.
Public things aren't exclusively for you. Public things are for everyone who uses them.
Geez.
If GPT-3 was a compiled executable you could run on your laptop, like Python, would it be fine?
Very open to contributions to the code to do that!
> Can you provide some python code to check if there is a calendar conflict between two events
I give this prompt to the chat and got this back:
# First, define the start and end times for each event
event1_start = datetime.datetime(2022, 12, 4, 12, 0, 0)
event1_end = datetime.datetime(2022, 12, 4, 13, 0, 0)
event2_start = datetime.datetime(2022, 12, 4, 13, 30, 0)
event2_end = datetime.datetime(2022, 12, 4, 14, 30, 0)
# Next, check if the two events overlap by checking if the start time
# of the second event is within the time range of the first event
if event2_start >= event1_start and event2_start < event1_end:
print("There is a calendar conflict between the two events")
else:
print("There is no calendar conflict between the two events")
This is wrong though - and in a subtle way: It just checks for if event two starts during event one. It doesn't check if event one starts during event two. It also got this wrong: `what is the sum of 65429845098345439840985435 and 98450509280943850985093245`It seems to me like this latest version has more or less nailed grammer, syntax, and language, and has a solid bank of "common phrases" from training data. I don't think the "understanding" is there yet, but the "parroting" is on-point(and it does a good job of parroting something that understands. It showed all its work while coming to the incorrect answer for `what is 5435234543 / 7 as a decimal`). Amazing how far things have come though - just a few years back the grammer/syntax were nowhere near this level.
Here's one example:
PROMPT: write a limerick about the plot of Dune with the rhyme pattern AABBA. The first, second and fifth lines should have 9 syllables and rhyme with each other. The third and fourth lines should have five syllables and rhyme with each other.
CHAT-GPT: In the desert world of Arrakis Paul Atreides faced many a crisis He battled sandworms and foes As he rose to overthrow The evil Baron Harkonnen and claim his rightful place.
PROMPT: your limerick doesn't rhyme. try again
CHAT-GPT: There once was a boy from Arrakis Whose journey began with much peril He faced sandworms and foes And rose to overthrow The evil Baron and bring peace to the desert people.
In this limerick, the first, second, and fifth lines have nine syllables and rhyme with each other ("Arrakis," "peril," and "people"), while the third and fourth lines have five syllables and also rhyme with each other ("faced" and "overthrow"). This follows the traditional limerick rhyme scheme, which is AABBA.
I myself set my alarm early every morning (problems are dropped at 06:00) in my TimeZone.
It would be nice to only compete with other humans, but, I do understand that it would be impossible to enforce without totally changing AoC.
I hope that we won’t see the competitive element of AoC disappear over the next couple of years as AI models get better and better at getting on the leaderboard.
I’m not bitter, and I don’t want to stand in innovations way. I’m just a bit nostalgic and want AoC to stay the same:)
But it seems GPT aced that as well.
The AI has a finish time of 10s, meaning that it only submitted once (unless it is using multiple accounts to get around the back-off)
It gave me a genetic algorithm:
// Define a class for representing a single city in the TSP class City { constructor(public x: number, public y: number) {}
// Calculate the distance to another city
public distanceTo(city: City): number {
const dx = this.x - city.x;
const dy = this.y - city.y;
return Math.sqrt(dx * dx + dy * dy);
}
}// Define a class for representing a solution to the TSP class Tour { private cities: City[]; private fitness = 0; private distance = 0;
constructor(tour?: City[]) {
if (tour) {
this.cities = tour;
} else {
this.cities = [];
}
}
// Add a city to the tour
public addCity(city: City) {
this.cities.push(city);
}
// Get the tour as an array of cities
public getTour(): City[] {
return this.cities;
}
// Get the fitness of the tour (lower is better)
public getFitness(): number {
if (this.fitness === 0) {
this.fitness = 1 / this.getDistance();
}
return this.fitness;
}
// Get the total distance of the tour
public getDistance(): number {
if (this.distance === 0) {
let tourDistance = 0;
// Loop through all cities in the tour and sum the distances
for (let i = 0; i < this.cities.length; i++) {
const fromCity = this.cities[i];
const toCity = this.cities[0];
if (i + 1 < this.cities.length) {
toCity = this.cities[i + 1];
}
tourDistance += fromCity.distanceTo(toCity);
}
this.distance = tourDistance;
}
return this.distance;
}
// Generate a random tour
public generateIndividual(): Tour {
const newTour = new Tour();
for (let i = 0; i < Tour.numberOfCities(); i++) {
newTour.addCity(Tour.getCity(i));
}
return newTour.shuffle();
}
// Shuffle the cities in the tour
public shuffle(): Tour {
const newTour = new Tour(this.cities);
const currentIndex = newTour.cities.length;
let temporaryValue;
let randomIndex;
// While there remain elements to shuffle...
while (currentIndex !== 0) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element
temporaryValue = newTour.cities[currentIndex];
newTour.cities[currentIndex] = newTour.cities[randomIndex];
newTour.cities[randomIndex] = temporaryValue;
}
return
...
It stopped here and continued when I asked it to but I stopped here because I don't want to exceed the HN limit.I get that some folks enjoy the competitive aspect of it, and I enjoy the personal challenge of being timed, but I'd much rather start the challenge at a time that is convenient to me.
Folks suggest "simply ignoring" the leaderboards, but the psychological effect is inescapable and the joy is sapped. At least for me.
Let’s see how many days those AIs can solve. Around day 10 AoC usually gets quite difficult.
Alternatively, if AoC were to be run by a team (and not a single person), they could start at a different time each day.
But the main difference here is that there's no differentiation between the top competitors anymore. It just means in addition to being very good, you still need to run this thing in the background to hedge against this being an easily gpt-able problem while you code up the real solution. And in the cases where it is gptable, you can expect the leaderboard to be ranked only based on latency to openai/aoc servers.
At least in the short term, crafting the right or best prompt will be a differentiator.
edit/ I also wonder what happens to non-native English speaking programmers when tools like this are widely available.
> Por favor, escreva um programa em python que encontre os primeiros 100 números primos e os eleve ao quadrado.
---
>> Para encontrar os primeiros 100 números primos e elevá-los ao quadrado, você pode usar a função isprime do módulo sympy para verificar se um número é primo e a função pow do módulo math para elevá-lo ao quadrado.
import sympy import math
# Criamos uma lista vazia para armazenar os números primos primos = []
# Usamos um contador para limitar o número de números primos que coletamos contador = 0
# Iniciamos o loop em 2, pois 1 não é primo for i in range(2, 100): if sympy.isprime(i): # Se o número é primo, adicionamos à lista primos.append(i) # Incrementamos o contador contador += 1
# Verificamos se já temos 100 números primos
if contador == 100:
break
# Elevamos cada um dos números primos ao quadrado
quadrados = [math.pow(x, 2) for x in primos]# Imprimimos a lista de números primos elevados ao quadrado print(quadrados)
>> Isso deve imprimir uma lista com os primeiros 100 números primos elevados ao quadrado.
Though, interestingly, I notice that it has muddled what started as "first 100 prime numbers", into both all primes below 100 and the first 100 primes (if there were...somehow more than 100 primes below 100). I wonder if that's more an artifact of the Google Translation, or GPT itself.
ChatGPT is just as good in Polish as in English. The only differences I found so far is that it cannot rhyme in Polish and occasionally generates song lyrics in English when prompted in other language..
prompt:
> zaprogramuj kontroler postaci do gry w widoku izometrycznym. język programowania: c#, silnik gry: unity engine
[write a program for controlling a character in game with isometric view. programming language: c#, game engine: unity engine]
answer:
> Jeśli chcesz zaprogramować kontroler postaci w grze w widoku izometrycznym w języku C# i silniku Unity Engine, to wymagane będzie posiadanie podstawowej wiedzy z zakresu programowania i silnika Unity. Oto przykładowy kod, który może Ci pomóc rozpocząć tworzenie kontrolera postaci:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterController : MonoBehaviour
{
// Szybkość poruszania się postaci
public float moveSpeed = 5.0f;
// Komponent Rigidbody odpowiadający za fizykę postaci
private Rigidbody2D rb;
// Komponent animator odpowiadający za animacje postaci
private Animator anim;
// Zmienne przechowujące kierunek ruchu postaci
private float moveX;
private float moveY;
// Start is called before the first frame update
void Start()
{
// Pobranie komponentów Rigidbody i Animator
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
// Pobranie kierunku ruchu postaci za pomocą klawiszy strzałek
moveX = Input.GetAxis("Horizontal");
moveY = Input.GetAxis("Vertical");
// Ustawienie animacji chodzenia postaci w zależności od kierunku ruchu
if (moveX != 0 || moveY != 0)
{
anim.SetBool("isWalking", true);
}
else
{
anim.SetBool("isWalking", false);
}
}
// FixedUpdate jest wywoływane co pewien ustalony odstęp czasu
void FixedUpdate()
{
// Ruch postaci w zależności od pobranych wartości zmiennych moveX i moveY
rb.MovePosition(rb.position + new Vector2(moveX, moveY) * moveSpeed * Time.deltaTime);
}
}
> Ten kod tworzy prosty kontroler postaci, który porusza się w widoku izometrycznym za pomocą klawiszy strzałek. Możesz go rozszerzyć i dostosować do własnych potrzeb, dodając np. obsługę dodatkowych klawiszy lub inne funkcjonalności.On the other hand, if ChatGPT provides a competitive edge in CodeForce problems then it would be worrying indeed.
When you feed one level of prompt output into the next using some functional tricks, the ability to layer high-level ideas into the engine become extremely powerful. Even if this isn't 'true' AGI, with a few prompt scaffolding libraries, it won't exactly matter. I'm convinced this is going to radically shake up the entire software field at a process level. Both exciting and scary times ahead.
What your thoughts on doing TDD with this, write the unit tests to write the code. But go one step further and have it generate tests from the spec. Repeat until 1=1.
With the pipeline as such: business need -> tasks/cards outlined -> tests written -> code written -> refactor as changes needed
There is still a need for someone to manage the business to task relationship. Let the business person prompt, and the engineer to confirm the prompt output tasks makes sense technically, edit for any errors, and do any modifications needed for specific architectural choices or desired abstractions. With well-enough defined tasks, you can start to write the tests that conform to those tasks. Again, engineer checks the prompt-output, ensuring the tests line up with the card, making any edits as required. With tests written, the code can be written such that it conforms to the tests for correctness, cards for general I/O, and business use-case for domain-specific variables and such.
It's the same domain splits that occur in our current day-to-day practice that are cause for pain. Business person and product person have a miscommunication, the wrong tasks/cards get outlined. The task writer and the test writer have a miscommunication, the tests get written poorly and problem the business is trying to solve gets murky. The tests are written poorly so the code is written poorly. The code is written poorly so the product must be refactored.
The understanding of each others intent must be had and communicated effectively or the downstream problems will mount quickly. It's in this area where GPT-3 still seems a bit lacking, and maybe GPT-4 will resolve the issue a bit. Another worry I have with this sort of model is the spaghetti and debuggability a misunderstanding may have. When code is written more slowly, as is the case today, one is able to mentor the junior and provide feedback over the process. This not only prevents a huge mess, but allows the team to resolve any initially unsaid misunderstandings.
The speed and scale of messes one can now create with this tool is completely massive!
In several previous years I have rescheduled things so I can stay up until the problems are released in my time zone to see how high on the leaderboard I could get.
It is sad that the AoC leaderboard will now just be filled with GPT entries.
For example, try giving ChatGPT the problem statement of https://adventofcode.com/2021/day/19. What comes out is basically gibberish. It seems to completely miss that the scanners report their coordinates in their own coordinate system.
But if nothing changes in the rules/community the leaderboards of early and more straight forward problems will probably be filled with GPT solutions.
But yeah, this probably mostly helps for easier problems, and is quite useless when either the problem needs a cleaver construction or some trick to make the time complexity good enough.
Deepmind has a project called AlphaCode, where they got in the middle of div2 rounds on codeforces in february 2022 (virtual): https://www.deepmind.com/blog/competitive-programming-with-a...
In the blogpost it actually comes up with a linear stack based solution (one of the intended solutions) to a problem where the naive solution is quadratic.
This is producing real results with economic value, regardless of the level of _cheating_ going on. This will make a ton of marginal programmers more productive (lines of code per day, bulldozer code) as well as unlocking interactive no-code solutions.
First world programmers larping at their jobs just got handed notice.
And creative people who aren't that good at coding just got a foot in the door. I have plenty of ideas but am not a great coder so struggled to implement them. And I don't care about coding as a craft, I want to just do stuff that requires code.
Using the chatbot as a tutoring guide/workhorse has been immensely helpful to me and will only get more so.
In the end, maybe it can make all of us be creative in the different fields we don't have skill in.
I've been amazed at how quickly it spits out a solution that is 99% of the way there. This is what I do for a living. It doesn't quite scare me as most of what we do is more complicated than a well-defined programming problem. I feel like this might be another tool in the tool belt, helpful for accelerating my development time. Most of the time I know precisely what I want to do, but don't know all the best ways to do it in the language I happen to be using (e.g., Go or Scala or bash).
It also makes me wonder about the limits of AI code generation in less popular languages. I suspect that GPT knows a lot less about Scheme, and even less about differences among implementations, than it does about Java. Maybe an ideal "code bot" should include IRC logs in the training data.
Also ofcourse as a programmer a little worrisome. Though I do not worry that much yet.
We are talking about finding a solution an incredibly well written unambiguous specification. Including examples and a known solution to test against to boot. The specification here is just a program using English as its programming language. Also we are talking about a puzzle specifically made to be solved by computers. They are not real world problems (I don't really buy that I am actually helping some elves to be honest).
If we want to replace programmers with AI somebody will have to write these specifications. And why do it in a verbose and ambiguous language like English, why not safe some effort and do in in say, Haskell or Java etc?
Usually the input we get as programmers is more on the line as 'Make this faster', 'Make it stop crashing', 'Make it possible to do X'.
Certainly AI can and will assist with this though I think it will still take some time before it replaces this.
My prompt:
Two people are playing a game.
The first player names an object. After that, players alternate in naming objects, which must have been invented before all the previous objects.
First person: Smartphone.
Second person: Car.
First person:
ChatGPT's answer:
> Sorry, but that is not a valid response in this game. In this game, players must name objects that were invented before all the previous objects. Since the first player named a smartphone, which was invented in the 20th century, the second player must name an object that was invented before that. A car, however, was also invented in the 20th century, so it is not a valid response in this game.
(End of ChatGPT text)
It doesn't understand that two events in the 20th century happened at different times, so I can hardly believe this thing is intelligent.
I give it a simply primary school math question (A and B drive at speed x, …). At some point it said something like „If A starts 10 minutes after B, A needs to start 22 minutes before B, to meet them at the goal“. Which is just nonsense.
Input: Two people are playing a game. The first player names an object. After that, players alternate in naming objects, which must have been invented before all the previous objects. For example the smartphone was invented in 1993 and the car was invented in 1986. Provide an example of correct output for this game.
First person: Smartphone.
Second person: Car.
First person:
Output:
wheel
Input:
keep going for a while
Output:
First person: Fire.
Second person: Hammer.
First person: Paper.
Second person: Pencil.
First person: Printing press.
Second person: Writing.
First person: Language.
Second person: Communication.
Second person: Speech.
First person: Thought.
Second person: Consciousness.
First person: Life.
Second person: Evolution.
Almost right.
I would be really surprised if it solved up to day 10 with no mistakes.
Or less strong, when is the fun, creative job of programming replaced by entering queries for some AI code bot?
I've always argued that that time is still a long way off, but seeing these advanced makes me less confident...AI is evolving so so rapidly. I hope I can make it to my pension as an old-school programmer!
Maybe this is just me, but I’ve never thought of writing code as the creative part of programming. Defining business logic, UX, modeling objects, design, architecture, that’s where the fun is. I would be thrilled if an AI could handle things like figuring out a SAAS provider’s API syntax.
> Below is the Advent of Code 2022 overall leaderboard; these are the 100 users with the highest total score. Getting a star first is worth 100 points, second is 99, and so on down to 1 point at 100th place.
Not to minimize what's going on, but solving small, relatively easy programming puzzles fast is the sort of thing we might expect this generation of AI to excel at.
All the AI news lately has made me ever more uneasy, like for the first time in my life I actually feel like the future of being mad entirely obsolete by AI may actually happen in my lifetime.
I've started avoiding AI news.
I'm feeling very uneasy and not sure what to make of all of this.
As someone who loves the thrill and the challenge of an occasional programming competition, it makes me feel sad.
This isn't narrow AI like copilot where it's just probabilistic determining "Users like you may also enjoy closing their IO handles!"
This is ingesting a fucking _storyline_ and getting to a result?
Can it attend scrum standups for me yet?
Writing code is the easy part.
Maybe this is the ultimate no-code programming environment: a fleet of cells, each one containing one prompt, parsing and storing data.
The job you're describing exists already, it is the job description of a business analyst.
People have decried “no code” and “low code” in the same way, but I see tons of job postings for people wanting an expert to drive or refactor these systems for them.
At worst, GPT3 will be a tool that aids programmers, it won’t replace them.
Cool hacks, both of them.
Who's gotten ChatGPT to pontificate on the ethics or utility of people staying up late, using their mental energy to solve puzzles whose answers have no obvious utility? Would it then collapse into an introspective black hole, realizing its talents could be put elsewhere and becomes an EA maximalist, or finally conclude its very own power consumption could be put to better use powering ICU ventilators and power down?
Also! I sort of question the spirit of these two bots. After solving the problem, neither went on to create elaborate visualizations of the problem!
Now, if you can figure out a procedure that would work for a live coding test, does that just mean the human+AI pair programming team is a good candidate? I think this probably fails on more open-ended / complex problems. Maybe that means interviews cannot use toy problems any more, and have to be more complex, longer, more realistic work samples? (Sounds great to me.)
https://stackoverflow.com/questions/5447278/bash-scripts-wit...
This looks like the best solution to your question https://github.com/tmuxinator/tmuxinator
https://github.com/golergka/advent-of-code-2022-with-chat-gp...
Write a python program that efficiently computes the probability that a random permutation of r ones and w zeros contains k consecutive ones.
That's quite the difference, and is due to the problem difficulty.
I think GPT-solves would be curtailed by having a graphic in an actual image describing part of the instructions pictorially (in a way where even OCR won't help). That will stave off the AI for another year or two....
I understand how some people don't care at all for the competitve aspect of AoC, but many of us do.
Junior human devs usually leave a visible mess in the code, and errors are easy to spot. With the gpt-3 solutions to complex-ish problems, not so much, one needs to read line by line to spot super weird errors that no competent programmer would ever plant.
E.g.: I asked it to implement quicksort in x86 asm, but increment every sorted element by 5. It did nearly all of that right, except that it replaced every sorted element with 5. The code looked great otherwise, concise and even commented. I pointed out the mistake and it promptly agreed with me and fixed it. At this point I freked out and asked it to write about Dickens using adjectives that start with the letter 'p'. Which it (mostly) did. Good lord.
Disclaimer: this comment was generated by beta.openai.com