衍出身官宦之家,他的父亲郭崇曾官至侍中,郭衍少年时代就勇武超人,善于骑射,多次带兵与齐,突厥等国交战,都取得胜利,而且郭衍与一般的武将不同,善于民政,开皇五年,郭衍为潞州刺史,赴任后适逢秋雨成灾,潞州属县多被水淹。郭衍亲备船筏和粮食救灾,并先开仓赈恤,后禀奏皇帝,此举深得较体恤民情的杨坚赞赏,提为朔州总管,朔州地处边远,尤以恒安镇(今山西大同县西北)北接番境,粮禽转运非常不便,郭衍便在此择地屯田,不仅做到粮食自给,且岁剩栗万余石。
正因为郭衍能文能武,京兆尹之职才会落到郭衍身上,京兆尹只是正四品,权力却非常重要,负责维持整个京城的治安,京中有五千人马隶属于京兆尹,除了十二卫大将军外,京中最重要的势力。
这样一个人,一旦京城有事,无疑会起到举足轻重的作用,按理东宫应当争取交好才对,只是对于此人,杨勇却不敢信任,杨广任扬州总管后,郭衍亦随从前往。曾平定了数次南陈故地地反隋叛乱,为杨广取得不少声誉,后为洪州刺史,频繁来往于洪扬两州之间,暗衣卫多次发回郭衍与晋王密谈的信息。
虽然无法得知郭衍与杨广密谈地内容,杨勇还是下意识对郭衍起了猜疑之心,郭衍调任京