Запознайте се със Shepherd: субстрат с отворен код на Python, който позволява на метаагентите да разклоняват, възпроизвеждат и отменят всяко изпълнение на агент
Продължителните работни процеси на агентите натрупват състояние, което нито един транскрипт не може да улови. Към стъпка 10 един кодиращ агент разполага с редактирани файлове, работещ dev сървър, инсталирани пакети и затоплен кеш на промпта. Когато прочете погрешно traceback-а и пренапише файл, който вече е бил коректен, нито един от наличните пътища за възстановяване не е евтин: надграждането чрез пачове разширява контекста и сметката за токени, а рестартирането от първата стъпка изисква повторно заплащане на всяко извикване на модела и инструментите, като същевременно не възпроизвежда нищо напълно идентично, тъй като изпълненията са недетерминистични. Връщането към стъпка осем е опцията, която инженерите действително искат, и тя е недостъпна за съществуващите среди за изпълнение. Git версионира файлове, но не и работещ процес или кеш. Изследователи от Университета „Нортхийстърн“ и Станфордския университет представиха Shepherd, Python среда, която записва изпълнението на агент като Git-подобна следа от типизирани събития, така че всяко минало състояние да може да бъде разклонено и възпроизведено. Изследователският екип съобщава, че разклоняването е 5 пъти по-бързо от Docker, а при възпроизвеждане се използват повторно над 95% от кеша на промпта.
Готова ли е за внедряване?
Да, но е налична в ранен алфа етап и не е готова за продукционна употреба. Shepherd е лицензирана под MIT и може да бъде инсталирана с pip install shepherd-ai от PyPI. Необходим е Python 3.11 или по-нова версия. Прилагането на разрешения на ниво операционна система работи в macOS (Seatbelt) и Linux (Landlock, в привилегирован контейнер).
- Индустрии: софтуерно инженерство и DevOps, доставчици на AI инфраструктура и платформи за агенти, изследвания в областта на количествените финанси, инструменти за сигурност и изследвания на офанзивната сигурност, както и инженеринг на данни. Общата характеристика не е конкретният сектор. Тя е свързана с продължителни изпълнения на агенти върху състояние на тежка пясъчникова среда, при които неуспешното изпълнение е скъпо за повторение.
- Приложения: наблюдение на кодиращи агенти в реално време, при което метаагент връща назад неуспешен запис преди неговото потвърждаване. Автоматично възстановяване от грешно извикване на инструмент без пълно рестартиране. Разклонено изследване на кандидат-стратегии на агента, сравнени една до друга. Генериране на траектории за обучение с подсилване чрез разклоняване на избрани ходове.
Какво променя Shepherd
Shepherd е Python среда, която записва изпълнението на агента като първокласен обект. Всяко взаимодействие между агента и средата се превръща в типизирано събитие в Git-подобна следа на изпълнението. Основните операции са формализирани като функции и механизирани в Lean.
Всяко взаимодействие на практика представлява commit. За разлика от Git, commit-ът обхваща едновременно процеса на агента и файловата система чрез копиране при запис. Следователно един клон носи живо състояние, а не само файлове. Връщането към по-ранна точка се извършва чрез едно-единствено разклоняване от този commit.
Изследователският екип съобщава, че Shepherd разклонява процеса на агента и файловата му система 5 пъти по-бързо от Docker. Тъй като префиксът на промпта до точката на разклоняване остава непроменен, при възпроизвеждане се постига повторно използване на над 95% от кеша на промпта.
Документацията организира рамката около четири концепции: задачи, ефекти, изпълнения и работни пространства. Задачата е типизирана функция, чието тяло се попълва от модела, така че сигнатурата представлява договора. Ефект е всяко преминаване през границата на задачата и той може да бъде наблюдаван, на него може да бъде отговорено или да бъде отказан. Изпълнението е устойчивият запис на тези преминавания.
Разрешенията се декларират в сигнатурата. Свързването May[GitRepo, ReadOnly] се компилира до записваемите корени на конкретното изпълнение и се налага в системния затвор на ниво native системни извиквания.
Когато едно изпълнение може да бъде разклонено, върху него може да се изгради метаагент
Разклоняването позволява агенти от по-висок ред, които наблюдават следата и се намесват, преди неуспешен запис да бъде потвърден. Изследователският екип демонстрира три приложения:
- При намеса по време на изпълнение живият надзорник повиши успеваемостта при двойно кодиране в CooperBench от 28.8% на 54.7%.
- При контрафактуална метаоптимизация разклоненото изследване превъзхожда базовите методи в четири бенчмарка с до 11 пункта, като същевременно намалява времето в реалния свят с до 58%.
- При обучение Tree-RL разклоняването на траекториите на избрани ходове подобри резултата на TerminalBench-2 от 34.2% на 39.4%.
Основни изводи
- Shepherd записва всяко взаимодействие между агента и средата като типизирано събитие в Git-подобна следа, която може да бъде разклонявана.
- Един commit обхваща едновременно процеса на агента и файловата система, така че връщането назад възстановява живото състояние, а не само файловете.
- Съобщава се за разклоняване 5 пъти по-бързо от Docker и повторно използване на над 95% от кеша на промпта при възпроизвеждане.
- Жив надзорник повиши успеваемостта при двойно кодиране в CooperBench от 28.8% на 54.7%.
Вижте статията, GitHub, хранилището с експерименти, страницата на проекта и PyPI. Също така можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия 150k+ ML SubReddit и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Имате нужда от партньорство с нас за популяризиране на вашето GitHub хранилище ИЛИ Hugging Face страница ИЛИ продуктово издание ИЛИ уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.