Перейти к содержанию
Публикация AiManual

Deep Agents: привязка инструментов к навыкам, закрепление и перезагрузка навыков на лету

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

Коротко

Что будет в материале

  1. 01

    Что такое навыки в Deep Agents и как они работают

  2. 02

    Привязка инструментов к навыкам: экономия контекста и сохранение кэша

  3. 03

    Закрепление навыков во время выполнения (pinned_skills)

  4. 04

    Перезагрузка навыков в середине треда

Deep Agents добавил три улучшения в работу с навыками (skills): привязку инструментов к навыкам, закрепление навыков во время выполнения (pinned_skills) и перезагрузку списка навыков в середине треда. Привязка держит схемы инструментов вне контекста, пока агент не прочитает нужный навык. Закрепление кладёт инструкции навыка в контекст до первого вызова модели, без отдельного обращения к файлу через read_file. Перезагрузка позволяет длительному агенту подхватить добавленные, изменённые или удалённые навыки без запуска нового треда.

Всё перечисленное уже есть в последней версии пакета deepagents и опирается на открытый стандарт Agent Skills, который работает с любой моделью и поддерживается десятками агентных продуктов. Об этом говорится в публикации Revamping Skills in Deep Agents (автор Sydney Runkle, LangChain).

Практическая выгода сводится к трём пунктам: меньше мусора в контексте, целый кэш промпта при динамической подгрузке инструментов, возможность менять набор навыков на ходу. Если вы уже работаете с навыками в других агентных продуктах, полезно сравнить форматы: разбор коллекции agent skills для healthcare и life sciences показывает, как тот же SKILL.md масштабируется на 38 навыков в 11 доменах.

Что такое навыки в Deep Agents и как они работают

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

Для написания навыка не нужны глубокие технические знания: по сути это markdown-файл. Именно поэтому навыки удобно отдавать предметным специалистам, а не только разработчикам.

Формат SKILL.md и структура папки навыка

Навык - это директория с файлом SKILL.md: YAML frontmatter с полями name и description, а ниже инструкции, которым следует агент. Дополнительные материалы складывают в подпапки scripts/, references/ и assets/. Схема папки выглядит так:

meeting-prep/
├── SKILL.md
├── scripts/
│   └── fetch_crm_notes.py
├── references/
│   └── discovery-questions.md
└── assets/
    └── agenda-template.md

Содержимое самого SKILL.md компактное. Frontmatter нужен, чтобы агент понимал, когда навык вообще уместен, а тело файла описывает порядок работы:

---
name: meeting-prep
description: Готовит повестку встречи и досье по клиенту перед звонком
---

1. Загрузи заметки по сделке и последние письма.
2. Проверь открытые вопросы с прошлой встречи.
3. Собери повестку на 30 минут: цели, риски, следующие шаги.
4. Отдай результат в формате, принятом в команде.

В контексте постоянно живут только name и description навыка. Инструкции агент читает по требованию, а скрипты, справочники и ресурсы подгружает лишь тогда, когда до них дошла очередь. На этом и строится progressive disclosure.

Progressive disclosure: как контекст растёт только по необходимости

Загрузка навыка идёт в три уровня. Discovery: при запуске агент видит в системном промпте имя и описание каждого навыка. Activation: когда задача совпадает с навыком, агент читает полный SKILL.md через read_file. Execution: агент выполняет инструкции и обращается к скриптам или справочным файлам только по необходимости.

Рост контекста получается предсказуемым: имена и описания всех навыков на старте, затем инструкции одного навыка, затем один справочный файл. Пока навык не используется, он стоит одну строку в системном промпте. Библиотека может ссылаться на десятки и сотни навыков и не забивать контекст.

Масштаб тут не теоретический: в корпоративной среде реестры навыков растут до тысяч штук и делятся между командами и агентами. Стоимость неиспользуемого навыка в одну строку промпта делает такие реестры рабочими. И это не привязка к одному вендору: Agent Skills - открытый стандарт, совместимый с разными модельными провайдерами и агентными продуктами.

Привязка инструментов к навыкам: экономия контекста и сохранение кэша

Инструменты в Deep Agents можно привязать к навыку. Схемы привязанных инструментов не попадают в контекст, пока агент не прочитает сам навык. На практике это выглядит так: описания инструментов для календаря и CRM висят не в каждом запросе, а появляются только тогда, когда активирован навык meeting-prep. Для агента с десятками инструментов экономия на промпте накапливается с каждым шагом сессии.

Как привязка инструментов влияет на кэш промпта

Кэш промпта позволяет не пересчитывать неизменную часть запроса: провайдер держит обработанный префикс, поэтому стоимость и задержка снижаются. Любая правка начала промпта кэш обычно обнуляет, и динамическая подгрузка инструментов в середине диалога раньше обходилась дорого.

В Deep Agents на моделях, которые принимают новые инструменты в середине разговора, добавление привязанных инструментов оставляет кэш промпта целым. В описании релиза речь идёт о моделях Anthropic и OpenAI с поддержкой mid-conversation tools, об этом сказано в публикации Revamping Skills in Deep Agents. Агенту можно выдать новый инструмент прямо посреди сессии, не теряя уже прогретый префикс.

Схема применения простая: держите в базовом наборе только универсальные инструменты (поиск, чтение файлов, код), а всё узкое, вроде выгрузки из CRM или работы с календарём, привязывайте к конкретным навыкам. Тогда промпт остаётся коротким, а инструменты приходят ровно под задачу.

Закрепление навыков во время выполнения (pinned_skills)

Приложение может закрепить навык во время выполнения. Тогда инструкции оказываются в контексте до первого вызова модели, и отдельный round trip через read_file не нужен. Пользователь просит /meeting-prep, приложение закрепляет навык, и модель уже на первом шаге работает по нужным инструкциям. Это прямо описано в релизной публикации Revamping Skills in Deep Agents.

Выигрыш здесь не только в токенах. Каждый лишний шаг read_file - это дополнительный вызов модели, задержка и место в истории диалога. Закрепление убирает шаг целиком: агент стартует с готовыми инструкциями, а не тратит первую итерацию на их поиск.

Когда стоит закреплять навыки

  • Пользователь явно запросил навык, например слэш-командой /meeting-prep или упоминанием в тексте.
  • Агент обязан всегда следовать регламенту: юридические, медицинские, финансовые проверки нельзя пропустить из-за того, что модель не сочла нужным открыть навык.
  • Набор навыков фиксирован и нужен уже в первой реплике сессии.
  • Задержка критична, а экономия одного шага read_file заметна на коротких диалогах.

Обратная сторона: закреплённый навык постоянно занимает место в контексте. Это окупается, когда навык действительно нужен, и стоит токенов, когда он не пригодился. Закрепление - решение вашего кода, а не автоматическое поведение агента.

Перезагрузка навыков в середине треда

Список навыков можно перезагрузить в середине треда. Длительный агент подхватывает добавленные, изменённые и удалённые навыки, не начиная новый тред, о чём говорится в том же релизном описании Deep Agents.

Реестр навыков - живая сущность. Команда дописала навык для разбора транскриптов, поправила формулировки в существующем, удалила устаревший после смены процесса. Без перезагрузки пришлось бы закрыть тред и начать новый, потеряв накопленную историю диалога и прогретый кэш промпта.

Как перезагрузка влияет на длительные сессии

Для агента, который работает часами или живёт в фоне, перезапуск треда означает потерю контекста задачи, повторные уточнения и удвоенный расход токенов на восстановление картины. Перезагрузка навыков сохраняет и историю, и стоимость сессии: меняется только доступный набор инструкций.

Типичный сценарий: во время рабочей сессии в библиотеку добавили навык call-transcripts, и агент начинает его видеть, когда пользователь доходит до разбора звонков. Никаких «перезапустите агента, чтобы подхватились новые навыки».

Практические примеры и сценарии использования

В публикации LangChain приведён пример GTM-агента на Deep Agents: библиотека более чем из 50 навыков, покрывающих повторяющуюся работу продавца. Среди них meeting-prep, call-transcripts и competitive-intel-card. Разберём, как на таких навыках раскладываются три новые возможности.

Пример: навык meeting-prep

Пользователь пишет /meeting-prep перед звонком. Приложение закрепляет навык, поэтому инструкции по подготовке к встрече оказываются в контексте сразу, а привязанные инструменты для календаря и заметок по сделке приходят вместе с активацией навыка. Если разговор ушёл в сторону и встреча отменилась, инструменты не висят в промпте до конца сессии: их схемы просто не подгружались.

Пример: навык call-transcripts

Разбор транскриптов требует инструментов для аудио и текста, которые в 90% диалогов не нужны. Привязка к навыку call-transcripts держит их схемы вне контекста, пока агент не откроет сам навык. Размер промпта остаётся прежним, а инструменты появляются ровно в момент разбора звонка, причём на поддерживаемых моделях без сброса кэша.

Навык competitive-intel-card иллюстрирует третий сценарий. Если в процессе работы подключили новый источник данных и описали его отдельным навыком, перезагрузка списка в середине треда даёт агенту доступ к нему без перезапуска и потери истории. Похожие задачи автоматизации цикла разработки на навыках разбираются в материале про skill для Claude Code.

Ограничения и на что обратить внимание

Новые возможности решают конкретные проблемы, но не бесплатны и не универсальны. Что стоит проверить до того, как закладывать их в архитектуру:

  • Сохранение кэша промпта при добавлении инструментов работает только на моделях, принимающих новые инструменты в середине диалога. На остальных такой приём может обнулить кэш, и экономия превратится в перерасход.
  • pinned_skills - возможность приложения, а не автоматика агента. Решение закрепить навык принимает ваш код, и отвечать за неудачное закрепление тоже ему.
  • Закреплённый навык занимает контекст с первого шага, даже если в этой сессии он не понадобится.
  • Перезагрузка навыков в середине треда требует поддержки со стороны приложения; деталей реализации в описании релиза нет.
  • Раздел про привязку инструментов в источнике обрывается, поэтому конкретный синтаксис придётся смотреть в документации Deep Agents, а не в релизной заметке.
  • Agent Skills - открытый стандарт, но глубина его поддержки различается между продуктами. Переносимость формата SKILL.md не гарантирует одинакового поведения агента в разных средах.

Отдельный пласт - контроль качества. Чем больше навыков в реестре, тем важнее проверять, что агент выбирает правильный и следует ему. Практики такой проверки, от локального запуска кода до evals и жёстких CI-проверок, разобраны в материале о том, как Cursor выстраивает доверие к ИИ-агентам.

Как начать использовать новые возможности

Всё описанное доступно в последней версии пакета deepagents. Порядок шагов для действующего проекта выглядит так:

  1. Обновите deepagents до актуальной версии и проверьте, что ваша обвязка агента совместима с ней.
  2. Опишите хотя бы один навык по стандарту Agent Skills: папка, внутри SKILL.md с YAML frontmatter (name и description) и инструкциями.
  3. Перенесите узкие инструменты из общего набора в привязку к навыку, оставив в базовом наборе универсальные.
  4. Добавьте закрепление для навыков, которые нужны агенту с первого шага: явные запросы пользователя и обязательные регламенты.
  5. Предусмотрите перезагрузку списка навыков для длительных сессий, чтобы реестр обновлялся без перезапуска треда.
  6. Проверьте, что модель в вашем стеке принимает новые инструменты в середине диалога. Если нет, рассчитывайте на сброс кэша.

Конкретный синтаксис привязки инструментов, закрепления и перезагрузки в релизной публикации не раскрыт: сверяйтесь с документацией Deep Agents и спецификацией Agent Skills. Если вы строите агентов в продакшене, пригодятся смежные материалы: разбор Managed Deep Agents 0.8 про пользовательскую память, свои credentials и HTTP-каналы, а также вопрос дисциплины версий навыков в команде.

Начните с одного навыка и одной привязки инструмента: так эффект на размер промпта видно уже на первом замере токенов, и решение о расширении реестра вы примете по цифрам, а не по обещаниям.

Подписаться на канал