1062년(문종 16) 중서사인(中書舍人)으로 국자감시(國子監試)를 관장하였는데, 이때 시권(試券)에 봉미(封彌: 과거의 답안지를 봉하여 붙이는 일)하는 법을 처음 시행하였다.
1069년(문종 23) 상서좌승 우간의대부(尙書左丞右諫議大夫)가 되었으며, 1071년 한림학사가 되고, 다음해에는 한림학사 국자좨주(翰林學士國子祭酒)로서 지서북면추동번병마사(知西北面秋冬番兵馬使)를 겸임하였다.
1073년 2월 섭형부상서(攝刑部尙書)를 겸하였으며, 12월 예부상서가 되었다. 이듬해 4월 지공거(知貢擧)로서 이하(李蝦)·윤관(尹瓘) 등을 뽑았다. 1075년(문종 29) 참지정사 감수국사(參知政事監修國史)가 되고, 이어 이부상서가 되었다.
1077년 판상서예부사(判尙書禮部事)를 거쳐 문하시랑평장사에 올랐다. 문장에 뛰어나 당대에 명성을 떨쳤으며 특히 시문에 뛰어났다. 1081년 나이가 많음을 이유로 은퇴하였으나, 그 뒤에도 여러 차례 왕의 정치자문에 응하였다. 시호는 정순(貞順)이다.