GitHub - karpathy/jobs: Analyzing how susceptible every occupation in the US economy is to AI and automation, using data from the Bureau of Labor Statistics
Blog

GitHub - karpathy/jobs: Analyzing how susceptible every occupation in the US economy is to AI and automation, using data from the Bureau of Labor Statistics

karpathy
2026.03.15
·GitHub·by 이호민
#AI#Automation#Data Analysis#LLM#Visualization

핵심 포인트

  • 1이 프로젝트는 Bureau of Labor Statistics (BLS)의 데이터를 활용하여 미국 직업 시장의 AI 노출도를 분석합니다.
  • 2LLM(Gemini Flash)과 0-10점 척도 평가 시스템을 사용하여 342개 직업 각각의 AI 노출도 점수와 근거를 측정했습니다.
  • 3이 분석 결과는 고용 규모(area)와 AI 노출도(color)를 시각화한 대화형 treemap으로 제공되며, LLM 프롬프트를 통해 데이터 기반의 추가 분석이 가능합니다.

본 논문은 미국 노동 통계국(BLS)의 직업 전망 핸드북(OOH) 데이터를 활용하여 미국 경제의 모든 직업이 AI 및 자동화에 얼마나 취약한지 분석하는 프로젝트를 설명합니다. 최종 목표는 직업별 AI 노출(AI Exposure) 정도를 시각화하고 평가하는 것입니다.

이 프로젝트는 342개 직업에 걸쳐 직무, 작업 환경, 교육 요구 사항, 급여, 고용 전망 등에 대한 상세 데이터를 BLS OOH에서 확보했습니다. 핵심 방법론은 다음과 같은 데이터 파이프라인으로 구성됩니다.

  1. 스크래핑 (Scraping): scrape.py 스크립트는 Playwright를 사용하여 342개 직업 페이지의 원본 HTML을 html/ 디렉토리에 다운로드합니다. BLS의 봇 차단을 우회하기 위해 headless 모드가 아닌 방식으로 실행됩니다.
  1. 파싱 (Parsing): parse_detail.pyprocess.py 스크립트는 BeautifulSoup 라이브러리를 활용하여 원본 HTML을 클린한 Markdown 파일로 변환하여 pages/ 디렉토리에 저장합니다.
  1. 데이터 표 형식화 (Tabulation): make_csv.py 스크립트는 Markdown 파일에서 급여, 교육 수준, 직업 수, 성장 전망, SOC 코드와 같은 구조화된 필드를 추출하여 occupations.csv 파일로 저장합니다.
  1. AI 노출 스코어링 (AI Exposure Scoring): score.py 스크립트가 이 프로젝트의 핵심 단계입니다. 각 직업의 Markdown 설명을 LLM(대형 언어 모델, 여기서는 OpenRouter를 통한 Gemini Flash)에 전송하고, 정교하게 정의된 스코어링 루브릭(scoring rubric)을 사용하여 0에서 10까지의 "AI Exposure" 점수와 함께 해당 점수에 대한 추론(rationale)을 받습니다. 이 결과는 scores.json 파일에 저장됩니다. AI 노출 점수는 AI가 직접 작업을 수행하는 직접적인 자동화 효과와 AI로 인해 작업자의 생산성이 향상되어 필요한 인력이 줄어드는 간접적인 효과를 모두 고려합니다. 특히, 작업 결과물이 본질적으로 디지털(digital)한 경우(예: 컴퓨터로만 작업 가능한 경우) AI 노출도가 높다고 판단하며, 물리적 존재, 수동 기술 또는 실시간 인간 상호작용이 필요한 직업은 AI 노출에 대한 자연적인 장벽이 있다고 간주합니다. 342개 직업의 평균 AI 노출 점수는 5.3/10입니다.
  1. 사이트 데이터 구축 (Building Site Data): build_site_data.py 스크립트는 occupations.csv의 통계 데이터와 scores.json의 AI 노출 점수를 통합하여 프론트엔드를 위한 압축된 site/data.json 파일을 생성합니다.
  1. 웹사이트 (Website): site/index.html은 대화형 트리맵(interactive treemap) 시각화를 제공합니다. 각 직사각형의 면적은 고용 인원수(number of jobs)에 비례하며, 색상은 AI 노출도를 나타냅니다(녹색: 안전, 빨간색: 노출됨). 직업은 BLS 카테고리별로 그룹화되며, 마우스를 올리면 급여, 일자리 수, 전망, 교육, 노출 점수 및 LLM 추론이 포함된 상세 툴팁(tooltip)이 표시됩니다.

또한, prompt.md 파일은 LLM 분석을 위해 모든 집계 통계, 계층별 분류, 급여/교육 수준별 노출도, BLS 성장 전망, 그리고 342개 직업의 점수 및 추론을 단일 파일(~45K 토큰)로 통합하여, 코드 실행 없이 AI의 직업 시장 영향에 대한 데이터 기반 대화를 가능하게 합니다.