北宋江州德安(今属江西)人,字子纯。嘉祐进士。游陕西访求西北情况。熙宁元年(1068年),上书言取西夏必先复河湟,被任以西事。他招降羌人部落,置熙州(今甘肃临洮),取河(今甘肃临夏西南)、洮(今甘肃临潭)、岷(今甘肃岷县)、宕(今甘肃宕昌)、叠(今甘肃迭部)五州,成包围西夏之势。以功为观文殿学士、礼部侍郎,召为枢密副使。后罢去,历知洪州、鄂州等地。