Проблема облачных агентов: потеря контекста
Кодовые агенты (harnesses) вроде Pi, OpenCode, Claude Code и Codex изначально проектировались как долгоживущие локальные процессы, хранящие сессию в оперативной памяти. При переносе в облако возникает критическая проблема: если функция прерывается из-за ошибки сети или таймаута, работа теряется. Vercel отмечает, что без отслеживания состояния вызовов это приводит к потере прогресса и необходимости перезапуска с нуля.
Решение: Durable Log и автоматическое восстановление
Пакет durable-harness (версия 0.0.x, лицензия Apache-2.0) решает эту проблему, оборачивая существующие harnesses в механизм Workflow SDK World. Каждая операция записывается в надежный журнал (durable log) до и после выполнения. Если функция падает, очередь Vercel Queues передает задачу новой инстансе, которая считывает лог и продолжает работу с места прерывания.
Ключевая особенность — защита от двойной оплаты:
- Завершенные вызовы считываются из лога и не переотправляются в модель, что исключает повторную биллинг токенов.
- Инструменты с replay: 'safe' (например, поиск) могут быть выполнены повторно.
- Инструменты с replay: 'never' (например, возврат средств) никогда не запускаются дважды, хотя модели сообщается о возможном выполнении.
Сравнение с альтернативами
В отличие от других решений, durable-harness не требует переписывания логики агентов. Ниже приведено сравнение с ключевыми конкурентами в области устойчивого выполнения:
| Характеристика | durable-harness (Vercel) | Temporal + OpenAI Agents SDK | Inngest AgentKit | Cloudflare Agents SDK |
|---|---|---|---|---|
| Тип | Адаптеры для существующих harnesses | Обертка для OpenAI Agents SDK | Мультиагентный фреймворк | Stateful agents на Durable Objects |
| Поддержка Claude Code / Codex | Да (экспериментально, только Sandbox) | Не раскрыто | Не раскрыто | Не раскрыто |
| Бэкенд устойчивости | Workflow SDK World (Vercel, Postgres) | Temporal Server/Cloud | Inngest orchestration | Durable Objects, Cloudflare Workflows |
| Язык | TypeScript | Python | TypeScript | TypeScript |
| Статус | 0.0.x (experimental) | GA (с 23.03.2026) | Не раскрыто | Не раскрыто |
Где и как запускать
Агенты могут работать в трех режимах:
- Vercel Cloud: Полная интеграция с Agent Runs для трассировки.
- Локально: Запуск на машине без конфигурации (файлы на диске).
- Self-hosted: Использование Postgres World (версия 5.0.4+) на Node.js 22+. Достаточно задать две переменные окружения:
WORKFLOW_TARGET_WORLDиWORKFLOW_POSTGRES_URL.
Для Claude Code и Codex требуется использование Vercel Sandbox, где файлы хранятся на Drive в директории /workspace. Для Pi и OpenCode доступны опции виртуального файлового хранилища (до 500 файлов) или временных файлов в памяти.
Важные ограничения
На данный момент пакет находится в стадии 0.0.x (experimental). Vercel не публикует бенчмарки по задержкам или пропускной способности, а все заявления об устойчивости основаны на внутренних тестах. Кроме того, поддержка Claude Code и Codex ограничена средой Vercel Sandbox, что может быть барьером для полностью self-hosted решений.
Источник: MarkTechPost ↗
