Transcription
Большинство советов по лимитам клодкода сводится к одному. Думайте точнее: пишите промты конкретнее, чистите контекст чаще, дробите задачи. Это работает, но это про то, что нужно делать по-другому вам самим. Однако самые большие выигрыши я получил вообще не от промтов.
То есть есть другой класс инструментов, и они сокращают расход структурно. То есть система физически гоняет меньше данных при той же работе. То есть без переделки процесса просто добавляете новый инструмент и получаете больше выполненных задач в рамках лимитов.
Меня зовут Евгений. Я занимаюсь веб-разработкой больше 20 лет и здесь помогаю запускать свои САС проекты и автоматизировать работу с помощью веб-кодинга. Перед началом поставьте лайковаться и напишите в комментариях, над каким проектом или идеей сейчас работаете.
И разберём четыре стратегии. Первые две сокращают входящие токены, то, что клодкод читает. Третье - сокращает исходящие токены, то, что клодкод пишет в ответ. Четвёртое - это то, что встроено в сам клод-код, но большинство им не пользуется. Смотрите видео до конца, поскольку все четыре стратегии закрывают разные части одной и той же задачи по сохранению лимитов. Одной стратегии для этого не хватит.
И первая стратегия - это индексирование вашего кода. Инструмент называется код граф. Есть и другие инструменты. Нам главное понять сам принцип, как это работает. Подобрать можно под себя. Этот довольно популярный. Смысл в том, что когда клодкод ищет файл или функции, он запускает специальных агентов, которые сканируют ваш код через три инструмента: ГРЕП для поиска по содержимому файлов, Гlб для поиска по шаблонов имён файлов и read для прямого чтения файлов. То есть один за другим он ищет и читает файлы, пока не найдёт нужное. В большом проекте на каждый такой поиск уходит масса токенов. И это ещё до того, как Лот-код начал что-то делать по задаче. Иногда он читает десятки файлов, которые в итоге оказываются не нужны.
На всякий случай отмечу, что если не знаете, что такое индексирование, то это то, как работает любой поисковик. Google не читает весь интернет заново. Каждый раз, когда вы что-то ищете. Он строит заранее карту. Какое ключевое слово ведёт к какому сайту. Когда вы ищете, он идёт в эту карту, а не в интернет. Кодграф делает почти то же самое для вашего кода. То есть код граф создаёт локальную базу данных прямо на вашем компьютере. Граф всех символов, вызовов функций, импортов библиотек и тому подобное. То есть никакие данные никуда не уходят, всё хранится на вашем компьютере. Когда клодкоду нужно получить какую-то информацию, он ищет её не в файлах, а получает сразу из этого графа.
Установщик простой. Вводим одну команду в терминале и пользуемся. Сам граф строится в корне проекта. Дальше код сам разбирается, как использовать этот инструмент. Когда что-то меняется в коде, нужно запускать специальную команду SN, чтобы граф обновился. Разработчики протестировали этот инструмент на реальных open source проектах. Например, для языка TypeScript было около 10.000 файлов, и по результату получилось 80% меньше вызовов инструментов. На 70% меньше израсходовалось токенов, вышло на 33% дешевле. для проекта на языке Python на 3.000 файлов на получилось на 77% меньше вызовов, на 70% меньше токенов израсходовалось, вышло на 23% дешевле. В среднем по всем тестам на 62% меньше вызовов инструментов, на 57% меньше токенов расходуется, на 25% дешевле выходит использование клод-кода.
Но в каждом инструменте есть свои нюансы. То есть когда вы добавляете новые файлы или серьёзно переписываете код, граф нужно синхронизировать вручную через команду S. Если вы забыли это сделать, клод-код будет уверенно искать то, чего уже нет. И есть ещё один нюанс. Например, если у вас есть клод MD файлы на уровне отдельных модулей, отдельных папок, то есть граф их может пропускать, он найдёт нужный файл clд MD, но не загрузит контекст модуля рядом. Например, в этом clд MD может быть написано: "Для выполнения такой-то задачи используют такие-то инструменты, используя такие-то функции, такие-то модули уже написаны. Граф найдёт этот файл, но клод не получит инструкции, которые ему нужно выполнить в соответствии с этим файлом.
Ещё отмечу, что таких инструментов много. И если ручная синхронизация кажется неудобной, есть инструменты с автоматической. Они немного сложнее в настройке, но решают задачу без участия человека. Такая система состоит уже из трёх частей. То есть построение графа - это то, что мы сейчас рассматриваем, автосинхронизация и MCP-сервер, с которым клод-коду легче работать. Настроить это чуть сложнее, но работает без ручных команд. Если такая тема вам интересна, напишите в комментариях. Разберу, как это собрать в следующих видео.
И раз мы говорим о том, сколько код считает при работе с проектом, отмечу следующее, что когда я стартую новый САС, начинаю с фреймворка ваншот. То есть это мой готовый стартер, который закрывает авторизацию, восстановление пароля, личный кабинет, платёжную систему, email уведомления и панель администратора. Но здесь важно другое, что ваншот специально спроектирован для работы через искусственный интеллект. Внутри проекта есть папка AI - это навигационная система для агента. Там лежит файл INDКM MD, который читает агент перед каждой задачей. И в нём как раз карта, какие файлы читать при работе с модулем, какие при создании нового, какие при работе с AP или миграциями и тому подобное. То есть агент не сканирует весь проект, он идёт по карте и читает только то, что нужно для конкретной задачи. Меньше чтения, меньше токенов. Сам фрейвок бесплатный, ссылка на GitHub в описании. И рядом также бесплатный курс по вебкозидингу - это для всех, кто хочет разобраться, как создавать свои САС-проекты, либо автоматизировать свою работу с помощью искусственного интеллекта без навыков программирования.
Вторая стратегия - это сжатие вывода. Инструмент называется ТК R token Killer. Первой стратегии код граф решает вопрос, сколько раз Cloudкод обращается к коду. Он идёт в граф и находит нужную информацию за один запрос вместо, например, десяти. Но иногда кд-код всё равно читает файлы напрямую через баш команды C, грминале RG и так далее. И вот то, что он в этом терминале читает, сжимает. То есть код граф сокращает количество обращений, а РТК сокращает объём данных при каждом обращении. Так они вместе работают над одной и той же задачей с двух сторон. Сокращают и само количество обращений, и информацию, которую они получают в этих обращениях.
Ртак написано Rast. Он работает как отдельный файл без зависимости. То есть на Mac Linux устанавливается одной командой, на Windows немного иначе. Нужно скачать готовое приложение со страницы релизов и прописать переменное окружение либо использовать VSL. Тогда будет работать как на Linux. Это приложение перехватывает вывод баш команд и применяет четыре механики: убирает шум, группирует похожие строки, обрезает лишнее и схлопывает повторы. Всё это до того, как данные попадают в контекст лоткода. И вот конкретные цифры из документации. Команда Греп или RG в баш восемь вызовов за сессию. 16.000 токенов расходуется без РТК, 3.200 с РТК, то есть -80%. Команда кат для чтения файлов через баш. Делается 20 вызовов. 40.000 токенов расходуется против 12.000 Сартака. Экономия 70%. Аналогичная экономия по другим командам. По данным разработчикам, за 30 минут обычной сессии суммарная экономия около 80%. Со 11.000 токенов расхода получается 24.000 токенов расхода.
Есть и компромиссы для этого инструмента. При сжатии РТК тире данные. И если вы занимаетесь, например, отладкой своего приложения и вам важен каждый лог, вся информация, которая отображается в контексте, то отключите этот инструмент для такой задачи. Для обычной же работы, когда нет особых требований к контексту, это работает хорошо.
Третья стратегия, моя любимая. Инструмент называется Cavman. Чем-то этот инструмент был бы хорош для чата GPT, чтобы устранить его подходилимство. Слоган у этого инструмента такой: зачем использовать много токенов, когда мало токенов тоже справится? По сути, Квman делает одно: заставляет плот-код говорить короче при том же смысле. И вот реальный пример из документацией. Обычный ответ на вопрос про реакт может звучить так: что причина, по которой ваш компонент перерендовается, вероятно в том, что вы создаёте новую ссылку объекта та-тата-тата, да, это 69 токенов. А тот же ответ с Кэвменом звучит так: новая ссылка при каждом рендере оберни в юзмема. Расходуется всего 19 токенов, а технически точность получается такая же.
Отмечу, почему это важно. Клод-код, когда работает, он строит цепочку сообщений в контексте сессий. Каждый ответ добавляется в историю и читается в следующем запросе. То есть, когда вы пишете что-то в чат, для того чтобы сформировать ответ, кд-код берёт все предыдущие сообщения, отправляет их в модель OPUST либо хайку и получает ответ. Таким образом, в модели идёт не одно сообщение, которое вы написали, а весь предыдущий контекст. Соответственно, при длинных сообщениях контекст раздувается очень быстро, и Кэвмен как раз сжимает ответы, контекст растёт медленнее за счёт того, что он пишет меньше текста, который ему нужно потом будет переслать себе обратно.
Есть четыре режима работы: Light убирает лишние слова, Фу - стандартный режим, Ультра - по сути дела как целеграфная речь. Есть режим для классического и китайского режима - самый компактный. Я обычно держу ультра, пока не нужна точность при сложном планировании. По тестам разработчиков на реальных задачах получаются следующие цифры: отладка бага на реакт проекте вместо 1.180 токенов без Кэвмена израсходовалась 159 с Кэвманом, то есть -87%. Фикс авторизации 704 токена против 121 -83%. Безусловно, всё зависит от задачи, но в среднем по всем проектам получается 65% экономия за счёт сжатия исходящих токенов.
Устанавливается это всё одной команды. Есть установщики для Mac, и для Windows, и для Linux. Активируется через команду Kman в самой сессии клодкода. Компромисс тот же, что и РТК. Поскольку контекст сжимается, меньше слов, значит, соответственно, меньше точность. И когда клодкод объясняет, что собирается сделать, и вы хотите это проверить, подробный ответ может быть вам полезен. Для рутите задач можно смело включать ультрарежим.
В начале я говорил, что вся эти стратегии не про то, чтобы думать иначе. Это правда для первых трёх. Поставили эти инструменты и они работают. Четвёртая стратегия чуть отличается. Это базовые вещи, встроенные в сам клод-код. Их знают многие, но не делают, потому что они требуют не установки, а привычки. И здесь не стоит ждать от себя сразу, что вы будете делать всё правильно. Просто держите это в фокусе. С практики будет выстраиваться само, и с каждым разом у вас будет получаться всё лучше.
И первое - это команда контекст. Она показывает, что сейчас занимает место в контексте. То есть запустите эту команду и посмотрите. И там может быть большой клод MDфайлile, например. Иногда он может занимать 20, 30, 40, 50.000 токенов. И каждый новый сеанс может начинаться с того, что вы потратили уже 5% своего контекста ещё до запуска первого запроса. И здесь же будет видно, какие сейчас подключены MCP-серверы. То есть это внешние инструменты, которые CLД-код загружает при старте. Если у вас подключено, например, 5 MCP, а вы реально используете один, остальные четыре просто висят и занимают место в каждой сессии. Отключите те, которыми не пользуетесь. Иногда бывает, что вы находите инструмент, который подключали месяц назад и уже забыли о нём. А он каждый раз грузится. Аудит этого контекста стоит сделать один раз для того, чтобы убрать лишний расход.
Второе. Команда Clear, она очищает контекст. То есть закончили задачу, начинаете другую, чистите контекст. Нести историю предыдущей задачи в новую сессию нет никакого смысла.
Третье правило: использовать разные модели для разных задач. Переключается через команду модель. То есть опус не нужен для всего. Хайку справляется с навигацией по файлам, поиском простыми изменениями. Sonet для средних задач. Опус для сложного планирования и архитектуры. Я переключаю модель под задачу постоянно. Единственное, не стоит экономить на опусе, когда задача требует именно опуса. Сэкономить здесь обычно стоит дороже в переделках.
И четвёртое - это режим планирования перед реализации. В клодко-коде это отдельный режим. Он включается через shift перед вводом задачи. Когда есть план, клод-код не блуждает по всему вашему коду и не пробует разные подходы подряд. Для того, чтобы составить план, он уже использует дешёвую модель хайку, которая расходует меньше лимитов. Она структурирует план, находит всё, что нужно, и потом более дорогие модели его уже выполняют без необходимости заново сканировать весь код дорогими моделями.
И повторюсь, что у каждого из этих инструментов есть своя цена. Код графра синхронизируется. Нужно помнить про команду SN. RTК может терять данные при сжатии. Квman тоже может срезать важный контекст. Сессионные инструменты работают только, если вы о них думаете и применяете. И всё это компромиссы. Важно выбирать, что включать под задачу, и тогда расход лимитов будет управляемым.
И ещё один момент, насколько, в принципе, хорошо клодкод ориентируется в вашем проекте. Это напрямую влияет на расход лимитов. Плохая структура проекта, непонятный клод MD-файл, запутанная иерархия файлов. В итоге клод ходит по кругу и тратит токены просто на поиск. Но сами токены - это не единственная проблема. Плохая архитектура проекта бьёт по самому проекту. Его становится сложно поддерживать, добавлять новую функцию, значит, сломать три старых, а сам разработчик через месяц перестаёт понимать, как это всё устроено. Искусственный интеллект в таком проекте только усиливает хаос.
Если хотите стартовать так, чтобы искусственный интеллект понимал ваш проект с первой задачей и вы сами понимали через полгода, что происходит, я помогаю запускать с вас проекты и сайт пропроекты с помощью вабкозинга. Ссылка в описании. И напишите в комментариях, какой из этих инструментов потестируется первым.