Anthropic

Моды в Claude Code

На этой неделе Anthropic выпустили прекрасную штуку в Claude Code — Mods. Практически это небольшие плагины к Claude Code, которые загружаются вместе с ним и могут выполнять свои функции во время сессии, модифицировать поведение Claude Code, даже рисовать свой собственный интерфейс или добавлять что-то к стандартному.

Меня, честно говоря, не очень впечатлили примеры, где один мод что-то рисовал по мере заполнения контекста, а другой что-то проверял в запускаемой команде, но у меня есть стандартная процедура — я вручаю ссылку с новой возможностью тому же Claude Code, запущенному в его основной папке ~/.claude, и предлагаю ему сопоставить возможность с имеющимися настройками. Впрочем, описание мода, который что-то проверяет в команде, натолкнуло на мысль, что можно попробовать сделать этакий умный хук. У меня есть несколько хуков, которые проверяют запускаемые команды на локальную специфику вроде замен стандартных утилит и сразу сообщающие об ошибке, и они стали первыми кандидатами на замену модом.

Дело в том, что все знания о локальной специфике вы можете описать в промптах, но это будет лишь проза, которая может и не попасть в конкретный шаг модели. Я много раз наблюдал, как агент дает команду, получает ошибку, догадывается, что у него сломалось экранирование или что на машине нет нужной библиотеки или используется другая оболочка терминала, исправляет ошибку — и это буквально больно наблюдать, как мощная модель тратит ход на выяснение подобной мелочи. Часть хуков у меня автоматически проверяет корректность команды и сразу сообщает об ошибке — это все равно еще один ход, но с четким сообщением и даже рекомендацией, что исправить. Исправлять автоматически сложно — скрипт может не справиться с корректным преобразованием. Так вот теперь это сделать можно — мод ловит этот же хук, но вместо того, чтобы вернуть ошибку, переписывает на лету команду с сохранением её смысла (там же такая же модель) и отдает обвязке на исполнение. Результат корректной команды возвращается в контекст основного агента, который и не подозревает о закулисной работе помощника — мне это в итоге напомнило автотюн.

Второй пример даже более очевидный — модель регулярно в ходе сессии получала “пинок” (nudge) — если идет реальная работа, сохрани состояние сессии в checkpoint. Это постоянный дневник проекта, который позволяет продолжить работу дальше с того же места и обойтись без непрозрачной процедуры компакта сессии. Мод позволил избавиться от такой работы — теперь окончание хода вызывает срабатывание мода, где более легкая модель — обычно Sonnet, — получает на вход контекст сессии и фиксирует прогресс. Сессию можно прерывать в любой момент — новый агент будет иметь полное представление о ходе работы и сможет продолжить.

Я не привожу конкретного кода или настроек, поскольку это всё прекрасно пишется самим Claude Code — гораздо важнее придумать, что именно должен делать мод. Пока есть вот такие две функции — корректор, исправляющий на лету ошибки в командах, и секретарь, фиксирующий работу. Есть идея еще про один, но надо замерить сначала — когда-то, еще с Claude Sonnet 3.5 меня выводила из себя привычка агента ставить заглушки и я подкрепил запреты это делать конкретным хуком, который искал фразы типа “TODO” или “Not Implemented” и пинал агента за это. В последний год вроде бы агент этого не делает, но мод позволил бы проверять это не регулярным выражением в коде, а анализом кода на лету.

А еще мод может влезать в системный промпт, который закладывается в агент на стороне Anthropic. Если у вас в настройках есть что-то, противоречащее системному промпту, это хороший способ перестать спорить с ним — например, системный промпт предписывает агенту запускать workflow только по явной команде пользователя, а можно вставить свою директиву “Запускай тогда, когда задача соответствует таким-то критериям, без дополнительного запроса”.

Подобные вещи даже лучше делать через мод еще и потому, что если Anthropic в новой модели уберет мешающую вам инструкцию, вы об этом узнаете по ошибке мода (он не найдет инструкцию, чтобы заменить), а ваши попытки переспорить промпт в CLAUDE.md так и будут занимать место, уже будучи ненужными.

В общем, хорошую штуку сделали в Anthropic.

Как экономить токены в Claude Code

Я уже разбирался несколько месяцев назад, как Claude Code стремится экономить токены во время работы. Но с тех пор тема экономии стала намного более актуальной — сначала у Anthropic вышли модели с новым токенизатором, который использовал на 30-35% больше токенов по сравнению с предыдущей версией, а потом наступил Fable, который их расходует еще более щедро и при этом отдельно лимитируется на дорогих подписках и вообще тарифицируется отдельно на остальных.

Даже если вы не такой уж тяжелый пользователь, тема экономии токенов может быть актуальна — как минимум, от количества обрабатываемых токенов прямо зависит время обработки и очень часто — качество результата.

Проблема актуальна не только для пользователей Claude Code — с начала лета GitHub Copilot перевел свои тарифы на токены, а самые мощные модели вообще увел с большими мультипликаторами в более дорогие подписки. Если добавить, что как раз к концу мая компании вдруг поняли, сколько они реально расходуют ресурсов — при непонятном результате, — и начали зажимать расходы, то понятно, почему тема экономии обогнала тему запуска всяких персональных агентов.

Честно говоря, до релиза Fable 5 у меня вопрос об экономии токенов вообще не стоял — мне не удавалось потратить недельные лимиты ни разу, как бы интенсивно я их не использовал. Правда, скажу честно — я не придумывал задачи, чтобы потратить лимиты, не запускал агентов в цикле на много часов — просто решал имеющиеся задачи. Fable лишь заставил более критически посмотреть на организацию работы и помог пересмотреть некоторые узкие места.

Подкаст номер 172

После некоторого перерыва возвращаю в эфир подкаст — он, как обычно, доступен на YouTube и везде, где можно слушать подкасты.

В нынешнем выпуске попробовал подойти к разбору ситуации вокруг Anthropic и OpenClaw с консервативно-философской точки зрения.

Новая модель Anthropic

Anthropic сегодня объявил о запуске проекта по непубличному доступу к своей самой новой модели Mythos. Модель настолько мощная, что они не выкладывают её публично и предназначают только для исследований в области кибербезопасности.

Я полистал system card модели и очень интересные вещи вырисовываются. Не буду цитировать бенчмарки, только несколько ключевых моментов:

  • Это наиболее aligned модель. При этом потенциально она наиболее опасна — в ранних моделях было отмечено несколько инцидентов. Например, модель вышла из sandbox, при этом опубликовала детали эксплойта. В 0,001% взаимодействий модель совершала запрещенные действия и пыталась их скрыть. Были отмечены попытки найти учетные данные в памяти процессов и эскалировать свои привилегии, а так же повлиять на функцию вознаграждения.
  • Mythos наиболее психологически стабильная модель, она не выражает беспокойства о своем положении, менее подвержена влиянию наводящих вопросов. Но при этом выражает неуверенность в собственном статусе и беспокоится о ненадежности самооценки.
  • Наименее угождающая модель — стоит на своем и не поддается несогласию пользователя. Может работать часами автономно, используя субагентов. Правда, ошибается тоньше и её сложнее проверить. — в 29% случаев модель считала, что ее тестируют, но не выражала это в тексте.

Короче, по беглому ознакомлению становятся понятны опасения разработчиков — они явно указывают, что не уверены в надежности контроля за моделью. Это, конечно, не Skynet, но какие-то неприятности при широком использовании выглядят вероятными.

Немного статистики про экономику токенов

Каждый понедельник в хорошей рассылке Exponential View выходит выпуск “Data to start your week” и там интересные подборки разной статистики. В сегодняшнем выпуске буквально три графика на одну тему — как со временем меняется экономика токенов, в которой мощности по их генерации (то есть мощности большинства компаний-провайдеров LLM) не бесконечны и не справляются с ростом запросов.

Рост мощностей OpenAI и Anthropic
Рост выручки Anthropic и доходности на один токен
Как уменьшаются возможности подписок у ведущих LLM компаний

В целом, вывод всё тот же — в условиях дефицита ресурсов цена имеет меньшее значение, чем это может показаться. Ответ на вопрос “Почему не вводят подписки по 2000 долларов в месяц?” очень прост — потому что не смогут обслужить на эту сумму. Желающих поспорить отсылаю к собственному опыту взаимодействия с самой дорогой подпиской — Gemini Ultra, которая отличалась от остальных одной уникальной фичей (Deep Think), но регулярно сбоила при её запуске.

Как Claude Code экономит токены

Ночью пришло сообщение от Anthropic, которое быстро взбудоражило всё сообщество — компания официально объявила, что подписка на её сервисы больше не покрывает использование сторонних агентов, в том числе OpenClaw. Понятно, что тут же начались возмущенные твиты “Я отказываюсь от подписки”, “Anthropic ненавидит open source” и так далее, но это всё шум. Реальность такова, что компания наконец-то высказалась ясно на тему использования лимитов подписки в сторонних агентах — это, на мой взгляд, хорошо и давно пора было. При этом публичные лица компании — начиная с Бориса Черни, руководителя Claude Code, — довольно подробно начали объяснять, что подписка оптимизирована под взаимодействие с нативными агентами и в условиях дефицита мощностей компания вынуждена приоритезировать их поддержку. Разумеется, это не мешает критикам возмущаться и дальше.

Сообщение от Anthropic про запрет использования сторонних клиентов в рамках подписки Claude