avatar
Поляков считает: AI, код и кейсы
@countwithsasha
03.11.2025 10:23
Встроенные Claude Skills — мусор. Написал свой для работы с договорами и сэкономил 95% токенов

В октябре Anthropic выкатил Claude Skills для автоматизации рутины. Я сразу бросил их на классическую задачу — заполнение договоров по шаблону. Раньше я делал такое в n8n, решение было не простым, писал про это весной.

🔧 Задача и первая попытка

Задача простая: есть шаблон договора в docx, есть набор реквизитов — нужно автоматически заполнить документ.

В приложении Claude уже встроен специальный навык для работы с документами — ничего даже устанавливать не нужно. Под капотом работает библиотека ooxml (Open Office XML).
Прямых указаний на это мало, но в официальном репозитории пишут именно так «Versions of these skills ship pre-included with Claude».

💡 Для шаблонов встроенного навыка можно использовать плейсхолдеры двух типов: [ПРИМЕР_ПОЛЯ] в квадратных скобках или {{ПРИМЕР_ПОЛЯ}} в стиле Jinja2.


Я попробовал заполнить простой договор реквизитами своего ИП. И столкнулся с проблемами.

📉 Три критичные проблемы встроенного навыка

Первое — безумный расход контекста. Один 4-страничный договор сжигает 30% лимита токенов на базовой подписке. Это ~15 тысяч токенов — как если бы модель обработала 20-30 страниц текста. При втором тесте тот же запрос съел вообще 100% лимита.

‼️ Причина — в самом навыке. В него зашиты избыточные инструкции вроде MANDATORY - READ ENTIRE FILE, которые заставляют его читать документ целиком, даже когда это не нужно.


Второе — встроенный навык выполняет около 30 шагов на договор. Он не просто заполняет поля — он пишет код, проверяет документ, читает его целиком. Если шаблон на 30 страниц, все 30 страниц попадут в контекст.

Третье — ломается форматирование. Текст, выровненный по левому краю, превращается в растянутый по всей ширине листа. Приходится вручную исправлять. Забавно, что на втором кейсе с потреблением 100% сессионного лимита ошибки не было.

🔨 Переосмысление подхода

Claude Skills работают по простому принципу: это папка с SKILL.md файлом, содержащим инструкции в формате YAML + Markdown.

Система сканирует доступные навыки и читает краткое описание из метаданных, затрачивая всего несколько десятков токенов на каждый навык. Полная инструкция загружается только когда пользователь запрашивает соответствующую задачу.

☝️ Если мы хотим экономить на токенах, то инструкция должна быть очень простой.


Я решил написать собственный навык, использующий библиотеку docxtpl вместо ooxml и не уничтожающий контекст избыточными инструкциями.

📊 Результаты оптимизации

Мой собственный навык:

🔸 8 шагов вместо 30 — почти в четыре раза меньше

🔸 Не читает содержимое договора — извлекает поля и заменяет через docxtpl

🔸 Сохраняет форматирование — Jinja2-синтаксис не ломает стили

🔸 Экономит до 95% контекста — договор не попадает в окно модели вообще. Всё занимает один прогон.

Единственное условие: реквизиты нужно вставлять в контекст сообщения, а шаблон прикреплять как docx файл. Плата за эффективность.

Главная проблема, не допустить Claude использовать встроенный прожорливый навык.

🎓 Что я понял про Claude Skills

Во-первых, Claude Skills — это не просто промпт-инжиниринг. Это способ изолировать повторяющиеся действия от промпта, заменив их кодом. Однако в Anthropic пошли другим путем — вместо простого кода навык напичкан инструкциями, которые сжирают контекст.

Во-вторых, встроенные навыки Anthropic отлично подходят для демонстрации идеи. Но для реальных задач имеет смысл писать собственные. Странный ход с встроенными навыками имхо.

🚀 Главный инсайт: навыки надо писать самим и не доверять такое дело LLM.


А вы уже пробовали Claude Skills? Какие задачи автоматизировали?

Кстати, код моего навыка выложу в комментариях для тех, кто захочет повторить.

----

Поляков считает — про ИИ, рекламу и аналитику.
10
👍 8
🔥 5
👏 1
1 24 906

Обсуждение 1

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

Поляков считает: AI, код и кейсы

6.4K
Пишу про AI, вайбкодинг и кейсы применения. Связаться: @polyakovbest
Открыть в Telegram