Что нового в Managed Deep Agents: расписания, конфигурация для каждого запуска и реакции в Slack

Источник: LangChain•

Что нового в Managed Deep Agents: расписания, конфигурация для каждого запуска и реакции в Slack

LangChain только что выпустила новые возможности в Managed Deep Agents. Теперь агенты могут планировать последующие действия, перенастраивать себя при каждом запуске и реагировать на сообщения в Slack.

Сегодня мы выпускаем Managed Deep Agents v0.9 с новыми возможностями, которые позволяют агентам планировать собственные последующие действия, перенастраивать себя при каждом запуске и реагировать на сообщения в Slack.

Эти обновления упрощают создание внутренних агентов, которые работают в Slack или ваших собственных каналах и действуют больше как коллеги по команде.

Позвольте агентам планировать свою работу

Новый SDK Schedules позволяет агентам создавать напоминания, последующие действия и повторяющиеся задачи прямо во время разговора, чтобы они могли обрабатывать запросы вроде «Напомни мне об этом завтра».

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

Создание расписания изнутри запуска:

Это наиболее полезно при использовании инструмента, чтобы пользователи вашего агента могли создавать, просматривать, обновлять и удалять расписания просто общаясь. Вот инструмент для напоминаний:

Агент передает промпт и cron-выражение, и каждый раз, когда срабатывает cron, LangSmith начинает новый запуск с этим промптом. Расписания наследуют канал, в котором они были созданы, поэтому результаты публикуются там, откуда поступил запрос: напоминание в будний день, запрошенное в Slack, публикует новое сообщение в этом разговоре при каждом запуске. Однократные расписания (использующие «at» вместо «cron») отвечают в исходной ветке, что подходит для последующих действий, таких как «проверить этот деплой через час».

Настройка агентов для каждого запуска

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

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

Скажем, один внутренний агент Slack обслуживает несколько команд. Ваша функция агента может проверить, из какого канала пришел запуск, и загрузить навыки выставления счетов для финансового отдела или MCP-сервер реагирования на инциденты для команды платформы. Это отличается от инструкций, указывающих модели, когда использовать навык: конфигурация задается до запуска модели, поэтому агент никогда не видит навыки или MCP-инструменты вне своей конфигурации. Это сохраняет его контекст небольшим, служит средством контроля доступа и позволяет вам выбирать саму модель, чего сама модель сделать не может.

В целом, это предотвращает недетерминированные выходные данные, когда модели поручается выбор набора инструментов в тех случаях, когда мы точно знаем, какой набор инструментов должен быть доступен агенту.

Та же идея работает для агента кодирования, который загружает разные навыки и более дешевую или более мощную модель для каждого репозитория:

Функция считывает runtime.execution_runtime.context и возвращает значение по умолчанию, если его нет, например, при запусках в канале или когда Agent Server загружает агента для чтения его схемы. Вызывающие стороны выбирают конфигурацию с контекстом запуска:

Реакция на сообщения в Slack

Реакции в Slack сразу показывают отправителю, что агент принял их сообщение, даже если он тратит некоторое время на размышления и вызов инструментов перед ответом. Реакции включены по умолчанию (👀), а новая опция реакций в вашем канале Slack позволяет отключить их, выбрать другой эмодзи или выбрать один для каждого сообщения. В этом примере используется 🐛, когда сообщение упоминает что-то сломанное, и 👀 в противном случае:

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

Начало работы

Managed Deep Agents v0.9 доступен в публичной бета-версии уже сегодня. Вы можете узнать больше в документации Managed Deep Agents или начать работу с помощью:

‍Если вы пропустили: версия 0.8 добавила память для каждого пользователя, пользовательские HTTP-каналы для запуска из любой службы, встроенный веб-поиск на базе Parallel и многое другое. Читайте пост о версии 0.8.

О чём эта статья