Сгруппируем первое слагаемое со вторым, а третье - с четвертым.
$$-a^3 - a^2b + 3a + 3b = (-a^3 - a^2b) + (3a + 3b) = -a^2(a+b) + 3(a+b) = (a+b)(3-a^2)$$.
Ответ: $$(a+b)(3-a^2)$$