Automatic AI Magic; Or, How I Am Experimenting With AI Today
Wednesday • October 30th 2024 • 11:39:21 pm
I am working on a visual programming language, specifically aimed at busy young people.
I want it to feel like a computer game, and I want it to make the young programmer powerful
Being able to dominate enemies ruins a game, but it does make, a visual programming language.
All of this is a lot simpler than it sounds, you build a network of virtual people, called agents.
By connecting them together, with lines.
The lines attach from output port of one agent, to the input port of another.
The Linux Operating System does the same thing, here the agent is a command…
And the ports are called standard input, and standard output.
But I push up, to create a concept of an agent inbox, and relay on the Agent/Supervisor programming model and beyond.
In short, the design, is very human.
It is easy for me to program the User Interface, and it already feels a bit like a game – I enjoy it.
But to make the young programmer powerful, is a fun little challenge.
I don’t know, what commands or agents they will need, and I wouldn't want to create basic ones.
I don’t want to ship a program with basic building blocks, that then are used to create more complex things.
This would be boring, and it would ask the busy young programmer, to invest their time in expanding my program.
As they build the components they need, and share, and sell, and debug – this would be too much to ask.
I like to hope to ship an empty, visual programming language.
And you guessed it, with an interface to use an AI, be it a local ollama or a commercial one.
I already tested how simple models behave, when I ask them to design a program that relies on the agent programming model.
The simple AI I tested, created both agent networks, and agent actions, things that the agents are supposed to handle.
So a checkout agent, would for example have, return to cart, and pay with card.
I am sure the AI is not perfect at it, but it assists perfectly.
To me a checkout agent is a very large program component, it would be just a few lines of code, using stripe.
But such large functionality, does not help the user build a custom program.
So I sat down today, to ask the AI, to surprise me with genius level code, that deal with program flow.
And the AI created incredible, little machines, in deed genius level stuff.
But it is important to note, that I did not ask the AI for anything specific, jus that it should be genius.
And just like that, the AI, begun returning little programming blocks.
One that stands out is a circuit breaker, when a download fails twice, a circuit is broken for 10 seconds.
The program sits and waits, giving the server time, instead of resubmitting requests.
Anointer little machine, of the 10 I generated, controlled how many programs can run at the same time.
Queuing up, new requests, and returning to fulfill them, when there is room.
Without even mentioning a visual programming language, I got the AI to create brilliant little building blocks.
That in deed will make a busy young programmer, extremely powerful.
Being a firm believer that code is liability, I will ship the description of these little blocks, along with some starter library.
This way the programmers can regenerate the genius blocks, with ever more powerful AI as the time goes on.
While I generate code that uses these blocks, to create a server version of the programmers application.
One that does not rely, on the visual programming language, user interface.
There is yet a third magical step here, and that is regenerating the code in any language.
I come from the world of Visual Basic, Perl, PHP, and ActionScript, and I adore JavaScript, to me modern JavaScript is the promised Perl.
But it won’t take much effort, to convert the JavaScript, to Python, PHP, Perl 5 and 6, and even ASP, and perhaps strongly typed languages.
And it is the building blocks, the agents, that very nearly promise this may just work.
The agents are simple, the AI can describe what it generated in great detail, it can add matching tests, in multiple languages.
So my visual programming language, written in JavaScript, with the help of AI may just be able to output code for all other languages.
It would test it for stability, memory leaks, and security problems.
In closing, the world has changed, completely.
And so quickly, that we’ll probably never have time to complain.
As new marvels are headed are way, and so much more quickly now, precisely because of AI.