This seems to be inspired by the library/framework distinction in software engineering:
Inversion of Control is a key part of what makes a framework different to a library. A library is essentially a set of functions that you can call, these days usually organized into classes. Each call does some work and returns control to the client.
A framework embodies some abstract design, with more behavior built in. In order to use it you need to insert your behavior into various places in the framework either by subclassing or by plugging in your own classes. The framework’s code then calls your code at these points. (source)
Your code calls the library; the framework calls your code ≈ The LLM calls the tool; the scaffolding calls the LLM.
Not consciously an inspiration for me, but definitely a similar idea, and applies pretty cleanly to a system with only a couple of layers; I’ll add some clarification to the post re more complex systems where that analogy might not hold quite as well.
This seems to be inspired by the library/framework distinction in software engineering:
Your code calls the library; the framework calls your code ≈ The LLM calls the tool; the scaffolding calls the LLM.
Not consciously an inspiration for me, but definitely a similar idea, and applies pretty cleanly to a system with only a couple of layers; I’ll add some clarification to the post re more complex systems where that analogy might not hold quite as well.