problem solving agent