If you allow a tool like ChatGPT access to APIs, I think it opens up a new programming paradigm: AI-Oriented Programming. The idea's that you talk to it, and tell it what to do in response to inputs. You then test out its ability to do those things, and correct its mistakes. There's no actual "code".
In a way, everything that's hard about programming is because computers don't understand our intentions. Lots of clever ways have been devised to overcome this (high-level languages, libraries, GUI builders, type systems, IDEs, static analysers). But something like AI-Oriented Programming is the most direct attack on the problem that exists.
One downside of course is that computers have found a new way to misunderstand what we mean. Another is that such "code" is probably going to run slower than compiled code in C++, or whatever. But programmer output is about to soar.
yeah, there are a few APIs it could learn to leverage:
- z3/prolog/coq
- maxima/mathematica
- wolfram alpha/google
it's quite close to be able to transform simple natural language problems into solutions with code. 'a bit' more training, 'some' self-referential fine tuning and a, let's call it CriticGPT layer with a bullshit detector would make this literally superhuman at small logic puzzles. the ultimate proof assistant?
I think that the computers on the other side of the APIs won't understand ChatGPT's intentions too. Maybe ChatGPT would save us some time translating from our requirements to the right API calls. If it works like any of us, there will be meetings to explain requirements to ChatGPT, or a bunch of them, and more meetings to understand what they got wrong, why, how to workaround and how not to make it happen again.
This user crafted a prompt where ChatGPT is instructed to generate IPython to help it answer questions, which the user then runs for it, and gives the output back to ChatGPT, which then interprets it to create the answer to the question:
If you allow a tool like ChatGPT access to APIs, I think it opens up a new programming paradigm: AI-Oriented Programming. The idea's that you talk to it, and tell it what to do in response to inputs. You then test out its ability to do those things, and correct its mistakes. There's no actual "code".
In a way, everything that's hard about programming is because computers don't understand our intentions. Lots of clever ways have been devised to overcome this (high-level languages, libraries, GUI builders, type systems, IDEs, static analysers). But something like AI-Oriented Programming is the most direct attack on the problem that exists.
One downside of course is that computers have found a new way to misunderstand what we mean. Another is that such "code" is probably going to run slower than compiled code in C++, or whatever. But programmer output is about to soar.