critical thinking for ai engineers