Как создавать проактивных и постоянно работающих агентов с помощью Schedules SDK в Managed Deep Agents

Источник: LangChain•

Как создавать проактивных и постоянно работающих агентов с помощью Schedules SDK в Managed Deep Agents

Большинство проактивных агентов работают по простому расписанию cron. Узнайте, какие возможности открывают запланированные запуск: от памяти до интеллектуальной фильтрации — и как добавить их в Managed Deep Agents.

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

Мы наблюдаем это на примере проактивных агентов: почти все ваши любимые новые проактивные агентные системы работают на базе очень простого механизма — агенты запускаются как задачи cron, используя принцип операционных систем возрастом более полувека для вполне современных задач.

Будущее принадлежит проактивным, постоянно работающим, фоновым агентам. Запуски вроде Muse, Instinct, Dots, Claude Duet, Hone и других являются отражением этого.

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

В этом блоге мы рассмотрим возможности, которые открывает cron, два основных базовых компонента, необходимых для создания таких агентов, а затем покажем примеры того, как это сделать в Managed Deep Agents.

Мы убедились в том, какое влияние может оказывать cron. Проактивность становится новым стандартом поведения агентов благодаря широте открываемых ею новых функций. Более 70% запуск Managed Deep Agent на LangSmith происходят по расписанию, а не в результате ввода сообщения человеком.

Что открывают задачи cron?

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

Память: отличительная черта всех этих агентов заключается в том, что они запоминают факты о вас на долгосрочных горизонтах. Частично это реализуется путем запуска фонового задания для сжатия предыдущих разговоров в более плотную форму памяти. В разговорной речи это называется «сновидением». Под капотом это просто задача cron, которая запускается с определенной периодичностью (например, раз в день) и обновляет долгосрочную память любыми выводами, полученными при осмыслении бесед.

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

Для агента общего назначения это может быть так же просто, как быть хорошим ассистентом: предпринимать шаги для предвосхищения ваших дальнейших потребностей, например, сигнализировать о приближающемся дедлайне, возвращаться к незавершенному обсуждению или находить новости, связанные с вашей работой. Для специализированных агентов, таких как Hone, агент работает ради достижения четкой цели. Задача cron запускается с определенной периодичностью (раз в час) и побуждает агента исследовать новые действия для продвижения к своей цели. Эти действия затем отображаются для пользователя в виде проактивных сообщений.

Интеллектуальная фильтрация: в мире так много шума. Большой вариант использования для постоянно работающих агентов — мониторинг источника информации (Slack, Email и т. д.) и отправка пользователю релевантных сообщений. Под капотом это может быть реализовано в виде задачи cron, которая запускается с определенной периодичностью (раз в десять минут) и побуждает агента анализировать поток событий и уведомлять пользователя о чем-либо заслуживающем внимания.

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

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

Два ключевых компонента для создания проактивных агентов

Мы выяснили, что для создания агентов такого типа обычно требуются два ключевых элемента.

Первый — это надежный cron-сервер. Вам понадобится сервер, который позволяет разработчикам легко добавлять задачи cron. Они должны иметь возможность добавлять их с любым необходимым расписанием и включать промпт для выполнения в рамках этой задачи. Если для работы агента требуются определенные навыки или разрешения, они должны быть включены. Если в определенный момент времени запланировано много запусков, сервер должен слегка «сдвигать» их во времени (вводить джиттер), чтобы распределить нагрузку.

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

Создавайте это с помощью MDA

Managed Deep Agents, которые размещаются с использованием LangSmith Deployments, предоставляют встроенный cron-сервер, способный динамически инициировать запуск агента. Запланированный запуск обманчиво прост: это просто переданный промпт, запускаемый по расписанию, причем тред и память основаны на субъекте, создавшем это расписание. Представленный выше набор инструментов обеспечивает основу для утилит, которые принимают только промпт и расписание cron.

В Managed Deep Agents расписания могут определяться либо статически, либо динамически самим агентом.

Например, создание агента с фиксированным расписанием в рамках его основной логики — скажем, ежедневного отчета по продажам — представляет собой просто файл в schedules/:

Managed Deep Agents также предлагает динамические расписания, где конечные пользователи могут давать агенту указания планировать повторяющиеся задачи, которые вы не предусмотрели при разработке. Для поддержки этого заверните Schedules SDK в инструменты:

Разработчикам нужна гибкость, и система инструментов Managed Deep Agents разработана с учетом этого. Агентам разных типов может потребоваться предоставлять разные наборы инструментов для планирования. В некоторых случаях может быть достаточно базового remind_me, оборачивающего разовый запуск, или check_in_later:

Начните работу с добавления расписаний в ваши Managed Deep Agents с помощью нашей документации: langch.in/mda. Вы находитесь всего в одной команде mda init и mda deploy от распространения проактивного агента внутри вашей организации.

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

Ещё в разделе «AI и машинное обучение»

Все →

Ещё от LangChain