It is probably delamination due to incorrect construction workmanship. When you place concrete and first strike it off, it is important to let it sit for a short time as excess bleed water in the concrete mix will migrate to the top surface. You will actually see the bleed water appear slowly and the correct course of action is to squeegy it off BEFORE you do you finish trowelling. All this happens while the concrete is still plastic.
If the contractor didn't wait for the bleed water, but went ahead and trowelled right away, he was essentially sealing off the top surface with a thin, tightly condensed layer (dime size thickness?) of cement. The bleed water rises, and then cannot work through the top layer, remaining in place, just below the surface. After hardening and the water eventually disappearing, you have a thin layer of concrete surface, with possible voids or weak layers directly below.
Thus, you get the flaking off of the hard surface.
The fix? You've got a poor surface from which to work....with the weaker concrete and all.. I would suggest having the contractor do either one of two things (others in this forum can also chime in!)
1. Remove the slab and start over.
2. Have the contractor grind down the top 3/4" of surface, leaving it roughened. Apply a bonding agent to it, and apply a patching material or other concrete overlay. Not knowing where you reside its difficult to come up with an exact solution. If this slab is of considerable area, and expense, you might want to bring in a local engineer to study and recommend a solution.
Option 2 above will not give you, really, what you paid for as the "patch" will eventually work loose if you have freeze/thaw action and/or you have significant wheel loads on it (patio tractor

)