До этого мы рассмотрели агентные шаблоны, в которых основное внимание уделялось организации взаимодействия между языковыми моделями и управлению потоками информации во внутренних рабочих процессах агента (Chaining, Routing, Parallelization, Reflection). Однако для того чтобы агенты стали по-настоящему полезными и могли взаимодействовать с реальным миром или внешними системами, им необходима возможность использовать инструменты (Tools).
Шаблон Tool Use, часто реализуемый через механизм Function Calling, позволяет агенту взаимодействовать с внешними API, базами данных, сервисами или даже исполнять код. Это позволяет LLM, находящейся в ядре агента, решать когда и как использовать определённый внешний инструмент на основе запроса пользователя или текущего состояния задачи.
Этот шаблон фундаментален, потому что он снимает ограничение LLM, связанное с обучающими данными, и позволяет:
Хотя термин function calling точно описывает вызов конкретных функций, полезнее думать шире — как о tool calling. Инструментом может быть не только кодовая функция, но и:
Такой подход позволяет рассматривать агента как оркестратора цифровых ресурсов и интеллектуальных сущностей. Например, главный агент может поручить сложный анализ данных отдельному «аналитику-агенту» или обратиться к внешней базе знаний через API.