Пакет @ai-sdk/harness-acp подключает к AI SDK любого coding-агента через единый протокол ACP. Один адаптер вместо пяти — но с важной оговоркой.
Раньше каждый coding-agent runtime — Claude Code, Codex, Pi, OpenCode, Deep Agents — требовал собственного адаптера в AI SDK. Разработчик, который хотел сменить агента, перестраивал слой интеграции. Пакет @ai-sdk/harness-acp меняет подход: он обёртывает не конкретный runtime, а протокол.
ACP, или Agent Client Protocol, — открытый стандарт, который описывает, как редактор кода общается с coding-агентом. По аналогии: LSP (Language Server Protocol) стандартизировал связь между редактором и языковым сервером. ACP пытается сделать то же для агентов — локально через JSON-RPC поверх stdio, удалённо через HTTP или WebSocket.
Что меняется
@ai-sdk/harness-acp работает как meta-адаптер. Вместо привязки к одному runtime он принимает любой NPM-пакет, совместимый с ACP, и подключает его к HarnessAgent. Цепочка: приложение → AI SDK Harness → ACP → coding-агент.
Это значит, что можно сменить агентный runtime, не перестраивая приложение. Если завтра появится новый coding-агент с ACP-пакетом, его подключают несколькими строками конфигурации — без адаптера с нуля.
Где граница
Важно: ACP пока не универсальная замена нативным интеграциям.
Для Claude Code и Codex рекомендуется использовать собственные адаптеры AI SDK — @ai-sdk/harness-claude-code и @ai-sdk/harness-codex. Причина простая: ACP-обёртка передаёт внутренние возможности runtime менее полно, чем прямой адаптер.
У протокола есть конкретные ограничения первой версии:
- нет границ шагов модели и пошаговой статистики использования;
- нет ручного сжатия контекста и управления в середине хода;
- нет портативного API для фильтрации встроенных инструментов.
Сами harness-пакеты помечены как experimental — ждать breaking changes между релизами.
Что делать
ACP имеет смысл подключать, когда у coding-агента нет прямого адаптера в AI SDK, но есть ACP-совместимый пакет. Если вы уже работаете с Claude Code или Codex через нативные адаптеры — менять ничего не нужно.
Для нового проекта, где важна свобода выбора runtime, ACP — разумная стартовая точка. Но не переносите на него критический процесс без теста. Это первая версия протокола, и многие внутренние механизмы агентов через него пока не видны.
Ссылки
Ссылки
- Документация: AI SDK: ACP Harness
- Стандарт: Agent Client Protocol