Query understanding agent