The Query Tool-based KB allows you to define rules for when it should be involved. It also enables you to invoke the same tool with multiple KBs based on your call context. This eliminates the hallucinations of transfer not working within the code, as you can now define when to use the tool.