언제부터 주어졌는지는 확실하지 않으나 문종 때 각각 1인으로 하고 모두 정1품으로 정비하였다. 충렬왕 때 없어졌다가 1356년(공민왕 5) 다시 두었으며 1362년 다시 없앴다.
주된 직능은 삼사(三師)와 함께 임금의 고문 역할을 하는 최고의 관직이었다. 이러한 삼공·삼사직은 적격자가 없으면 임명하지 않고 비워두었다. 대체로 왕족에게는 검교직(檢校職)이나 수직(守職)으로 수여되어 봉작을 대신하여 수여하는 명예직으로 사용되었다. 일반 신하의 경우에도 고위 관직작에게 명예를 더해주기 위한 수단으로 활용되었다.
고려시대는 봉작이 상속되지 않았는데, 모든 공(公)·후(侯)·백(伯)의 아들과 여서(女婿)에게는 봉작 대신 최고의 관직인 사도나 사공이 명예직으로 수여되었던 것이다.
일반 신하의 경우는 검교직의 실례를 통하여, 그리고 왕족의 경우는 봉작제(封爵制)의 실례를 통하여 삼공이나 삼사의 진급순위를 보면, 사공→사도→태위→태보→태부→태사의 순서였음이 확인된다. 따라서, 삼공이나 삼사는 같은 정1품이었으나 삼공보다는 삼사가 상위에 있었음을 알 수 있다.