What's really interesting is that the LLMs become better and better at setting up the environments / tasks themselves. I got this surreal experience the other day where I was writing a prompt0n.md file (I try to log all my prompts in a .folder to keep track of what I prompt and the results I get), and the autocomplete in antigravity kinda sorta wrote the entire prompt by itself... Granted it had all the previous prompts in the same folder (don't know exactly what it grabs in context by itself) and I was working on the next logical step, but it kept getting the "good bits" out of them, and following the pattern quite nicely. I only edited minor things, and refused one line completion in the entire prompt.
Many "subjective" tasks can also be done in an "objective" manner - as long as there is a large enough dataset to estimate what humans would evaluate the outputs - and the evaluators being reasonably consistent.
Many human preferences are relatively homogeneous, or sometimes clustered into groups. And there are whole fields of study/practice of such phenomena, such as sensory science - with applications in food, audio, images etc.
People make fun of prompt engineering, but I think "AI ops" will eventually become a real role at most if not all software companies. Harness Engineers and Agent Reliability Engineers will be just as important as something like DevOps is now.
"In particular, setting temperature very near zero will give the most likely thing that Paul Graham might say:
“is that they were all the same thing that was a startup is that they were all the same thing that was a startup is that they were all the same thing that was a startup is that they were all the same”
looks like we’ve reached an infinite loop about startups."
As if Karpathy made an artificial Karpathy-researcher-blogger and set temperature close to zero.
Once this can run on stock hardware, set the goal to be replicating to other machines. You get a nice, massively parallel, intelligent guided evolution algorithm for malware. It could even "learn" how to evade detection, how to combine approaches of existing viruses, how to research attack methods, how to identify and exploit vulnerabilities in open source libraries, how to phish, how to blackmail, etc. Maybe even learns how to coordinate attacks with other instances of itself or "publish" new attacks on some encrypted feed it creates. Who knows, maybe it becomes so rampant that instances have to start fighting each other for compute resources. Or maybe eventually one branch becomes symbiotic with humans to fight off their enemies, etc.
Something along the lines of auto research is what I have in mind for this psychology agent. It is currently working on training a model, with handholding right now.
Would it make this exercise even more interesting if we add that for every 25%+ improvement in val_bpb, existing limits (5 minute and VRAM usage) are also increased (by certain percentages)? This can simuate human-like dev iterations much more closely. Infra can be auto-scaled using a platform like Modal.
but the experiments it did that "improved" validation BPB in the GH screenshot were all basically hyperparameter changes right? So is this better or worse, either per experiment or per unit time, than hyperparameter tuning techniques that don't involve an LLM? It's not clear from this if the LLM is more or less making random changes which sometimes work , and or the LLM thinking actually finds "good" changes because of what the LLM has internalized.
E.g. how does this compare to a hyperparameter tuning pass with e.g. BayesOpt that does the same number of 5-min training experiments?
this is very far from hyperparameter tuning in at least three important ways:
- it can modify code arbitrarily, the notion of a "hyperparameter" dissolves
- there is no need to run "sweeps" - this is the standard parallel process that wastes compute. because LLM agents are sequential, they can do more efficient versions such as binary search to narrow in on the right setting very quickly (usually many parameters will have a U shaped optimal setting).
- it's fully automatic, it doesn't require human in the loop to mess with the code.
You're right that many of the changes it seems to make out of the box (as I intentionally did not try to prompt engineer it too hard yet because I was curious what you get by default) seem to be tuning existing hyperparameters. not all of the changes are like that - e.g. it tried to replace the non-linearity, etc. I will say that overall (and again, out of the box) the LLM feels unwilling to creatively pursue a research direction or something like that. The models feel very "cagy" and "scared" when they are given problems that are a little too open ended. But that's just where the fun parts, e.g. I had some early successes with the idea of a "chief scientist" that was basically a never-ending plan mode that looked at what worked, didn't work, tried to find related code/papers, and created a long list of experiments to try, which it could then send to junior engineers running in tmux sessions. I think quite a few approaches are possible, so I think it's a nice canvas. The reason we're not getting "novel research" feels like half capability issue and half skill issue.
The first half of this is already happening to a certain extent.
I first noticed this in a submission[1] on Dimitris Papailiopoulos' Adderboard[2], which is a code-golf competition for training the smallest transformer that can add two 10-digit numbers. Most submissions on it are fully AI generated.
The report in the linked repo is Claude Code generated.
It's actually fascinating to think that autonomous researchers will likely need a publishing system, simply because that would be the most efficient way to disseminate their knowledge. Would be a good way to keep humans somewhat in the loop too.
> this means that autoresearch will find the most optimal model for your platform in that time budget
I'm looking forward to finding out what model is optimal on my rtx3090
One thing I'm concerned with is that the model with best bpb after 5 minutes in smaller setups are only about ~10M Parameters in size which is too small for some emergent effects.
I am in the process of figuring out how to do something similar but to teach a robotic arm a new task in the physical world for ko-br: https://ko-br.com/
Adapted this for adversarial protocol hardening. Same loop: markdown defines formal invariants (scope narrowing, cascade revocation), AI tries to violate them, writes tests for whatever breaks. Found compound edge cases that 359 hand-written tests missed, specifically where scope escalation and spend limit bypass interact simultaneously. Property-based testing (100 random inputs per invariant) pairs well with the pattern.
Not sure if anything like that already exists, but if not, I would suggest building it on top of marimo rather than jupyter, given its approach to cells getting recalculated based on changes in their dependencies.
I wonder what happens if I apply the same strategy to an automated shop. Claude code periodically proposes updates and automatically implements them, with revenue as the target function.I'll give it a try.
Ah here we go again, the Brophet has unleashed another Brophecy. He seems to confuse brute force discovery with research. Only one leads to understanding, the other one is a shrine to Goodharts law.
[+] [-] mikert89|22 days ago|reply
Any human endeavor that can be objectively verified in some environment like this can be completely automated
[+] [-] NitpickLawyer|22 days ago|reply
[+] [-] jononor|17 days ago|reply
[+] [-] miki123211|22 days ago|reply
People make fun of prompt engineering, but I think "AI ops" will eventually become a real role at most if not all software companies. Harness Engineers and Agent Reliability Engineers will be just as important as something like DevOps is now.
[+] [-] vrighter|19 days ago|reply
[+] [-] wiz21c|22 days ago|reply
[+] [-] thesz|21 days ago|reply
[1] https://karpathy.github.io/2015/05/21/rnn-effectiveness/
As if Karpathy made an artificial Karpathy-researcher-blogger and set temperature close to zero.[+] [-] daxfohl|21 days ago|reply
[+] [-] jononor|17 days ago|reply
[+] [-] garbanz0|21 days ago|reply
[+] [-] 9wzYQbTYsAIc|21 days ago|reply
Something along the lines of auto research is what I have in mind for this psychology agent. It is currently working on training a model, with handholding right now.
[+] [-] mips_avatar|21 days ago|reply
[+] [-] freakynit|22 days ago|reply
[+] [-] abeppu|22 days ago|reply
[+] [-] karpathy|22 days ago|reply
- it can modify code arbitrarily, the notion of a "hyperparameter" dissolves
- there is no need to run "sweeps" - this is the standard parallel process that wastes compute. because LLM agents are sequential, they can do more efficient versions such as binary search to narrow in on the right setting very quickly (usually many parameters will have a U shaped optimal setting).
- it's fully automatic, it doesn't require human in the loop to mess with the code.
You're right that many of the changes it seems to make out of the box (as I intentionally did not try to prompt engineer it too hard yet because I was curious what you get by default) seem to be tuning existing hyperparameters. not all of the changes are like that - e.g. it tried to replace the non-linearity, etc. I will say that overall (and again, out of the box) the LLM feels unwilling to creatively pursue a research direction or something like that. The models feel very "cagy" and "scared" when they are given problems that are a little too open ended. But that's just where the fun parts, e.g. I had some early successes with the idea of a "chief scientist" that was basically a never-ending plan mode that looked at what worked, didn't work, tried to find related code/papers, and created a long list of experiments to try, which it could then send to junior engineers running in tmux sessions. I think quite a few approaches are possible, so I think it's a nice canvas. The reason we're not getting "novel research" feels like half capability issue and half skill issue.
[+] [-] falcor84|22 days ago|reply
[+] [-] woadwarrior01|22 days ago|reply
The report in the linked repo is Claude Code generated.
[1]: https://github.com/rezabyt/digit-addition-491p
[2]: https://github.com/anadim/AdderBoard
[+] [-] pu_pe|21 days ago|reply
[+] [-] karpathy|22 days ago|reply
[+] [-] ting0|22 days ago|reply
[+] [-] gregorygoc|22 days ago|reply
https://en.wikipedia.org/wiki/AlphaEvolve
[+] [-] elikoga|22 days ago|reply
I'm looking forward to finding out what model is optimal on my rtx3090
One thing I'm concerned with is that the model with best bpb after 5 minutes in smaller setups are only about ~10M Parameters in size which is too small for some emergent effects.
[+] [-] ahmedbaracat|22 days ago|reply
[+] [-] Tima_fey|20 days ago|reply
[+] [-] oezi|22 days ago|reply
[+] [-] falcor84|21 days ago|reply
[+] [-] Frannky|19 days ago|reply
[+] [-] bananzamba|22 days ago|reply
[+] [-] AlexCoventry|22 days ago|reply
[+] [-] unknown|22 days ago|reply
[deleted]
[+] [-] lostmsu|22 days ago|reply
[+] [-] ozeron|16 days ago|reply
[+] [-] gmerc|22 days ago|reply
[+] [-] emceestork|19 days ago|reply
[+] [-] ipunchghosts|21 days ago|reply