My reasoning: - That way I will have maximum control over how the LLM can interact with the world (i.e. I can even narrow down which arguments I support/not support) - The monitoring story should be great as well, since every interaction with the outside world happens at one place only - I can add functionality as I go, and can understand how the harness changes and why it does what it does from the ground up
The biggest challenge I foresee is with the LLMs making tool calls and having them react to the results. I also wonder how far I will even get with this :D
Back to topic; "code implemented tool calls" is basically my "oh yeah my harness can do tool calls too" (and everything I need is implemented in one codebase, in... code)