Поляков считает: AI, код и кейсы
@countwithsasha
Встроенные Claude Skills — мусор. Написал свой для работы с договорами и сэкономил 95% токенов
В октябре Anthropic выкатил Claude Skills для автоматизации рутины. Я сразу бросил их на классическую задачу — заполнение договоров по шаблону. Раньше я делал такое в n8n, решение было не простым, писал про это весной.
🔧 Задача и первая попытка
Задача простая: есть шаблон договора в docx, есть набор реквизитов — нужно автоматически заполнить документ.
В приложении Claude уже встроен специальный навык для работы с документами — ничего даже устанавливать не нужно. Под капотом работает библиотека ooxml (Open Office XML).
Прямых указаний на это мало, но в официальном репозитории пишут именно так «Versions of these skills ship pre-included with Claude».
Я попробовал заполнить простой договор реквизитами своего ИП. И столкнулся с проблемами.
📉 Три критичные проблемы встроенного навыка
Первое — безумный расход контекста. Один 4-страничный договор сжигает 30% лимита токенов на базовой подписке. Это ~15 тысяч токенов — как если бы модель обработала 20-30 страниц текста. При втором тесте тот же запрос съел вообще 100% лимита.
Второе — встроенный навык выполняет около 30 шагов на договор. Он не просто заполняет поля — он пишет код, проверяет документ, читает его целиком. Если шаблон на 30 страниц, все 30 страниц попадут в контекст.
Третье — ломается форматирование. Текст, выровненный по левому краю, превращается в растянутый по всей ширине листа. Приходится вручную исправлять. Забавно, что на втором кейсе с потреблением 100% сессионного лимита ошибки не было.
🔨 Переосмысление подхода
Claude Skills работают по простому принципу: это папка с
Система сканирует доступные навыки и читает краткое описание из метаданных, затрачивая всего несколько десятков токенов на каждый навык. Полная инструкция загружается только когда пользователь запрашивает соответствующую задачу.
Я решил написать собственный навык, использующий библиотеку docxtpl вместо ooxml и не уничтожающий контекст избыточными инструкциями.
📊 Результаты оптимизации
Мой собственный навык:
🔸 8 шагов вместо 30 — почти в четыре раза меньше
🔸 Не читает содержимое договора — извлекает поля и заменяет через docxtpl
🔸 Сохраняет форматирование — Jinja2-синтаксис не ломает стили
🔸 Экономит до 95% контекста — договор не попадает в окно модели вообще. Всё занимает один прогон.
Единственное условие: реквизиты нужно вставлять в контекст сообщения, а шаблон прикреплять как docx файл. Плата за эффективность.
Главная проблема, не допустить Claude использовать встроенный прожорливый навык.
🎓 Что я понял про Claude Skills
Во-первых, Claude Skills — это не просто промпт-инжиниринг. Это способ изолировать повторяющиеся действия от промпта, заменив их кодом. Однако в Anthropic пошли другим путем — вместо простого кода навык напичкан инструкциями, которые сжирают контекст.
Во-вторых, встроенные навыки Anthropic отлично подходят для демонстрации идеи. Но для реальных задач имеет смысл писать собственные. Странный ход с встроенными навыками имхо.
А вы уже пробовали Claude Skills? Какие задачи автоматизировали?
Кстати, код моего навыка выложу в комментариях для тех, кто захочет повторить.
----
Поляков считает — про ИИ, рекламу и аналитику.
В октябре 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