← Создание агентов на Cloudflare / agents
Harnesses
Harness представляет собой цикл, который заставляет агента вести себя как агент, а не как единичный вызов модели.
Он отвечает за работу вокруг модели в рамках каждого хода: формирование промпта, загрузку памяти, выбор инструментов, обработку результатов инструментов, потоковую передачу ответов, сохранение сообщений и принятие решения о том, продолжать агенту работу или остановиться.
Вы можете реализовать этот цикл самостоятельно поверх рантайм Agents SDK, либо используйте готовый каркас с фиксированными соглашениями, например Проект Think.
Как harnesses встраиваются в систему
Harnesses находятся поверх рантайма Agents SDK:
- Runtime даёт агенту устойчивую инфраструктуру:
Agentкласс, состояние, сессии, маршрутизация, WebSockets, планирование, fiber, а также наблюдаемость. - Harness задаёт поведение агента: вызовы модели, формирование промптов, выбор инструментов, обработку потока, стратегию памяти и хуки жизненного цикла.
Runtime отвечает на вопрос: «где живёт этот агент и как он остаётся устойчивым?» Harness отвечает на вопрос: «что делает этот агент на каждом ходу?»
Выберите подход
Используйте самостоятельно собранный каркас, если вам нужен полный контроль над вызовом модели, форматом сообщений, циклом инструментов или протоколом UI. Это правильный подход, если вы хотите напрямую комбинировать низкоуровневые API Agents SDK.
Используйте Project Think, если вам нужен продуманный каркас чат-агента с настройками по умолчанию для памяти, инструментов рабочего пространства, потоковой передачи, хуков жизненного цикла, RPC дочерних агентов и устойчивого восстановления чата.
Текущие харнессы
За что обычно отвечает harness
Harness обычно отвечает за:
- Формирование промпта : системные промпты, память, извлечённый контекст и инструкции для каждого хода.
- Выполнение модели : вызов Workers AI, OpenAI, Anthropic, Gemini или другого провайдера.
- Оркестрация инструментов : серверные инструменты, клиентские инструменты, MCP-инструменты, процессы подтверждения и продолжение после результатов инструментов.
- Персистентность сообщений : как сохраняются и воспроизводятся сообщения пользователя, ассистента и инструментов.
- Потоковая передача и восстановление : как ответы передаются клиентам потоком и возобновляются после отключений или вытеснения Durable Object.
- Точки расширения : хуки, которые срабатывают до и после ходов, шагов, вызовов инструментов и событий восстановления.