magnusi
Joined 10 years ago
Joined 10 years ago
Well, having the agent write out tools and call those tools is something I consider to be under self-modification also.
But there are other things, when it's useful:
- You want the agent to update without restarting a session and e.g. killing child LISP REPLs and long-running sub-agents
- There is a bug in the harness that bothers you (Autolith records papercuts and can generally solve them via self-modification)
- You want to temporarily or permanently hook into literally any part of the agent lifecycle
- You are of a ricing persuassion and want to change how the agent looks (very surface level, but I have seen people do it)
- Related to the hooking point, you want to integrate Autolith with something else or make it emit something. We cannot predict all the knobs where you might do this, or how selectively you might do it, but self-modification lets you do it
- You want to add support for yourself for non-standard or proprietary/secret providers
That's off the top of my head. The secondary benefit is that this is great at developing the agent itself as a project. It can try/triage the changes it's working on, try its own tests, probe at things, and so on. This is why by far, the changes submitted to Autolith developed by Autolith are by far the highest quality out of all clanker-submitted changes.
I think there's an optimal ratio somewhere
Autolith can spawn managed Lisp REPLs either from saved images (so it can do checkpoints) and triage changes before committing them to files, and then run test suites in the same REPL, it's been very useful for this.
Never heard about Jolt, and I love Chez Scheme, it was my first Lisp!
Would you like to come to our Zulip at https://zulip.lambda-symbolics.com? We can exchange ideas for our harnesses
I'm the author and I share the same philosophy, hahaha, my users told me about this post