Инструмент для визуального исследования данных Справочника по профессиональным перспективам (OOH) Бюро статистики труда США (BLS). Это не официальный отчет, не научная статья и не экономическая публикация — это инструмент разработки для наглядного изучения данных BLS.
Модифицированная демоверсия: jobs_rusification Оригинальная демоверсия: karpathy.ai/jobs
В данном форке реализована система Focus + Contex. При фильтрации данных структура карты не меняется, что позволяет видеть реальную долю выбранного сегмента относительно всего рынка. Кликайте по строкам статистики для мультивыбора: выбор в одной панели суммирует результаты (логическое ИЛИ), выбор в разных панелях находит пересечение (логическое И). Текст обоснования ИИ доступен во всех режимах просмотра.
BLS OOH охватывает 342 профессии во всех секторах экономики США, предоставляя подробные данные о должностных обязанностях, условиях труда, требованиях к образованию, заработной плате и прогнозах занятости. Произведен полный парсинг этих данных для построения интерактивной визуализации (treemap), где площадь каждого прямоугольника пропорциональна общему уровню занятости, а цвет отражает выбранную метрику. Доступно переключение между прогнозируемым ростом (BLS), медианной зарплатой, требованиями к образованию и уровнем подверженности влиянию ИИ.
Репозиторий включает парсеры, обработчики и конвейер для написания кастомных промптов LLM, позволяющих оценивать и окрашивать профессии по любым критериям. Пишется промпт, LLM оценивает каждую профессию, и treemap перекрашивается в соответствии с результатами. Слой «Цифровое влияние ИИ» (Digital AI Exposure) — лишь один из примеров. Он оценивает, насколько текущий ИИ (преимущественно цифровой) трансформирует каждую профессию. Допускается написание промптов под любые задачи — например, уязвимость к внедрению человекоподобных роботов, риск офшоринга, влияние на климат — с последующим перезапуском конвейера для получения новой цветовой схемы. Промпт и логика оценки находятся в score.py.
Чем «Влияние ИИ» НЕ является:
- Это не прогноз исчезновения профессии. Разработчики ПО получают 9/10, потому что ИИ трансформирует их работу — однако спрос на ПО может легко вырасти по мере увеличения продуктивности каждого разработчика.
- Оценка не учитывает эластичность спроса, скрытый спрос, нормативные барьеры или социальные предпочтения в отношении человеческого труда.
- Баллы — это грубые оценки LLM (Gemini Flash через OpenRouter), а не строгие прогнозы. Многие профессии с высоким уровнем влияния будут трансформированы, а не заменены.
- Сбор данных (
scrape.py) — Playwright (в режиме с интерфейсом, так как BLS блокирует ботов) скачивает сырой HTML для всех 342 страниц профессий в директориюhtml/. - Обработка (
parse_detail.py,process.py) — BeautifulSoup конвертирует сырой HTML в чистые Markdown-файлы в директориюpages/. - Табулирование (
make_csv.py) — Извлекает структурированные поля (зарплата, образование, количество рабочих мест, прогноз роста, код SOC) вoccupations.csv. - Оценка (
score.py) — Отправляет Markdown-описание каждой профессии в LLM вместе с критериями оценки. Каждая профессия получает балл влияния ИИ от 0 до 10 с обоснованием. Результаты сохраняются вscores.json. Форкните репозиторий для написания собственных промптов. - Сборка данных сайта (
build_site_data.py) — Объединяет статистику из CSV и баллы влияния ИИ в компактный файлsite/data.jsonдля фронтенда. - Веб-сайт (
site/index.html) — Интерактивная визуализация (treemap) с четырьмя цветовыми слоями: прогноз BLS, медианная зарплата, образование и цифровое влияние ИИ.
| Файл | Описание |
|---|---|
occupations.json |
Мастер-список 342 профессий (название, URL, категория, slug) |
occupations.csv |
Сводная статистика: зарплата, образование, количество рабочих мест, прогнозы роста |
scores.json |
Баллы влияния ИИ (0-10) с обоснованием для всех 342 профессий |
prompt.md |
Все данные в одном файле, оптимизированном для вставки в LLM |
html/ |
Сырые HTML-страницы с сайта BLS (исходные данные, ~40 МБ) |
pages/ |
Очищенные Markdown-версии страницы каждой профессии |
site/ |
Статический веб-сайт (визуализация treemap) |
Файл prompt.md упаковывает все данные — агрегированную статистику, разбивку по уровням, распределение влияния по зарплате/образованию, прогнозы роста BLS и все 342 профессии с их баллами и обоснованиями — в единый текстовый массив (~45 тыс. токенов), предназначенный для передачи в LLM. Это позволяет вести предметный диалог о влиянии ИИ на рынок труда без необходимости запускать код. Файл пересобирается командой uv run python make_prompt.py.
uv sync
uv run playwright install chromium
Требуется ключ OpenRouter API key в .env:
OPENROUTER_API_KEY=your_key_here
# Сбор данных со страниц BLS (требуется один раз, кешируется в html/)
uv run python scrape.py
# Генерация Markdown из HTML
uv run python process.py
# Генерация сводного CSV
uv run python make_csv.py
# Оценка влияния ИИ (использует OpenRouter API)
uv run python score.py
# Сборка данных для веб-сайта
uv run python build_site_data.py
# Локальный запуск сайта
cd site && python -m http.server 8000