It, of course, readily accepted that I was correct and it had indeed drawn a hexagon, but this time it'd be different.
This time, it'd draw a pentagon.
And... repeat.
Certainly not compared to making a Unix kernel from scratch.
I think we already have most of the pieces in place:
* big language models that sometimes get the right answer.
* language models with the ability to write instructions for other language models (ie. writing a project plan, and then completing each item of the plan, and then putting the results together).
* language models with the ability to use tools (ie. 'run valgrind, tell the model what it says, and then the model will modify the code to fix the valgrind error')
* language models with the ability to summarize large things to small.
* language models with the ability to review existing work and see what needs changing to meet a goal, including chucking out work that isn't right/fit for purpose.
With all these pieces, it really seems that with enough compute/budget, we are awfully close...
Many choices are made at design time to make the right tradeoffs between complexity, speed, etc.
But with AI-designed things, complexity is no longer an issue as long as the AI understands it, and you no longer need to think too much about speed - just implement 100 different designs and pick the one which does best on a set of benchmarks also designed by the AI.