Powrót do bloga

AI dla początkującychPrzewodnik

Czym jest ACP (Agent Client Protocol)? Bring your own agent

ACP to gniazdo między edytorem kodu a agentem kodującym. Oto czym różni się od MCP i gdzie mieszczą się twój model i klucz API.

Autor: CheapTokens TeamOpublikowano 5 min czytania

Okładka: przepływ Edytor → ACP → Agent, protokół między edytorem kodu a agentem kodującym
Na tej stronie
  1. Po co w ogóle gniazdo?
  2. Jak działa ACP, prostymi słowami
  3. ACP vs MCP: co łączy które
  4. Bring your own agent w Android Studio
  5. Gdzie siedzą model i klucz API
  6. Co dalej

Android Studio oferuje teraz menu z ponad 40 agentami kodującymi, a w doniesieniach na ten temat wciąż przewijają się trzy litery: ACP. Oto krótka wersja. Agent Client Protocol (ACP) to wspólny gniazdo między edytorem kodu a agentem kodującym, trochę jak USB między komputerem a tym, co do niego podłączasz. Każdy edytor, który mówi w ACP, może hostować każdego agenta, który go obsługuje. MCP to inny kabel: łączy agenta z narzędziami i danymi, a nie z twoim edytorem.

Haczyk w wiadomościach to Android Studio. Blog Android Developers (28 października 2026) podaje, że Android Studio Rabbit 2, teraz stabilne, dostarcza „Bring Your Own Agent”: wybierasz spośród ponad 40 agentów kodujących, w tym Claude Agent, Codex od OpenAI, Junie i Google Antigravity. W poście nigdy nie pojawia się wprost „ACP”. Nazwa i mechanika pochodzą z wprowadzenia do ACP (sprawdzone 1 listopada 2026).

Po co w ogóle gniazdo?#

Załóżmy, że jest 5 edytorów i 8 agentów kodujących. Jeśli każda para potrzebuje własnego, ręcznie zrobionego połączenia, to 5 × 8 = 40 integracji, a każdy nowy agent oznacza pięć dodatkowych zadań dla pięciu zespołów edytorów. Jeśli wszyscy zgodzą się na jedno gniazdo, każdy edytor buduje je raz i każdy agent buduje je raz: 5 + 8 = 13 elementów pracy. Na tym polega cały pomysł.

Strona ACP porównuje to samo z LSP, Language Server Protocol, który pozwala jednemu serwerowi językowemu działać w wielu edytorach. Ten sam trik zastosowany do agentów kodujących: każdy agent ACP działa z każdym edytorem ACP, bez niestandardowej integracji dla każdej pary.

Fiszki

Słowa, które spotkasz wokół ACP

Jak działa ACP, prostymi słowami#

Wyobraź sobie dwóch kolegów przekazujących sobie notatki przez szczelinę na listy. Edytor pisze żądanie, agent odpisuje, co chce pokazać. Dla lokalnego agenta ta szczelina na listy jest dosłowna: edytor uruchamia agenta jako podproces na twojej maszynie i wymieniają wiadomości JSON-RPC przez stdio. Każda wiadomość ma ten sam ogólny kształt:

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

Nazwy metod są zdefiniowane przez samo ACP, więc nigdy nie piszesz ich ręcznie. Robią to edytor i agent.

Agenci nie muszą mieszkać na twoim laptopie. Zdalni agenci używają HTTP lub WebSocket, choć strona ACP mówi, że pełne wsparcie zdalne jest wciąż w toku. A ponieważ protokół jest zbudowany pod kodowanie, w miarę możliwości ponownie wykorzystuje reprezentacje JSON z MCP i dodaje typy dla rzeczy, które edytor musi narysować, takich jak diffy. Dlatego proponowana zmiana może pojawić się w twoim edytorze jako diff, a nie ściana tekstu.

Edytor, ACP, agent i API modelu w jednym rzędzie
ACP to łącze między edytorem a agentem. Model siedzi za agentem, na osobnym połączeniu.

ACP vs MCP: co łączy które#

Postaw agenta pośrodku. Po jednej stronie jest twój edytor, a to łącze to ACP. Po drugiej stronie są rzeczy, z którymi agent pracuje: pliki, bazy danych, usługi. To łącze to MCP. Leżą po różnych stronach agenta, więc nie konkurują. Jeśli MCP jest dla ciebie nowe, zacznij od naszego przewodnika po MCP prostym językiem.

ACP łączy edytor i agenta, MCP łączy agenta i narzędzia
Dwa protokoły obok siebie. ACP zwraca się do edytora, MCP do narzędzi.

Są też bliskimi krewnymi: jak wspomniano powyżej, ACP zapożycza reprezentacje JSON z MCP, gdzie tylko może. Spróbuj dopasować je sam:

Dopasuj pary

Dopasuj każdą nazwę do tego, co łączy

  • ACPEdytor ⇄ agent kodujący
  • MCPAgent ⇄ narzędzia i dane
  • JSON-RPC przez stdioJak lokalny agent ACP rozmawia z edytorem
  • API modelu (base URL + klucz)Agent ⇄ model językowy

Bring your own agent w Android Studio#

Bez wspólnego protokołu dodanie agenta do edytora to zadanie dostawcy edytora. W Android Studio Rabbit 2 agenta wybierasz sam. Według posta Android Developers otwierasz okno agenta i wybierasz agenta albo wybierasz go w Settings > Tools > AI > Agents. Następnie uwierzytelniasz się i wysyłasz pierwszy prompt. Post mówi tylko „authenticate”; czego to wymaga, zależy od wybranego agenta, więc miejsca do sprawdzenia szukaj w dokumentacji samego agenta.

Oto kolejność, jeśli chcesz sprawdzić sam:

Ustaw w kolejności

Ułóż kroki w Android Studio we właściwej kolejności

  1. Otwórz Android Studio Rabbit 2
  2. Wybierz agenta (okno agenta lub Settings > Tools > AI > Agents)
  3. Uwierzytelnij się
  4. Wyślij pierwszy prompt

Gdzie siedzą model i klucz API#

To część, która najbardziej myli początkujących. Łącze ACP przenosi rozmowę między edytorem a agentem. Agent nadal potrzebuje modelu językowego, żeby myśleć, a to osobne połączenie, zwykle z własnym loginem lub kluczem API. Zmiana edytora nie zmienia modelu, a zmiana modelu nie zmienia edytora. Post o Android Studio nic nie mówi o niestandardowych kluczach ani modelach, więc to, co możesz zmienić, zależy od wybranego agenta.

Niektórzy agenci pozwalają wskazać endpoint zgodny z OpenAI: base URL, klucz i id modelu. Gdy twój agent to potrafi, to jest całe połączenie po stronie modelu, i możesz je przetestować w terminalu, zanim dotkniesz jakichkolwiek ustawień (klucz to placeholder w zmiennej środowiskowej):

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."}]
  }'

W odpowiedzi dostajesz JSON z tekstem w choices[0].message.content i liczbami tokenów w usage. Agenci kodujący przy każdym kroku ponownie wysyłają dużo kontekstu, więc pasuje do nich model z długim kontekstem. W CheapTokens to DeepSeek-V4-Flash: okno kontekstu 380K, do 32 768 tokenów wyjściowych na odpowiedź, jedna cena o każdej porze dnia i jedno saldo we wszystkich modelach. API jest zgodne z OpenAI i Anthropic. Dokładne id modelu weź z dokumentacji CheapTokens; identyfikatory różnią się między dostawcami. Szczegóły znajdziesz na stronie modeli DeepSeek.

Nie wiesz, które narzędzie przyjmuje niestandardowy klucz? Nasz przewodnik gdzie podpiąć własny klucz API omawia czat, edytor, terminal i kod. A jeśli „base URL” to dla ciebie nowy termin, przeczytaj czym jest base_url i jak go przełączyć.

Spróbuj samSpróbuj: zainstalowałeś agenta ACP. Które połączenie zmieniasz, żeby przełączyć używany przez niego model?Pokaż odpowiedź

Nie to ACP. Gniazdo edytor–agent zostaje bez zmian. Model to własne ustawienie agenta: base URL, klucz i id modelu w konfiguracji agenta, jeśli agent je udostępnia.

Co dalej#

Otwórz dokumentację agenta, którego chcesz użyć, i poszukaj, gdzie ustawia się model. Jeśli ciekawi cię, jak agent działa w środku, jak działa agent AI: pętla pokazuje to krok po kroku. ACP odpowiada tylko na jedno pytanie: jak edytor i agent rozmawiają. Wszystko inne zostaje między agentem a jego narzędziami i modelem.