본관은 안동(安東). 첫 이름은 김효공(金孝恭).
희종 때에 급제하여, 사관을 거쳐 병부우승(兵部右丞)이 되었다.
고종 때 최우(崔瑀)에게 등용되어 정방에서 전선(銓選: 인사행정)에 관한 사무를 관장하였는데, 이 때 이부·병부의 선발에 응한 자가 무려 수만 명이었지만 한 번 보고 그 이름을 다 기억하였다고 한다. 그러나 최우의 지시대로만 따른다는 비난도 받았다.
1237년에 대복시사로서 국자감시의 시관이 되었으며, 1242년에는 추밀원부사로서 지공거가 되어 홍지경(洪之慶) 등 진사를 선발하였다. 그 뒤 추밀원사를 거쳐 문하평장사가 되었다.
최씨 집권자의 신임을 얻어 오랫동안 정치의 실권을 장악하였으나, 자격을 갖추는 것에 따라 벼슬을 하여 육십이 되어서 재상이 될 정도로 청렴하였다. 1256년 수태사 문하시랑평장사 판이부사(守太師門下侍郎平章事判吏部事)로 별세하였다. 시호는 문간(文簡)이다.