Агенты и инструменты

Чему научитесь

Видео 5:02 и текст урока

К концу урока вы сможете:

Видео и текст урока.

Смотреть урок на Skilljar Agents and tools · 5:02

Агенты — это шаг в сторону от структурированных workflow, с которыми мы работали. Workflow идеальны, когда вы знаете точные шаги для выполнения задачи, а агенты сильны там, где вы не знаете, какими должны быть эти шаги. Вместо жёсткой последовательности вы даёте Claude цель и набор инструментов и позволяете ему самому понять, как сочетать инструменты для достижения цели.

Цель и инструменты поступают Claude, который планирует, как их использовать; надёжно и экономно выполнить задачу агенту часто сложнее.
Агент: цель + инструменты → Claude сам составляет план. Надёжность и экономичность — слабые места.

Эта гибкость делает агентов привлекательными для приложений, которым нужно справляться с разнообразными, непредсказуемыми задачами. Можно один раз создать агента, убедиться, что он работает достаточно хорошо, и затем применять его для широкого круга задач. Однако за гибкость приходится платить надёжностью и стоимостью — об этом поговорим позже.

Агента делают инструменты

Настоящая сила агентов — в умении сочетать простые инструменты неожиданными способами. Возьмём базовый набор инструментов для работы с датой и временем:

Таблица трёх инструментов даты и времени, перечисленных ниже, под тезисом, что мы полагаемся на Claude в сочетании инструментов.
Три инструмента даты и времени — Claude сам решает, как их сочетать.

По отдельности эти инструменты кажутся простыми, но Claude может объединять их в цепочки и справляться с неожиданно сложными запросами:

Шесть задач и цепочки вызовов инструментов для них, например напоминание на дату → set_reminder, тысячный день рождения → add_duration_to_datetime.
Шесть задач и цепочки вызовов инструментов для них.

На вопрос «What's the time?» Claude просто вызывает get_current_datetime. А для «What day of the week is it in 11 days?» он сначала вызывает get_current_datetime, затем add_duration_to_datetime. Чтобы поставить напоминание сходить в спортзал в следующую среду, он может использовать все три инструмента по очереди.

Claude даже понимает, когда ему не хватает информации. Если спросить «When does my 90-day warranty expire?», он знает, что сначала нужно спросить, когда вы купили товар, и только потом вычислять дату окончания.

Инструменты должны быть абстрактными

Ключевая мысль для создания эффективных агентов — давать достаточно абстрактные инструменты, а не узкоспециализированные. Claude Code отлично демонстрирует этот принцип.

Инструменты, которые есть у Claude Code, включая LS и WebFetch, и инструменты, которых у него нет, например Run Tests и Create Migration.
Слева — инструменты Claude Code (Bash, Glob, Grep, LS, Read, Write, Edit, WebFetch), справа — каких у него нет (Refactor, Run Tests, Create Migration, Install Dependencies).

У Claude Code есть универсальные, гибкие инструменты:

Примечательно, что у него нет специализированных инструментов вроде «refactor code» или «install dependencies». Вместо этого Claude сам понимает, как выполнить такие сложные задачи с помощью базовых инструментов. Эта абстрактность позволяет ему справляться с бесчисленными сценариями программирования, которые разработчики никогда явно не планировали.

Лучшая практика: комбинируемые инструменты

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

Четыре инструмента агента для видео в соцсетях: bash, generate_image, text_to_speech и post_media; перечислены ниже.
Инструменты агента для видео: bash, generate_image, text_to_speech, post_media.

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

Два чата с Marketing Agent: в одном агент создаёт и публикует видео о Python, в другом предлагает изображение и спрашивает, подходит ли оно.
Один и тот же агент: сразу публикует видео — или сначала показывает картинку и спрашивает мнение.

Агент может менять подход в зависимости от отзывов и предпочтений пользователя — с жёстким workflow этого было бы трудно добиться. Именно эта гибкость делает агентов мощными для динамичных приложений, подстраивающихся под пользователя.

Дальше

Следующий урок — проверка окружения (environment inspection): как агент узнаёт результат своих действий.

Оригинал урока: Agents and tools.