Most LLM agents call tools the same way every time: a fixed schema, a static prompt, a hand-crafted decision tree for when to invoke search() vs. calculator(). It works, but it's fragile. The moment a user asks something the template didn't anticipate, the tool-calling pattern breaks.

Microsoft Research's ARTIST framework takes a different route....