Пакет @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 — разумная стартовая точка. Но не переносите на него критический процесс без теста. Это первая версия протокола, и многие внутренние механизмы агентов через него пока не видны.

Ссылки

Ссылки