I both agree and disagree with Piglet.
It is sure a lot better to follow them around to prevent damage, express compassion for the needs of the potential aggressor and explain how to deal with the situation better.
For instance, when I see my two girls (4 and 2) are going to get into a fight over a toy I will say, please try to figure out a way how to solve this problem between the two of you. Now yours are a lot younger, but saying this sentence over and over really worked for me. Initially, I would say, if no solution within 1 min. I decide what to do, and then it is usually take turns, find a similar toy, etc. However, recently, they have been able to come up with solutions of their very own, more creative and intelligent than mine, so I delay my intervention further and let them scratch their heads.
Occasionally, however, I am late and I get there when damage has been done. In this case, honestly, I do not want to get into an argument of who did what first and I prefer to give a big hug to whoever is crying initially ignoring the other and then asking her to find a solution (giving a little treat, some fruit, a glass of water) to help me calm big/little sister. I prefer this to saying "hey dd1 no pushing dd2" or "be more gentle with little sister" because this will prompt a long array of protests about how it was all little sister's fault if big sister agressed her! Now I do not want to hear that!!