Only manual tool calling? #98
Replies: 1 comment
-
The logic here is to make it explicit that an agent in reality never calls a tool, and to also make it clear that tools and agents are quite interchangeable concepts (hence why they both have input & output schemas, run methods, ...) Let's say you were using the OpenAI API, you'd be passing in the tools, the agent tells you which tool it needs the software to execute and get the output from - we simply colloquially say that the agent called a tool but this is never the actual case. This has lead many libraries to treat an agent as something completely separate, and it is one of the core principles of Atomic Agents that this is a bad abstraction, and a bad starting point - and from an enterprise perspective leads to a lot of trouble down the road when it comes to debugging & solving tickets, making tweaks to exactly how "the agent executes a tool" For example, you could do safety checks against prompt injection, transform the LLMs output in some way that is required by business logic while still keeping the tool itself completely re-usable, ... All those things would normally be obscured or blocked if we abstracted this away, for little reason. It's important to note however that the amount of code you write in the end is roughly the same, it is just a more explicit way of organizing it. If your agent's output is directly compatible with the tool you can just do
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Am I stupid and cannot find how to make LLM call tools or does this framework only supports manual tool call and I have to use normal OpenAI syntax for tools for LLM?
Beta Was this translation helpful? Give feedback.
All reactions