Try to remove some shuffles in the apps

fix optimization twice error
Why do we need `_evaluate_kw`? What's the difference between the original `evaluate` and `_evaluate_kw`?