Anyways, back to the actual content: my current best agent framework is about 500 lines or 20 kb of python, a large part of that is strings of instructions for various stages of development.
Like you, I start with a system prompt about "you will be given a programming project description, please write a full attempt at the project and we will execute and provide results", then extract the code, run it, copy the console output or error to the script, and ask if the project description is fully satisfied, looping until it judges that the project is fully complete.
I do also have some minified versions that are around 60-70 LOC, but at this point, my interest is shifting to more features that are still implemented simply and modularly. For example, I'd like to be able to manage multi-file projects, allow the LLM to test interactive CLI programs, implement a backup and rollback system for when the LLM seems to get stuck and unable to produce a functioning build or has a major regression, implement git repos, implement web browsing (for coding documentation research) and GUI development with playwright and a local multimodal model, and ideally be able to tell my computer to work on a project while I'm in the office or asleep, and wake up the next day to a significantly improved complex project, ideally eventually getting it able to work on itself and developing its own automated developer, using entire programming projects of increasing complexity as test cases, measuring how quickly a framework can accomplish a task of a given difficulty, and optimize for increasing how quickly it can reliably develop complex applications.
Some of my test projects include:
Write a script to interact with an LLM API endpoint at localhost:123/v1/
Write a python script to get the public IP and local weather using free APIs
Stuff like that.
I could share some of my agent frameworks with you when I get home tonight if you'd like.
I'm super interested! Please share!
https://github.com/aricblunk/pyautoaidev
The python script with the short name is the entire script.
The text file with the medium length name is a log of a full run, which was successful on the first iteration and I gave it no additional feedback.
The python and text files with fdbk and iter in the name are created for each time the LLM makes and runs a new code attempt, the text file is the log of the output of the matching named python script. Iter is incremented for each time LLM self-retried, Fdbk is incremented each time the human gives additional input when the LLM thought it accomplished all goals.
But the way the software does it involves changing the apparent timestamps.
(It will also claim that people made comments when they didn't, which is problematic -- from potentially making it look like someone was goofing off when they were supposed to be crunching at work, to making it look like they said something after they'd already changed their mind based on new information, to potential legal problems when someone appears to be speaking on a topic during a period they aren't allowed to.)
I wouldn't be surprised if HN weights resubmission more strongly than simple upvotes since it's a much stronger indication of interest.