Назад до блогу

AI для початківцівПосібник

Що таке ACP (Agent Client Protocol)? Bring your own agent

ACP — це сокет між редактором коду та агентом для кодування. Ось чим він відрізняється від MCP і де місце вашій моделі та API-ключу.

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

Обкладинка: потік Редактор → ACP → Агент, протокол між редактором коду та агентом для кодування
На цій сторінці
  1. Навіщо взагалі сокет?
  2. Як працює ACP, простими словами
  3. ACP vs MCP: що з чим з'єднує
  4. Bring your own agent в Android Studio
  5. Де стоять модель і API-ключ
  6. Що робити далі

Android Studio тепер пропонує меню з понад 40 агентів для кодування, і новини про це постійно згадують три літери: ACP. Ось коротка версія. Agent Client Protocol (ACP) — це спільний сокет між редактором коду та агентом для кодування, щось на кшталт USB між комп'ютером і тим, що ви до нього підключаєте. Будь-який редактор, що підтримує ACP, може приймати будь-якого агента, що його підтримує. MCP — це інший кабель: він з'єднує агента з інструментами та даними, а не з вашим редактором.

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

Навіщо взагалі сокет?#

Уявіть, що є 5 редакторів і 8 агентів для кодування. Якщо кожній парі потрібне власне з'єднання, зроблене вручну, це 5 × 8 = 40 інтеграцій, і кожен новий агент означає ще п'ять завдань для п'яти команд редакторів. Якщо всі домовляться про один сокет, кожен редактор реалізує його один раз і кожен агент реалізує його один раз: 5 + 8 = 13 частин роботи. Ось і вся ідея.

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

Флеш-картки

Слова, які ви зустрінете поруч з ACP

Як працює ACP, простими словами#

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

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

Назви методів визначає сам ACP, тож ви ніколи не пишете їх вручну. Це роблять редактор і агент.

Агенти не обов'язково мають жити на вашому ноутбуці. Віддалені агенти використовують HTTP або WebSocket, хоча сайт ACP каже, що повна підтримка віддаленої роботи ще в розробці. І оскільки протокол створений для кодування, він повторно використовує JSON-представлення MCP, де це можливо, і додає типи для того, що редактору потрібно намалювати, наприклад діфи. Ось чому запропонована зміна може з'явитися у вашому редакторі як діф, а не як стіна тексту.

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

ACP vs MCP: що з чим з'єднує#

Поставте агента посередині. З одного боку — ваш редактор, і ця ланка — ACP. З іншого боку — те, з чим працює агент: файли, бази даних, сервіси. Ця ланка — MCP. Вони стоять з різних боків агента, тож не конкурують. Якщо MCP для вас новий, почніть із нашого посібника з MCP простою мовою.

ACP з'єднує редактор і агента, MCP з'єднує агента й інструменти
Два протоколи поруч. ACP дивиться на редактор, MCP — на інструменти.

Вони й близькі родичі: як зазначено вище, ACP позичає JSON-представлення MCP, де може. Спробуйте зіставити їх самостійно:

З'єднайте пари

Зіставте кожну назву з тим, що вона з'єднує

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

Bring your own agent в 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. Агенти для кодування надсилають багато контексту на кожному кроці, тож їм пасує модель із довгим контекстом. У CheapTokens це DeepSeek-V4-Flash: вікно контексту 380K, до 32 768 вихідних токенів на відповідь, одна ціна в будь-яку годину доби й один баланс для всіх моделей. API сумісний з OpenAI та Anthropic. Беріть точний id моделі з документації CheapTokens; id різняться між постачальниками. Подробиці на сторінці моделей DeepSeek.

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

Спробуйте саміСпробуйте: ви встановили ACP-агента. Яке з'єднання ви змінюєте, щоб перемкнути модель, яку він використовує?Показати відповідь

Не ACP. Сокет між редактором і агентом залишається як є. Модель — це власне налаштування агента: base URL, ключ і id моделі в конфігурації агента, якщо агент їх надає.

Що робити далі#

Відкрийте документацію агента, якого хочете, і знайдіть, де він задає модель. Якщо вам цікаво, як агент працює всередині, як працює AI-агент: цикл показує це крок за кроком. ACP відповідає лише на одне питання: як редактор і агент спілкуються. Усе інше залишається між агентом, його інструментами та моделлю.