業務システムはJavaやGoで動いているのに、AIエージェントだけはPythonで別に作り、別のサーバーで動かしている。エージェントの機能が増えるほど、その間をつなぐAPIや運用の手間も増えていきます。GoogleのAIエージェントの開発キット「Agent Development Kit(ADK)」は、この「エージェントはPythonで」という前提を外す方向に進んでいます。
Google Cloudのブログは2026年10月13日(米国時間)、ADKが5つの言語で使えることを、言語ごとのコードで解説しました。
Google’s Agent Development Kit (ADK) removes that trade-off with coverage for Python, Go, TypeScript, Java, and Kotlin.
この記事では、解説と各言語のリポジトリの文書を照らし合わせ、PythonとTypeScriptでは実際にツールの定義を作って出力を確かめました。既存のシステムと同じ言語でエージェントを作るか検討している開発チーム向けに、選ぶ前の確認点を整理します。
5言語で共通しているところ
解説によると、5つの言語のADKはそれぞれの言語に合わせて作られていますが、共通の仕組みを持っています。
- MCP(Model Context Protocol)のクライアント:すべての言語に入っている。MCPサーバーとして公開したツールは、どの言語のエージェントからも呼べる
- A2A(Agent2Agent)プロトコル:エージェント同士がHTTPでやり取りする仕組み。言語や枠組みが違うエージェントの間でもつながる
つまり、全社で1つの言語にそろえなくても、ツールはMCPサーバーに、エージェント同士はA2Aで、という形でつなげる前提になっています。MCPの基本はMCP完全ガイドで扱っています。
言語ごとの違い
解説に書かれている各言語の特徴を、業務システムとの組み合わせの観点でまとめます。
| 言語 | ツールの定義の作られ方 | 解説が挙げる向き・特徴 |
|---|---|---|
| Python | 関数の型ヒントとdocstringから自動で作る | 基準の実装。Google Cloudの連携・モデルの対応が最も広い。評価のコマンドでCIに組み込める |
| Go | 構造体のタグからジェネリクスで作る | 本番のバックエンド向け。約2MiBの土台のイメージで、起動が速い。Pythonの次にADK 2.0のグラフ型ワークフローに対応した |
| TypeScript | Zodのスキーマから作る | Node.jsのサービスに加え、ブラウザのタブの中でも動く。WebMCPとChromeの端末内のモデルを使える |
| Java | 引数の @Schema 注釈から作る | Maven・Gradle・Spring Bootの環境向け。Spring AIとLangChain4jとの橋渡しがある |
| Kotlin | KSPでビルド時に作る | ビルド時に型の誤りを止める。Androidの端末内でエージェントを動かせる |

選ぶ前に確かめておきたいのが、提供の段階です。2026年10月25日に各リポジトリのREADMEを確認したところ、JavaとKotlinのREADMEには「Preview」の節があり、Google Cloudの「Pre-GA Offerings Terms」の対象で、サポートが限られる場合があると書かれていました。Python・Go・TypeScriptのREADMEには、この節はありませんでした。KotlinのREADMEは、同時に「安定したリリースの周期に移った」とも書いており、段階の意味は文書によって読み方が分かれます。顧客の本番のシステムに入れる前に、使う言語のREADMEと契約の条件を確かめておくのが無難です。
ツールの定義を実際に作って確かめた
エージェントがツールを正しく呼べるかは、モデルに渡るツールの説明(名前・説明・引数)に左右されます。解説に載っている天気のツールの例を、PythonとTypeScriptでそのまま書き、ADKが作るツールの定義を出力しました。モデルの呼び出しはしていません。
検証の環境は、Linux、Python 3.11.17 と google-adk 2.13.0、Node.js 22.22.0 と @google/adk 2.3.0・zod 4.6.7 です(2026年10月25日にPyPIとnpmから取得)。定義を見るために、ツールの内部のメソッド(Pythonの _get_declaration()、TypeScriptの _getDeclaration())を使っています。
Python:docstringの「Args:」は引数の説明にならなかった
解説の例のとおり、引数の説明をdocstringの Args: に書いた関数を渡すと、出力は次のようになりました(一部)。
{
"description": "Retrieves the current weather report for a specified city.\n\nArgs:\n city (str): The name of the city for which to retrieve the weather report.",
"name": "get_weather",
"parameters_json_schema": {
"properties": { "city": { "title": "City", "type": "string" } },
"required": ["city"]
}
}
docstring全体がツールの説明に入り、引数 city には説明が付きませんでした。モデルはツールの説明文の中から引数の意味を読み取ることになります。ADKの公式文書(adk.devの「Function tools」)は「引数の説明はdocstringから取られる」と書いていますが、2.13.0のソースコードを読んだ範囲でも、引数の項目は関数の引数の型の情報から作られ、docstringの Args: を読み取る処理は見当たりませんでした。docstringの内容は、引数の項目ではなくツールの説明文としてモデルに渡る、と読むのが今回の出力に合います。引数に Annotated[str, Field(description="The name of the city.")] と書き直すと、city に "description": "The name of the city." が付くことも確かめました。引数が多いツールや、業務の用語を使う引数では、この書き方のほうが意図が伝わりやすいと考えます(編集部の判断)。
TypeScript:Zodの説明がそのまま入り、型の違う入力は止まった
TypeScriptでは、Zodの z.string().describe("The name of the city.") が、ツールの定義の city の説明にそのまま入りました。
さらに、ツールに city: 123(数値)を渡して実行すると、ツールの関数は呼ばれず、expected string, received number というZodの検証のエラーで止まりました。解説が書く「実行時の入力の検証と、モデルに送るスキーマが1つの定義から作られる」動きを確認できたことになります。
PythonとTypeScript以外の3言語(Go・Java・Kotlin)は、今回は動かしていません。
既存のシステムの言語で作るかの判断
ここからは編集部の提案です。
- ツールの多くを既存のシステムの中に置きたい場合:同じ言語のADKを使うと、業務のロジックを呼ぶためだけのAPIを新たに作らずに済む。ただし、上記の提供の段階を確かめる
- 評価(エージェントの出来の採点)を仕組みにしたい場合:解説は、評価の道具が最もそろっているのはPythonだとし、本番が別の言語でもPythonの評価で全体を試せるとしています。本番の言語と評価の言語を分ける構成も選択肢になる
- 言語をまたぐ場合:ツールはMCPサーバーとして切り出し、エージェント同士はA2Aでつなぐ。どの言語のADKからも同じツールを使える
エージェントの基本的な考え方はAIエージェントとはで、Googleの法人向けのエージェント基盤から社内の画面をつなぐ例はGemini EnterpriseのMCP Appsで扱っています。
確認した範囲
2026年10月25日に、Google Cloudのブログ「One Agent Development Kit, five languages」(2026年10月13日)と、GitHubの google/adk-python・adk-go・adk-js・adk-java・adk-kotlin の各README(mainブランチ)を確認しました(資料調査)。あわせて、編集部の検証環境(Linux)で、PythonとTypeScriptのADKをインストールし、解説の例のツールの定義を出力しました(実機検証)。モデルを呼び出してのエージェントの実行、Go・Java・Kotlinでの動作、Google Cloudへのデプロイ、
agents-cliコマンドは試していません。公開前の2026年10月27日に、ブログ・各README・adk.dev(google.github.io/adk-docs から移転)の文書・PyPI・npm・Maven Central・Goのモジュールを確認し直しました。JavaとKotlinのREADMEのPreviewの節は残っており、検証に使ったgoogle-adk 2.13.0と@google/adk 2.3.0は、この日も各言語の最新版でした。
既存の業務システムにAIエージェントを組み込む設計や、言語・構成の選定は、開発・AI・自動化のご相談からお問い合わせください。








