osFoundry / Platform
Конфиги инструментов
Определяйте новые инструменты как вход + обработчик. Всё, что можно вызвать из Maestro.
Что это
Конфигурации инструментов — это способ научить агентов osFoundry делать то, чего не даёт ни одна встроенная функция. Конфигурация инструмента — это небольшое определение из двух частей: входы, которые он принимает (именованные параметры и их типы), и handler (то, что реально выполняется при вызове инструмента). После определения инструмент входит в набор средств, которые Maestro, среда выполнения агентов osFoundry, может вызывать во время работы — так же, как использует чат, поиск или операции с файлами. Если вы можете описать действие как «вот аргументы, вот что выполняется», вы можете превратить его в инструмент, который ваши агенты вызывают по имени.
Внутри osFoundry это находится в Studio, рядом с остальной настройкой агентов и рабочих процессов, поэтому заданный вами инструмент доступен агентам, циклам и командам, которые вы строите в том же рабочем пространстве. Поскольку osFoundry работает по принципу bring-your-own-key и local-first, handler выполняется из вашего рабочего пространства с вашими собственными учётными данными и ключами: между вашим агентом и сервисом, который он вызывает, нет посредника-реселлера, и нет ограничения по местам на то, сколько инструментов вы задаёте и как часто они выполняются. Схему входов модель читает, чтобы решить, когда и как вызвать инструмент, поэтому именно ясный набор именованных входов заставляет агента использовать его правильно; handler — это часть, которую вы контролируете от начала до конца.
Почему это важно: большая часть реальной работы агента зависит от действий, специфичных для вашего стека, — обращения к внутреннему API, запуска скрипта, выборки данных из системы, к которой есть доступ только у вас. Вместо того чтобы ждать функцию под каждый случай, конфигурации инструментов позволяют добавить ровно ту возможность, которая нужна, и Maestro сразу начнёт её использовать. Инструмент становится переиспользуемым строительным блоком: задайте его один раз, и любой агент или рабочий процесс в пространстве сможет его вызвать.
Ключевые возможности
- Задайте инструмент из двух частей: входов, которые он принимает, и handler, выполняющегося при вызове
- Именованные типизированные входы дают модели чёткий контракт того, когда и как вызывать инструмент
- Любой заданный вами инструмент становится вызываемым по имени через Maestro, среду выполнения агентов osFoundry
- Handler выполняются из вашего рабочего пространства с вашими ключами: BYOK, без реселлера на пути
- Переиспользуйте заданный инструмент в агентах, циклах и командах, которые вы строите в той же Studio
Сценарии использования
- Разработчик: оборачивает внутренний REST-эндпоинт в инструмент с типизированными входами, чтобы агент обращался к нему во время задачи, не зашивая вызов в код
- Инженер эксплуатации: задаёт инструмент, handler которого запускает скрипт обслуживания, и позволяет запланированному агенту вызывать его как рутинный шаг
- Тимлид: добавляет в Studio один свой инструмент поиска и переиспользует его во всех агентах и процессах пространства вместо того, чтобы пересобирать под каждого агента
Часто задаваемые вопросы
Что именно такое конфигурация инструмента в osFoundry?
Это определение из двух частей: входы, которые принимает инструмент (его именованные типизированные параметры), и handler, выполняющийся при вызове инструмента. После определения инструмент доступен для вызова Maestro, пока агент работает.
Что может делать handler инструмента?
Handler — это действие, выполняющееся при вызове. Базовый принцип: инструментом может быть всё, что вы способны вызвать из Maestro. Вы задаёте входы, которые передаёт агент, а handler выполняет работу, используя ваше рабочее пространство и ваши собственные учётные данные.
Чем это отличается от плагинов хостируемой платформы?
osFoundry работает по принципу bring-your-own-key и local-first, поэтому инструменты выполняются из вашего рабочего пространства с вашими ключами, а не через реселлера, и нет платы за места, ограничивающей их количество. Вы добавляете нужную возможность, а не ждёте, когда её покроет встроенная функция.