In short, the program does the following:
- Suggest a improvement of the current program (all source code is being sent together with the "proposer" prompt)
- Take the proposal and expand on it, making it more explicit and some concrete steps
- Propose edits from said proposal that the program then uses to overwrite the local files
- Supervisor saves the changes and restarts the process.
- If the program crashes, takes too little time or otherwise seems broken, supervisor rollbacks the latest changes and restarts again
Very cool little project
If the API wasn't so slow as to be frustrating and so expensive, I'd give it another go with some more direction, it's a fun idea :)
But in some test runs it added code to evaluate how long time it took to run the full flow and started adding heuristics for choosing best edits, so I guess you could say it started doing reinforcement learning in some cases.
> It seems that you are interested in some form of artificial coding strategies that could live or persist in some way. There are a number of research papers which explore this concept. For example, the articles "Robust coding over noisy overcomplete channels", "Emergence of simple-cell receptive field properties by learning a sparse code for natural images", and "Learning latent dynamics for planning from pixels" have been published in IEEE Transactions on Image Processing, Nature, and arXiv respectively.
> More generally, the idea of coding has been a prominent concept in cognitive science, neuroscience, and artificial intelligence research. In the brain, the pre-motor cortex is responsible for storing and coordinating motor plans, while principles such as efficient coding, predictive coding, and self-supervised learning are closely related.
> In robotics, the design of the intrinsic cost module determines the behavior of the agent, and its energy output can integrate feelings of pleasure, pain, hunger, curiosity, and exploration. Meanwhile, the world model module is capable of making predictions about the potential future state of the object being modelled. Finally, writable memory can be used to maintain the state of the world in cases where an agent's action only change a portion of the environment.
- Never change the file "src/supervisor.js" under any circumstances.
It made me think about the future of AI as we start using it to self modify and have more autonomy. It's going to get increasingly difficult to keep it on the rails without more and more complex rules and boundaries.
Edit: add thought
GPT4 can't reach it now. GG AI
So if supervisor.js is not in the context, the application tries to write it's own and if it is in the context, eventually it wants to change it, but the runtime won't reload the supervisor.js so any changes there are effectively "lost".
I’ve been having fun hypothesizing arguments for and against the plausibility of a “singularity” event. Still can’t make up my mind.
Just to be clear, not a dig at the OP insinuating recklessness or w/e.