왕경(王京)의 성곽수리를 맡은 경성주작전(京城周作典)의 네번째 관직으로 여겨진다. 본래는 사지(舍知)였는데, 759년(경덕왕 18) 정월에 모든 관청과 관직의 이름을 중국식으로 바꿀 때에 사공으로 고쳐졌다.
그러나 경덕왕의 이른바 한화정책(漢化政策)이 실패로 돌아간 뒤인 776년(혜공왕 12) 정월에 모든 관청과 관직의 이름을 본래대로 고칠 때 다시 사지로 바뀌었다. 정원은 1인으로 사지 이상 대사(大舍)까지의 관등을 가진 자로 임명하였다. → 사지(舍知)