Инструмент поиска инструментов откладывает загрузку инструментов, оптимизируя контекст и снижая потребление токенов
Контекст оптимизирован, потребление токенов сокращено (например, Lovable сократил использование токенов на 10%), и модель стала более осторожной в отношении того, что попадает в контекст.
Видео-источник
Инструмент поиска инструментов откладывает загрузку инструментов, оптимизируя контекст и снижая потребление токенов
Связка 1
Начальное состояние: В контексте многоцелевого агента загружены десятки или сотни инструментов, что занимает много места в системном промпте и оставляет мало места для фактической работы.
Преобразование: Tool search tool откладывает загрузку объявленных инструментов, загружая их только в тот момент, когда модель в них нуждается, и не загружая их, если они не понадобились в конкретной траектории.
Конечное состояние: Контекст оптимизирован, потребление токенов сокращено (например, Lovable сократил использование токенов на 10%), и модель стала более осторожной в отношении того, что попадает в контекст.
Итак, контекстная инженерия — это действительно дисциплина. Это дисциплина принятия решений о том, что должно быть в контексте Клода. Одна из ошибок, которую я вижу у разработчиков, — это использование абстракций поверх платформы, которые скрывают содержимое контекста, и тогда как разработчик вы не знаете, что именно видит Клод в своем контексте, и это затрудняет оптимизацию. Это мешает вам быть инженером контекста. Поэтому я призываю вас уделять большое внимание просмотру полного транскрипта, к которому имеет доступ Клод, который использует Клод, потому что это будет очень полезно.
И эта дисциплина заключается в том, что вы принимаете активное решение о том, что должно быть включено. Я расскажу о трех различных инструментах, которые у нас сегодня есть в production, чтобы помочь вам управлять контекстом.
Первый — это сокращение объявлений инструментов в платформе, в вашем контексте. Второй — сокращение результатов инструментов, которые загрязняют контекст, и, наконец, compaction (сжатие) уменьшает все те устаревшие шаги, которые больше не нужны. Давайте рассмотрим каждый из них и посмотрим, как они выглядят.
Итак, с помощью tool search tool (инструмента поиска инструментов) у многих наших клиентов загружены десятки или даже сотни инструментов. Если у вас долго работающий многоцелевой агент, ему часто требуется много инструментов для выполнения задачи — в этом одна из прелестей LLM: они универсальны и могут делать много разных вещей. Поэтому мы хотим поощрять вас иметь много инструментов, но если посмотреть на это без учета контекста, если загрузить все эти инструменты заранее в системный промпт, то останется очень мало места для фактической работы.
Поэтому с помощью tool search tool мы откладываем загрузку всех этих инструментов. Вы по-прежнему объявляете их заранее, но мы не помещаем их в промпт. Мы откладываем их загрузку и загружаем их точно вовремя, когда модель в них нуждается. Если в конкретной траектории агенту никогда не понадобился этот инструмент, он никогда не загружается, и это довольно хорошо оптимизирует контекст.
Мы видим, что такие клиенты, как Lovable, сократили использование токенов на 10%, и это на самом деле — не только экономит деньги на задержках, но и, как заметили в Lovable, и, думаю, многие заметят, — это повышает интеллект модели, делая ее более осторожной в отношении того, что попадает в контекст. Так что это tool search tool.
Следующее, на что стоит обратить внимание, — это программный вызов инструментов. Прежде всего, вам нравятся эти анимации?
Видно, что у меня есть бесплатные токены от Claude, чтобы создавать такие анимации? Итак, программный вызов инструментов решает проблему инструментов, которые возвращают слишком много данных. Многие из инструментов, которые мы только что показали, возвращают огромные объёмы текста, которые просто запихиваются в промпт. И, знаете, это работает нормально. Если вы создаёте небольшое демо, это работает нормально. Но здесь, на этой сессии, мы говорим о переходе в продакшн, а не о создании демо.
Чтобы перейти в продакшн, нужно подойти к этому более вдумчиво. Можно попытаться изменить инструменты, чтобы они возвращали меньше, но часто в этом случае вы упускаете какой-то сценарий. Бывает случай, когда модели нужны были эти данные, а вы их удалили, и теперь у модели их нет. Поэтому мы пришли к выводу, что модель довольно хорошо умеет писать код на Python. Не знаю, заметили ли вы, но модели действительно очень хорошо пишут на Python.
Итак, мы предоставляем модели доступ и говорим: «Вот набор инструментов, доступных сейчас в контексте», и она пишет код на Python. Вы заметите, что в первый раз она пишет код для проверки схемы возвращаемых данных, а во второй раз, как вы видите здесь, она уже знает схему, поэтому инструмент возвращает все свои данные, они остаются в памяти, а затем модель пишет код, чтобы извлечь только нужные кусочки — всего один байт здесь, несколько слов там — и использует только это в своём контексте. Таким образом, модель сама решает, что ей нужно в собственном контексте.
С помощью этой техники Quora экономит много денег и наблюдает повышение интеллекта при обработке большого объёма Python и HTML.