It is not possible to shrink existing aggregate. You will have to backup data, destroy aggregate, recreate smaller one and restore data.
There is trick if aggregate is RAID_DP - convert it to RAID4 - this will remove one parity disk from each raid group and make it available. Sometimes this helps in the short term. But I would not consider it long term solution.
Do you really have aggregate filled with data or is it just space allocated for flexible volumes? You can easily reduce size of flexible volumes at any time.