🍅

Zed × JetBrains ACP 対談まとめ

に公開

What Is the Agent Client Protocol – and Why JetBrains and Zed Are Building It Together

こんにちは、JetBrains公式代理店NATTOSYSTEMのねばねばです。

本記事では、Jan-Niklas Wortmann氏(Software Engineer, JetBrains s.r.o.)をモデレーターに、
Ben North氏(Co-founder, Zed Industries, Inc.)、
Sergey Shandar氏(Software Engineer, JetBrains s.r.o.)
が語った対談動画の内容をもとに日本語でまとめました。

コーディングエージェントが急速に普及する中で、新しい課題が生まれています。

  • エージェントごとに統合方法が違う
  • IDEごとに実装が必要
  • UIは似ているのに裏側が分断されている

この問題に対して、Zed Industries, Inc. と JetBrains s.r.o. が共同で取り組んでいるのが ACP(Agent Client Protocol) です。

https://www.youtube.com/watch?v=n11pDnBXPgk&embeds_referring_euri=https%3A%2F%2Fqiita.com%2F&source_ve_path=OTY3MTQ

なぜACPが生まれたのか

Ben North氏はこう語っています。

just about every company you can think of launched a coding agent

ほぼすべての企業がエージェントをリリースした結果、開発者には多くの選択肢が生まれました。しかし同時に、ユーザー体験は断片化しました。

Sergey Shandar氏によると、JetBrainsのIDE内でも次のような混乱が起きていたと言います。

  • AIチャットパネルがある
  • エージェントパネルもある
  • UIは似ている
  • しかし内部ロジックは別

ユーザーインタビューでは、どちらのパネルを使うべきか迷うケースが多発していたとのことです。

ここから、「エージェントとUIを分離する共通レイヤーを作るべきだ」という発想が生まれました。

ACPとは

ACPは Agent Client Protocol の略称です。

  • ACP:エージェントロジックとクライアントUIを分離

Ben North氏は次のように説明しています。

ACP's architecture is pretty simple. It's JSON RPC sending messages in two directions between the agent and client.

技術的にはJSON-RPCベースの双方向通信。
「どのようなメッセージをやり取りするか」を標準化するプロトコルです。

image.png
JetBrains 公式サイトより https://www.jetbrains.com/ja-jp/acp/

+----------------------+
|        IDE UI        |
+----------------------+
           |
           |  ACP (JSON-RPC)
           |
+----------------------+
|      Agent Process   |
+----------------------+

M×N問題の解消

ACPの本質は、いわゆる M×N問題の解消 にあります。

  • M個のエージェント
  • N個のIDE

従来は、それぞれ個別に統合実装が必要でした。

ACPに対応すれば、

  • エージェントはACP仕様を実装するだけ
  • IDEもACP仕様を実装するだけ

それだけで相互接続が可能になります。

Sergey Shandar氏はこれを「m by n problem を eliminate する」と説明しています。

競合が協力

Zed Industries, Inc. と JetBrains s.r.o. はIDE領域で競合関係にあります。それにもかかわらず、共同で仕様策定を進めています。

Sergey Shandar氏は次のように述べています。

I didn't want to build a separate standard for the same thing.

同じ問題に対して複数の標準が乱立することは、エコシステム全体にとってマイナスになる。

結果として、両社は事実上「ひとつのチーム」のように仕様を磨き上げているとのことです。

設計思想:変化し続けるAIにどう向き合うか

ACP設計の核心は「柔軟性」です。

Ben North氏はこう語ります。

I don't know what's going to come next with AI. It's going to change.

AIは急速に進化し続ける。
そのため、プロトコルは次のバランスを取る必要があります。

  • 必要最小限のみを標準化する
  • エージェント側の自由度を確保する
  • クライアント側のUI設計を縛らない

まとめ

ACP(Agent Client Protocol)は、

  • エージェントとIDEの分離
  • M×N問題の解消
  • UIとロジックの疎結合化
  • エコシステム形成の促進

Zed Industries, Inc. と JetBrains s.r.o. が競合を超えて標準化に取り組んでいる点も象徴的です。

エージェントが「前提」になりつつある今、その接続基盤の設計は今後の開発体験を大きく左右します。

ACPがどこまで普及するのか、引き続き注目していきたいテーマです。

ナットウシステムからのお知らせ

NATTOSYSTEM は JetBrains 製品に関するご質問、ご相談等を受け付けております。
どんな質問でも構いませんので、弊社のXまたはメールでご連絡ください。

参考資料

https://www.jetbrains.com/ja-jp/acp/

https://agentclientprotocol.com/get-started/introduction

https://www.youtube.com/watch?v=n11pDnBXPgk&embeds_referring_euri=https%3A%2F%2Fqiita.com%2F&source_ve_path=OTY3MTQ

株式会社NATTOSYSTEM

Discussion