Когда в 2025 году Anthropic выкатила свою библиотеку промптов, я подумал: «Ну всё, теперь каждый сможет писать промпты как Senior-инженер». Но прошел год, и стало понятно — библиотека это лишь стартовая площадка. А вот скиллы Мэтта Покока — это уже ракетный двигатель. Я решил проверить обе системы на реальной задаче, которая бесит каждого DevOps: парсинг Хабра. Без купюр, без прикрас — как есть.
Дисклеймер: я не использую слово «библиотека промптов» как маркетинговую пыль. Anthropic действительно выпустили коллекцию шаблонов для Claude — от написания писем до генерации кода. А Мэтт Покок (тот самый автор официального гайда по Claude Code) создал свою систему скиллов — модульных промптов, которые можно цеплять к задачам как кубики Lego. Разница фундаментальная: у Anthropic — это рецепты, у Покока — конструктор.
Почему именно Хабр? (спойлер: это не случайно)
Хабр — идеальный полигон. Во-первых, структура статей сложная: заголовки, теги, автор, текст с кодом, карусель изображений. Во-вторых, сайт активно защищается от ботов: Cloudflare, rate limiting, динамическая загрузка. В-третьих, контент на русском, а LLM традиционно хуже понимают неанглийские языки. Если парсер справится с Хабром — справится с любым новостным порталом.
Раунд 1: Официальная библиотека Anthropic
Берём готовый промпт «Web Scraper» из библиотеки. Вот его суть (адаптировал под задачу):
You are an expert web scraper. Given a URL, fetch the content (using the fetch tool), extract the following fields:
- title
- author
- publish_date
- tags
- body_text
If the site returns a 403 or requires JavaScript, use the headless_browser tool.
Return the results as a JSON object.
Красиво, лаконично. Но на практике этот промпт ведёт себя как новичок, который впервые видит 403-ю ошибку. Claude с этим промптом:
- При первом же 403 переключается на headless-браузер, даже если можно было бы обойтись сменой User-Agent.
- Не умеет ждать между запросами — сразу вылетает в rate limit.
- Теряется, когда в ответе приходит капча — просто сообщает «Unable to fetch» и останавливается.
- Наугад парсит только первые абзацы, потому что не имеет инструкции обрезать контекст.
Результат: из 10 статей удалось распарсить 3. Остальные либо упали в капчу, либо дали неполный текст. Метрика качества: 30% — этого недостаточно для продакшена.
Главная проблема библиотеки Anthropic — она учит Claude писать код, но не учит его думать как оператор-парсер. Нет обработки ошибок, нет retry-логики, нет приоритезации инструментов. Это не баг, а фича минималистичного дизайна — но для реальной задачи этого мало.
Раунд 2: Скилл Мэтта Покока «Web Scraper Pro»
Мэтт Покок пошёл другим путём. Он не даёт один промпт — он даёт систему скиллов, которые можно комбинировать. Вот как выглядит конфигурация для парсинга Хабра (сокращённо):
skills:
- name: web_scraper
config:
anti_block: true
max_retries: 3
rotate_user_agent: true
use_headless_on_403: true
- name: extractor
config:
fields: [title, author, date, tags, body]
language: ru
handle_captcha: "alert_user_and_abort"
- name: rate_limiter
config:
requests_per_minute: 10
exponential_backoff: true
- name: json_output
config:
include_metadata: true
Claude загружает эти скиллы в начале сессии. Теперь поведение кардинально меняется:
- Сначала пытается GET-запрос с нормальным User-Agent. Если 403 — не паникует, а пробует сменить User-Agent и перезапросить.
- Если всё ещё 403 — включает headless-браузер, но не сразу, а через паузу в 2 секунды.
- При обнаружении капчи — просто записывает в вывод «captcha_detected» и переходит к следующей статье (без зависания).
- Текст обрезает до 4000 символов, если контекст переполняется.
- Между запросами делает паузу, соблюдая лимит 10 запросов в минуту.
Результат: из 10 статей успешно распарсено 9. Одна статья не удалилась из-за динамического контента в карусели (но это уже детали). Метрика качества: 90%. Затрачено токенов примерно на 15% больше, чем в первом варианте, но результат несравним.
Почему скиллы Покока работают, а библиотека Anthropic — нет?
Разгадка в философии. Anthropic создавал библиотеку для демонстрации возможностей Claude — быстрый старт, минимальный порог входа. Это как дать новичку отвертку: можно закрутить шуруп, но если надо собрать серверную стойку — одной отверткой не обойдешься.
Покок же подходит как инженер: он разбивает задачу на изолируемые компоненты (скиллы), каждый из которых выполняет одну функцию. Эти компоненты можно комбинировать, донастраивать, тестировать отдельно. В его системе нет «магии» — есть чёткие правила, которые Claude понимает и выполняет предсказуемо.
Ещё одна деталь: скиллы используют Agile-принципы. Я не шучу. Каждый скилл описывает свои требования, границы ответственности, сценарии отказа. Это похоже на user story в Jira — только для LLM. И это работает, потому что Claude (особенно версия Claude 4 Sonnet) умеет следовать декомпозированным инструкциям намного точнее, чем одной здоровенной простыне текста.
Болевые точки и как не надо делать
В ходе эксперимента я собрал целую коллекцию граблей. Вот пара самых сочных:
Ошибка №1: Промпт-гигантомания. Я пытался в одном файле описать всё — и как парсить, и как обрабатывать ошибки, и как выводить результат. Claude впадал в ступор, начинал игнорировать часть инструкций, выдумывать свои правила. В итоге ни один из 10 запусков не был стабилен. Решение: разбить на маленькие инструкции с чёткими триггерами. Скиллы Покока — это именно такой подход.
Ошибка №2: Забывать про rate limit. Claude без инструкции может сделать 100 запросов за минуту и получить бан. Библиотека Anthropic вообще не упоминает ограничения — она предполагает, что разработчик сам позаботится. Покок же добавляет отдельный скилл rate_limiter, который висит на все HTTP-вызовы. Мелочь, но критичная.
Кстати, если вы хотите увидеть, как правильно организовать агентный парсер с автоматическим переходом на headless-браузер, советую глянуть статью AgentCrawl: Как создать оптимизированный под LLM скрапер. Там как раз описан похожий подход.
Что в итоге: battle resolved
Если честно, я надеялся, что библиотека Anthropic выиграет — ведь это официальный продукт, заточенный под Claude. Но реальность жёстче. Для одноразовых задач — написать скрипт, проанализировать лог — библиотека отлично подходит. Но для системной работы, где нужна устойчивость и предсказуемость, скиллы Покока кладут библиотеку на лопатки.
Мой прогноз: через год Anthropic либо купит Покока, либо сделает редизайн своей библиотеки в сторону модульности. Потому что рынок AI-агентов не прощает сырости. Вспомните, как развивался Docker: сначала был монолит, потом контейнеры, потом оркестрация. С промптами та же эволюция.
Если вам интересна тема агентов и парсинга, почитайте материал про LLM-агента, который находит баги в библиотеках — там как раз обсуждается, как задавать скиллы для анализа кода. Или загляните в Hister: гугл для AI-агента, который не сливает данные в облако — отличный пример инженерного подхода к агентам.
А я пошёл дальше тестить скиллы на парсинге Telegram-каналов. Спойлер: там Покок снова выиграл, но об этом в другой раз.