이와 같은 사정기관(司正機關)은 신라 진흥왕 때인 544년에 처음 설치되었다. 고려의 어사대는 이러한 신라의 전통 위에 당나라 · 송나라의 영향을 받아 고려의 정치실정에 맞도록 재정비, 조직된 것이다.
고려 초에는 사헌대(司憲臺)라 하던 것을 995년(성종 14)에 어사대로 바꾸었고, 1014년(현종 5)에는 금오대(金吾臺)로, 그 이듬해에는 다시 사헌대로 바뀌는 등 명칭의 변경이 잦았다.
따라서 관직명이나 관원수의 변화도 잦았으나, 관제가 완비된 문종 때를 기준으로 보면, 판사 1인, 대부(大夫) 1인, 지사(知事) 1인, 중승(中丞) 1인, 잡단(雜端) 1인, 시어사(侍御史) 1인, 전중시어사(殿中侍御史) 1인, 감찰어사(監察御史) 10인이었다.
그리고 이속(吏屬)으로는 녹사(錄事) 3인, 영사(令史) 4인, 서령사(書令史) 6인, 계사(計史) 1인, 지반(知班) 2인, 기관(記官) 6인, 소유(所由) 50인 등이었다.
법제상 주된 기능은 『고려사』 백관지(百官志)에 “시정을 논하고 풍속을 교정해 백관의 부정과 비위를 규찰하고, 탄핵하는 일”로 되어 있다. 그러나 실제로는 어사대의 독자적인 활동보다는 중서문하성의 간관(諫官)인 낭사(郎舍)와 상호불가분한 관계에서 직무가 수행되었다.
따라서 본래의 임무에 봉박(封駁) · 간쟁(諫諍) · 시정논집(時政論執) · 서경(署經) 등의 간관임무가 더해져 그 기능은 광범위하고 다양했다. 이러한 기능을 수행하기 위해 어사대의 관원에게는 불체포 · 불가범(不加犯) · 면계(面戒) 등의 특권과 여러 은전이 부여되었다.
또 청요직(淸要職)으로서의 임무를 수행할 학식 · 출신성분 · 인품 · 외모 등의 여러 가지 자격과 조건이 요구되었다. 즉 역임자들은 과거 출신자로서 인품이 청렴강직하고, 외모가 뛰어난 문벌귀족 출신이 대부분이었다.
그러나 무신집권 시대에는 내료(內寮) 및 항오(行伍) 출신자나 천예(賤隷) 출신까지도 입사하는 등 자격요건이 완화되었으며, 충렬왕 이후 대내외적으로 정치 · 사회적 혼란과 변화를 겪으면서 그 기능과 권한 또한 약화된 듯하다. 그 뒤 1369년(공민왕 18)에 사헌부로 개칭되어 명칭과 기능이 조선으로 이어졌다.
고려의 어사대는 비록 중국의 영향으로 정비되었지만, 중국의 어사대가 관직에 따라 직무가 분화되고, 시정득실을 논하거나 풍속을 담당하는 일은 하지 않았던 데 반해, 고려에서는 감찰어사를 제외한 모든 어사대 관원이 공동으로 직임을 수행했을 뿐만 아니라, 시정논집 및 풍속교정의 기능까지 가진 것으로 보아, 중국보다 언관적 성격이 강했다고 볼 수 있다.