ACP coding agents

Agent Client Protocol verbindet eine Coding-Oberfläche mit einem Coding-Agenten. Die Oberfläche kann ein Editor, eine Desktop-Anwendung, CLI oder ein anderer ADK-Rust Agent sein. Der Coding-Agent ist ein separater Prozess, der über ein gemeinsames Session über ein Projekt nachdenkt und seine Arbeit meldet.

ADK-Rust implementiert beide Seiten der stabilen ACP Protokollversion 1:

  • einen externen ACP Coding-Agenten aus einer ADK-Rust Anwendung verwenden;
  • einen ADK-Rust Agenten als ACP Prozess bereitstellen, den ein Editor starten kann.

Die Implementierung verwendet die offizielle agent-client-protocol Rust SDK. Die SDK Crate-Version und die ACP Wire-Version sind getrennt: ADK-Rust verwendet derzeit SDK 1.2 und verhandelt während initialize die Protokollversion 1.

Lies diesen Abschnitt

  1. Architektur und Konzepte erklärt die beiden Rollen und den vollständigen Request-Flow.
  2. Einen ACP Client oder Host erstellen behandelt die einmalige Delegierung, persistente Sessions, Streaming, Abbruch, Berechtigungen, Dateien, Terminals und Session-MCP-Server.
  3. Einen ADK-Rust ACP-Agenten bereitstellen behandelt die Servererstellung, Lifecycle-Zuordnung, Event-Streaming, Session-Persistenz und Bereitstellung.
  4. Tests und Support-Matrix listet verifiziertes Verhalten und die Funktionen auf, die ADK-Rust absichtlich nicht bewirbt.

Welches Protokoll sollte ich verwenden?

GrenzeVerwende es für
ACPEine interaktive Coding-Oberfläche, die mit einem Coding-Agenten innerhalb einer Projektsitzung arbeitet
A2AUnabhängig bereitgestellte Business-Agenten, die entfernte Aufgaben und Artefakte austauschen
MCPWerkzeuge, Prompts und Ressourcen, die einem Agenten zur Verfügung gestellt werden

ACP kann MCP Serverkonfiguration mitführen, wenn eine Codierungssitzung geöffnet wird. Das macht ACP und MCP jedoch nicht austauschbar: ACP gehört die Unterhaltung des Coding-Agents; MCP stellt die Werkzeuge und Ressourcen bereit, die während dieser Unterhaltung verwendet werden.

Beispiele

BeispielWas es beweist
examples/acp_client_hostGestreamte Client-UI, asynchrone Berechtigungen und ein schreibgeschütztes, auf den Workspace begrenztes Dateisystem
examples/acp_kiroDirekte Delegation, ein ACP-Agent als ADK-Tool, persistente Sessions, Umgebungskonfiguration und gleichzeitige Kündigung
examples/acp_serverEin Werkzeug nutzender ADK-Rust LLM-Agent, der Editoren über ACP v1 bereitgestellt wird
examples/acp_full_protocolIm Prozess laufende Referenz ohne API-Schlüssel, gestützt auf Runner, die die vollständige Serveroberfläche von Phase 2 abdeckt (eingebettete Ressourcen + Bild-/Audio-Prompts, Berechtigungsbrücke, session/load-Wiedergabe, Nutzungs-/Tool-Call-Aktualisierungen) mit einem validierenden Test

Vorherige: ← Benchmarking | Nächste: Erneut versuchen & reflektieren →