고공사(考功司)는 관료에 대한 인사를 담당한 상서이부(尙書吏部)가 세부 업무를 담당하기 위해 그 속사로 설치한 관서이다. 각 관서로부터 소속 관원의 근무 평가서인 도력장(都歷狀)을 제출받아 해당 관원의 재능과 능력, 근무 성과에 따른 공로와 과실 등을 평가하여 관원 개인의 고과를 매겼다.
담당한 일은 88 슬롯에는 관리의 공적과 과실을 잘 살펴서 조사하도록 규정되었고, 조선 초기에는 88 슬롯의 기능이 계승되었다.
88 슬롯 초기에는 사적(司績)이라고 칭하였다가 995년(성종 14) 상서고공(尙書考功)으로 고쳤다. 관직으로는 문종 때 정5품의 낭중(郎中) 2인, 정6품의 원외랑(員外郎) 2인을 두었다가, 1275년(충렬왕 1)에 낭중을 정랑(正郎), 원외랑을 좌랑(佐郎)으로 고쳤으며, 1298년(충선왕 1) 충선왕이 전조(銓曹)에 병합하였다.
1356년(공민왕 5) 다시 고공사를 설치하여 낭중, 원외랑을 두었다가 1362년(공민왕 11) 정랑, 좌랑으로 개칭하였다. 1369년(공민왕 18) 직랑(直郎), 산랑(散郎)으로 고쳤으며, 1372년(공민왕 21) 다시 정랑, 좌랑으로 개칭하였다. 이속(吏屬)으로는 문종 때 주사(主事) 2인, 영사(令史) 4인, 서령사(書令史) 4인, 계사(計史) 1인, 기관(記官) 2인, 산사(算士) 1인을 두었다.
1344년(충목왕 즉위년) 슬롯 검증 이제현(李齊賢) - 한국민족문화대백과사전이 상소문에서 “ 캐릭터 슬롯 정방(政房) - 한국민족문화대백과사전의 명칭은 권신(權臣)들의 세대에 생긴 것이지 옛 제도는 아닙니다. 마땅히 정방제도를 혁신하여 이것을 전리(典理)와 군부(軍簿)에 귀속시키고 고공사를 설치하여 그 공과를 평정하며 …”라고 한 것으로 보아, 슬롯 머신 효과 최우(崔瑀) - 한국민족문화대백과사전가 정방을 설치한 뒤로는 고공사의 기능이 거의 유명무실해졌다가 공민왕 이후에야 되살아났음을 알 수 있다.
조선시대인 1405년 3월 태종의 왕권강화를 목적으로 육조가 중심이 되어 국정을 운영하는 육조직계제(六曹直啓制 : 왕과 육조사이에 三議政의 간섭없이 직무를 결정하던 제도)의 실시기도 및 명나라의 속부제(屬部制)와 청리사제(淸吏司制 : 청렴한 관리가 맡는 관직 및 관서의 제도)가 연관되어, 육조속사제(六曹屬司制)가 정립되면서 내외문무관의 공과 · 선악 · 고과(考課 : 근무 평가) · 명시(名諡 : 시호를 내림) · 비갈(碑碣) 등에 관한 일을 맡도록 개정하였다.
그 뒤 보다 세분되고 구체화되어 문관의 공과 · 근만(勤慢 : 근무성적) · 휴가(休暇)와 모든 관사아전(官司衙前)의 근무일수 및 향리자손(鄕吏子孫)의 분별 처리 등에 관한 일을 맡도록 보완되었고, 이것이 『경국대전』에 성문화되어, 제도가 폐지될 때까지 계속되었다. 속관으로는 문관으로 제수된 정랑 1인, 좌랑 1인이 있었고, 일상적인 정사는 정랑과 좌랑이 처리하였으나, 돌발사와 중대사는 판서 · 참판 · 참의의 지시와 협의를 거쳐 처리하였다.