Назад в блог

AI для новичковИнструкция

Что такое ACP (Agent Client Protocol) и свой агент в редакторе

ACP — разъём между редактором кода и coding-агентом. Чем он отличается от MCP и где в этой схеме модель и API-ключ.

Автор: CheapTokens TeamОпубликовано 5 мин чтения

Обложка: схема Редактор → ACP → Агент — протокол между редактором кода и coding-агентом
Содержание
  1. Зачем вообще нужен разъём
  2. Как ACP работает простыми словами
  3. ACP и MCP: что с чем соединяет
  4. Свой агент в Android Studio
  5. Где находятся модель и API-ключ
  6. Что делать дальше

В Android Studio появился список из 40+ coding-агентов, и в новостях об этом мелькают три буквы: ACP. Коротко так. Agent Client Protocol (ACP) — общий разъём между редактором кода и coding-агентом, примерно как USB между компьютером и тем, что в него втыкают. Любой редактор, который говорит на ACP, может принять любого агента, который говорит на ACP. MCP — другой кабель: он соединяет агента с инструментами и данными, а не с редактором.

Повод — Android Studio. Блог Android Developers (28 октября 2026) пишет, что Android Studio Rabbit 2, теперь стабильная, получила «Bring Your Own Agent»: можно выбрать одного из 40+ coding-агентов, среди них Claude Agent, Codex от OpenAI, Junie и Google Antigravity. Сама аббревиатура «ACP» в посте не расшифрована. Название и устройство взяты с сайта ACP (проверено 1 ноября 2026).

Зачем вообще нужен разъём#

Допустим, есть 5 редакторов и 8 coding-агентов. Если каждой паре нужно своё самодельное соединение, получается 5 × 8 = 40 интеграций, а каждый новый агент — это ещё пять задач для пяти команд редакторов. Если все договорились об одном разъёме, каждый редактор делает его один раз и каждый агент тоже один раз: 5 + 8 = 13 работ. Вся идея в этом.

На сайте ACP проводят то же сравнение с LSP, Language Server Protocol, который позволяет одному языковому серверу работать во многих редакторах. Тот же приём, только для coding-агентов: любой ACP-агент работает с любым ACP-редактором, и под каждую пару не нужна отдельная интеграция.

Карточки

Слова, которые встретятся рядом с ACP

Как ACP работает простыми словами#

Представьте двух коллег, которые передают записки через щель в двери. Редактор пишет запрос, агент пишет в ответ то, что хочет показать. Для локального агента эта щель вполне буквальная: редактор запускает агента как подпроцесс на вашей машине, и они обмениваются сообщениями JSON-RPC через stdio. У любого сообщения общая форма:

json
{ "jsonrpc": "2.0", "id": 1, "method": "…", "params": { … } }

Названия методов задаёт сам ACP, вручную их писать не придётся: этим занимаются редактор и агент.

Агенту не обязательно жить на вашем ноутбуке. Удалённые агенты работают по HTTP или WebSocket, хотя на сайте ACP сказано, что полная поддержка удалённого режима ещё в работе. А поскольку протокол сделан под программирование, он по возможности использует JSON-представления из MCP и добавляет типы для того, что редактору нужно нарисовать, например diff. Поэтому предложенная правка появляется в редакторе как diff, а не как простыня текста.

Редактор, ACP, агент и API модели в ряд
ACP — связь между редактором и агентом. Модель стоит за агентом, на отдельном соединении.

ACP и MCP: что с чем соединяет#

Поставьте агента в середину. С одной стороны ваш редактор, и эта связь — ACP. С другой стороны то, с чем агент работает: файлы, базы данных, сервисы. Эта связь — MCP. Они стоят по разные стороны агента, поэтому не конкурируют. Если MCP вам пока незнаком, начните с объяснения MCP простыми словами.

ACP соединяет редактор и агента, MCP — агента и инструменты
Два протокола рядом. ACP смотрит на редактор, MCP — на инструменты.

Ещё они близкие родственники: как сказано выше, ACP по возможности берёт JSON-представления из MCP. Попробуйте сопоставить сами:

Найдите пары

Сопоставьте название и то, что оно соединяет

  • ACPРедактор ⇄ coding-агент
  • MCPАгент ⇄ инструменты и данные
  • JSON-RPC через stdioТак локальный ACP-агент говорит с редактором
  • API модели (base URL + ключ)Агент ⇄ языковая модель

Свой агент в Android Studio#

Без общего протокола добавить агента в редактор может только его разработчик. В Android Studio Rabbit 2 агента выбираете вы сами. По посту Android Developers, нужно открыть окно агента и выбрать агента либо выбрать его в Settings > Tools > AI > Agents. Затем пройти аутентификацию и отправить первый запрос. В посте написано лишь «authenticate»; что именно потребуется, зависит от выбранного агента, так что смотрите в его документации.

Вот порядок, проверьте себя:

Расставьте по порядку

Расставьте шаги в Android Studio по порядку

  1. Открыть Android Studio Rabbit 2
  2. Выбрать агента (окно агента или Settings > Tools > AI > Agents)
  3. Пройти аутентификацию
  4. Отправить первый запрос

Где находятся модель и API-ключ#

Именно здесь новички путаются чаще всего. Связь ACP несёт разговор между редактором и агентом. Но агенту всё равно нужна языковая модель, чтобы думать, и это отдельное соединение, обычно со своим логином или API-ключом. Смена редактора не меняет модель, а смена модели не меняет редактор. Пост про Android Studio ничего не говорит о собственных ключах и моделях, поэтому то, что можно менять, зависит от выбранного агента.

Некоторые агенты позволяют указать OpenAI-совместимый адрес: base URL, ключ и id модели. Если ваш такой, вот всё соединение со стороны модели, и проверить его можно в терминале, не трогая никакие настройки (ключ здесь заглушка в переменной окружения):

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Explain ACP in one sentence."}]
  }'

В ответ придёт JSON: текст лежит в choices[0].message.content, число токенов — в usage. Coding-агенты на каждом шаге заново отправляют много контекста, поэтому им подходит модель с длинным контекстом. В CheapTokens это DeepSeek-V4-Flash: контекст 380K, до 32 768 токенов в одном ответе, одна цена в любое время суток и один баланс на все модели. API совместим с OpenAI и Anthropic. Точный id модели берите из документации CheapTokens: у разных провайдеров имена отличаются. Подробности — на странице моделей DeepSeek.

Не уверены, какой инструмент принимает свой ключ? В материале куда подставить собственный API-ключ разобраны чат, редактор, терминал и код. А если «base URL» — новое слово, прочитайте, что такое base_url и как переключиться.

Попробуйте самиПопробуйте: вы поставили ACP-агента. Какое соединение менять, чтобы сменить модель, которую он использует?Показать ответ

Не ACP. Разъём редактор–агент остаётся как есть. Модель — собственная настройка агента: base URL, ключ и id модели в его конфиге, если агент их показывает.

Что делать дальше#

Откройте документацию нужного агента и найдите, где в ней задаётся модель. А если интересно, как агент устроен внутри, как работает ИИ-агент: цикл показывает это по шагам. ACP отвечает на один вопрос: как говорят редактор и агент. Всё остальное остаётся между агентом, его инструментами и моделью.