How much terrible software is out there? How much terrible FOSS software is out there?
How much amazing and humanistic software could be created if the costs for production were drastically reduced and the demands of the market were less of a factor?
Deciding what problem to solve and how to solve it is hard enough to sustain more than the current population of developers. (But if you had an AI capable of deciding those, then yeah, that would be problem.)
Anyway, the current crop of highly hyped AIs are obviously structurally unable to do either. And it's not clear at all how far any AI is from solving any those (what usually means we are many decades away).
Have to say I'm very happy with copilot, it's definitely worth the 10 bucks a month.
The immediate issues are: who decides the boundaries of (publicly) acceptable thought -and- who profits?
I think you touch on the deeper and even more challenging issue:
> I'm now trying to teach my son, an avid programmer, how to work with chatGPT. He's 13, so he's got a lot of opportunity to really integrate it into his career, but he also has a lot of blind spots where chatGPT can really lead him down some blind alleys and knife him.
When the talking computers can answer any (allowed) question, the educational challenge becomes building human minds that can recognize and select the right options from the unbounded "white hole" of content that the machines can produce.
Now, the word "right" in the previous sentence is doing a hellofa lot of work. Deciding the right course of action is an open-ended intelligence test. It's evolution, eh?
This is such a good succinct, and I think objective, statement. It strikes me as a great lense through which to look at recent developments.
It does not imply that "all software should be written by a machine". But simply that anything that a machine can do just as well as a human, should probably be done by a machine rather than a human. And all additional value on top of that machine-produced material will continue to come from things that only humans can uniquely do well. And of course, there will continue to be many things in that latter category.
For many of us in this field, this means less busywork and more time spent working at higher levels of abstraction. More time curating, crafting, integrating, strategising. Less time working on the nuts and bolts.
And for those who love to hand-craft the nuts and bolts... I think that opportunity will still be there too. Because handcrafting will become a rarer skill, and there will still be areas where it is the correct approach.
Those of us who used to handcraft nuts and bolts but now delegate this to the machines, will still benefit from our understanding of how the nuts and bolts used to be made.
And those who grow up having never made a nut or bolt - perhaps not even knowing what nuts and bolts even are, will benefit from starting their path much earlier on in life working at a higher level of abstraction.
We can see from how hard it is to find consensus on trivial topics (are eggs good for you?) amongst experts who study these matters day after day. And the public, who does not, is left confused. A great deal of the problems we face are too complex for the human mind to be able to decide which of several reasonable-sounding options is correct. This is especially true when there is no rationalization for answers given.
Look at our media system. How many people on both sides are stuck in “other side bad” simply because the talking heads on television networks tell them that, or someone on the internet wrote something. A lot of the content that drives them to conclusions isn’t even true. We are very poorly equipped to be vetting answers from a fallible machine.
Maybe I’m too old school, but I’d rather we learn how to solve the more complex problems so that we can do it and understand it rather than take guesses at which of a number of generated options is correct.
I think the solution is obvious: connect the computers to empirical feedback devices and make them scientists. Humans hallucinate too if they spend too much time in a sensory deprivation tank. Give the computers sensory inputs and they will naturally become scientists.
> find consensus on trivial topics (are eggs good for you?) amongst experts who study these matters day after day
Leaving aside the question of how reliable current soft science really are, this is exactly the problem that these machines can help with, once they have the data. Consider the modified form of the question: Are eggs good for me? At this stage in my life? At this time of day? Given what I ate for dinner last night? And millions of intricate details about my medical history, and my family, and DNA, and "exposome", etc. (I worked very briefly for a medical sensing startup, our chief Doctor would wax lyrical about the possibilities for personalized medicine and nutrition-- once we have the data.)
> the public, who does not [study these matters], is left confused
To some extent, being able to do things without understanding how they are carried out "under the hood" is a measure of the advancement of civilization, eh? (But please don't mistake me as arguing in favor of ignorance!)
> when there is no rationalization for answers given.
We can ask the computers to show their reasoning (soon, if not now), we can ask them to summarize the current state of knowledge, including the grey areas and disputes, eh?
> How many people ... are stuck ...
I think it's clear that these machines will rapidly become perfect salesmen and perfect therapists. It's less clear to me what we will do with that.
> We are very poorly equipped to be vetting answers from a fallible machine.
I don't think the machines will be fallible once we connect them to sensory systems, but I do think that lots of people will try to do silly "Dr. Evil" things like try to mass-program their subjects/citizens. And I think lots of people will let them raise their children, that will probably have mixed results.
> I’d rather we learn how to solve the more complex problems so that we can do it and understand it rather than take guesses at which of a number of generated options is correct.
Selecting from the options the computer generates is the only complex problem left, see "Augmenting Human Intellect: A Conceptual Framework" SRI Summary Report AFOSR-3223 by Douglas C. Engelbart, October 1962 https://dougengelbart.org/pubs/augment-3906.html
ChatGPT has answered some specific code questions with code that is not only wrong, but horribly wrong. Things like presenting anti-patterns as the answer, halucinating APIs that don't exist and suggesting code using them, or code that is subtly wrong. These sorts of things go well beyond leading you down a dark alley, hence my addition.
Any code that ChatGPT can write, I don't want to write. I'm ok with it taking my job. If I can work in higher level constructs and get more done, I'm all over that.
Last week a coworker need some Python code to figure out how far through a day it currently is. I started thinking of the different ways to approach it (strftime, maybe time_t modulo 86400, twiddling datetime objects). Before I got very far I decided to ask chatGPT to write it, eyeballed the response (twiddling datetime objects), ran it and verified the response, and called it good. I should have asked it to write some tests for that code while I was at it.
I'm now trying to teach my son, an avid programmer, how to work with chatGPT. He's 13, so he's got a lot of opportunity to really integrate it into his career, but he also has a lot of blind spots where chatGPT can really lead him down some blind alleys and knife him.