梁衍字孝正,封阳人,故兵部尚书梁昭武之子。封阳学宫出身,因成绩优异外任洛郡右副督军府参议,剿灭长南县匪患,迁上平关参谋。仁平十四年,萧辅破周师于大风关,梁昭武殉职。梁衍安顿本部,筹备粮草,从容接应败逃军队。面对亟军百般挑衅丝毫不为所动。时梁衍二十二岁。上平关失守后,梁衍回到封阳。封阳之战中,梁衍为韩筑副将,同守天耀门,亲冒箭矢、火石,毙敌无算。被火石击伤锁骨后,依然坚持指挥战役。此后,梁衍一直担任韩筑副将,击退亟军,击杀亟族贵族严度,直到收复河洛三郡。其实梁衍身体本就不好,封阳之战中受伤后便无法亲自征战了,但每念及国恨家仇,实在“未敢言退”,在请求调往前线的奏书中,他直言“虽为国事,亦属私计。”,为了国家,也为了自己的父亲,他早已不爱惜身体。韩筑自始至终都非常尊重梁衍,梁衍也竭尽全力帮助韩筑收复失地。如果说韩筑是这个时代的曹操,那么梁衍就一定是郭嘉了。文和八年,正在指挥攻击伏州的梁衍旧伤发作病倒,他那饱经战火和征途折磨的身体已经无法支撑他再前进哪怕一小步了。五天后,梁衍不治身亡,韩筑悲痛流泪,三军为之哀悼。消息传至封阳,文和帝哀叹良久,追封梁衍为太子太保,忠毅公。梁衍没有婚取,因而没有子嗣,文和帝便令其堂兄梁旃之子梁耀继承爵位。