Sakhanda Wire
NVDA $223.96 +2.27% MSFT $499.99 +0.03% GOOGL $354.30 -0.96% META $592.10 +0.37% AMZN $274.48 +0.82%
← К новостям

Знакомьтесь: Shepherd — Python-субстрат с открытым исходным кодом, позволяющий метаагентам разветвлять, воспроизводить и отменять любой запуск агента

Длительно работающие агенты накапливают состояние, которое не отражается ни в одной расшифровке. Агент-программист на шаге 10 располагает отредактированными файлами, работающим сервером разработки, установленными пакетами и прогретым кэшем промптов. Когда он неверно интерпретирует трассировку ошибки и переписывает файл, который уже был корректным, ни один из доступных вариантов восстановления не обходится дёшево: исправление по ходу увеличивает контекст и счёт за токены, а перезапуск с первого шага требует повторной оплаты каждого вызова модели и инструмента и при этом ничего не воспроизводит в точности, поскольку запуски недетерминированы. Перейти обратно к шагу восемь — именно этого на самом деле хотят инженеры, но существующие среды выполнения предложить этого не могут. Git хранит версии файлов, но не живого процесса и не кэша. Исследователи из Северо-Восточного университета и Стэнфордского университета выпустили Shepherd — среду выполнения на Python, которая записывает запуск агента в виде Git-подобной трассировки типизированных событий, благодаря чему любое прошлое состояние можно разветвить и воспроизвести. Исследовательская группа сообщает, что ветвление происходит в 5 раз быстрее, чем в Docker, а при воспроизведении повторно используется более 95% кэша промптов.

Можно ли это развернуть?

Да, но сейчас это ранняя альфа-версия, не готовая к промышленному использованию. Shepherd распространяется по лицензии MIT и устанавливается с помощью команды pip install shepherd-ai из PyPI. Требуется Python 3.11+. Принудительное применение разрешений на уровне ОС работает в macOS (Seatbelt) и Linux (Landlock в привилегированном контейнере).

  • Отрасли: разработка программного обеспечения и DevOps, поставщики ИИ-инфраструктуры и платформ для агентов, исследования в области количественных финансов, инструменты безопасности и исследования наступательной безопасности, а также инженерия данных. Общая черта заключается не в отраслевой принадлежности. Она состоит в длительных запусках агентов с большим состоянием песочницы, когда неудачный запуск дорого повторять.
  • Применение: наблюдение в реальном времени за агентами-программистами, когда метаагент отменяет неудачную запись до её фиксации. Автоматическое восстановление после неправильного вызова инструмента без полного перезапуска. Ветвящееся исследование различных стратегий агента с их параллельным сравнением. Генерация траекторий для обучения с подкреплением с ветвлением на выбранных ходах.

Что меняет Shepherd

Shepherd — это среда на Python, которая записывает выполнение агента как первоклассный объект. Каждое взаимодействие агента со средой становится типизированным событием в Git-подобной трассировке выполнения. Ключевые операции формализованы как функции и механизированы в Lean.

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

Исследовательская группа сообщает, что Shepherd разветвляет процесс агента и его файловую систему в 5 раз быстрее, чем Docker. Поскольку префикс промпта до точки ветвления не изменяется, при воспроизведении достигается повторное использование более 95% кэша промптов.

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

Разрешения объявляются в сигнатуре. Привязка May[GitRepo, ReadOnly] компилируется в доступные для записи корневые каталоги этого запуска и обеспечивается на уровне нативной изоляции системных вызовов.

Если запуск можно разветвить, поверх него может работать метаагент

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

  • В рамках вмешательства во время выполнения работающий надзорный агент повысил долю успешных парных решений задач на CooperBench с 28,8% до 54,7%.
  • В рамках контрфактической метаоптимизации исследование с ветвлением превзошло базовые методы на четырёх тестах на величину до 11 пунктов, одновременно сократив время выполнения до 58%.
  • В рамках обучения Tree-RL ветвление траекторий на выбранных ходах повысило результат на TerminalBench-2 с 34,2% до 39,4%.

Ключевые выводы

  • Shepherd записывает каждое взаимодействие агента со средой как типизированное событие в Git-подобной трассировке, поддерживающей ветвление.
  • Коммит охватывает одновременно процесс агента и файловую систему, поэтому возврат восстанавливает живое состояние, а не только файлы.
  • Заявленные показатели: ветвление в 5 раз быстрее, чем в Docker, и повторное использование более 95% кэша промптов при воспроизведении.
  • Работающий надзорный агент повысил долю успешных парных решений задач на CooperBench с 28,8% до 54,7%.

Ознакомьтесь с исследовательской статьёй, GitHub, репозиторием экспериментов, страницей проекта и PyPI. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с аудиторией более 150 тысяч участников и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь к нам можно присоединиться и в Telegram.

Хотите стать нашим партнёром для продвижения вашего репозитория GitHub, страницы Hugging Face, выпуска продукта, вебинара и т. д.? Свяжитесь с нами

Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.

Впервые опубликовано изданием MarkTechPost

Читать оригинал на MarkTechPost ↗

Текст и изображения принадлежат MarkTechPost и приводятся здесь с указанием авторства и ссылкой на оригинальную публикацию.

← К новостям

Ещё новости

Все последние новости