🎉

[ADK] ADK for TypeScript(@google/adk) を利用して、TypeScriptでAIエージェントを書く

に公開

こんにちは、サントリーこと大橋です。

先日(2025/10/31)のAI Agent Summitでも紹介しましたが、
GoogleのGitHubリポジトリで、Agent Development Kit (ADK) のJavaScript/TypeScript版である ADK for TypeScript(@google/adk)を見つけました。まだGoogleの公式ブログやイベントでの発表はありませんが、非常に興味深いプロジェクトです。

https://github.com/google/adk-js

今回の記事では、この実験的な @google/adk を利用して、TypeScriptでAIエージェントを作成する手順を紹介し、ADK Pythonとの違いや @google/adk の現状について解説していきます。

ADK for TypeScriptとは

ADK for TypeScript(@google/adk) は、その名の通りADKのTypeScript実装です。adk-python と同様に、柔軟でモジュール化されたAIエージェントをコード中心で開発するためのツールキットです。

公式のREADME.mdを読むと、いくつかの点がわかります。

  • APIの安定性: バージョンはまだ 0.1.0 であり、「1.0に達する前に破壊的変更が含まれる可能性がある」とのことです。
  • 本番環境での利用: 現時点では本番環境での利用は推奨されていません。
  • 公式アナウンス: Googleからの正式なリリース発表やドキュメントはまだなく、まさに実験的な段階にあると言えるでしょう。

とはいえ、Python版ADKの主要な概念は引き継がれているようで、今後の発展が非常に楽しみなプロジェクトです。

ADK for TypeScript の使い方

それでは、実際に ADK for TypeScript を使って簡単なAIエージェントを作成してみましょう。

1. プロジェクトのセットアップ

まず、プロジェクト用のディレクトリを作成し、npmプロジェクトを初期化します。

# プロジェクト用のディレクトリ作成
mkdir adk-js-sample
cd adk-js-sample

# npmプロジェクトの初期化
npm init -y

2. 依存関係のインストール

次に、@google/adk 本体と、開発ツールである @google/adk-devtools をインストールします。

# ADK本体をインストール
npm install @google/adk

# 開発ツールをインストール
npm install -D @google/adk-devtools

3. 環境変数の設定

プロジェクトのルートに .env ファイルを作成し、ADKがGoogleのサービスに接続するための設定を記述します。今回はVertex AIを利用する設定です。

.env
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT={YOUR_PROJECT}
GOOGLE_CLOUD_LOCATION={YOUR_LOCATION}

{YOUR_PROJECT}{YOUR_LOCATION} は自分の環境に合わせて書き換えてください。

4. エージェントの作成

sample ディレクトリを作成し、その中にエージェントのロジックを記述する agent.ts ファイルを作成します。

mkdir sample
touch sample/agent.ts

作成した sample/agent.ts に、Google検索を利用してユーザーの質問に答えるシンプルなエージェントのコードを記述します。

sample/agent.ts
import { LlmAgent, GOOGLE_SEARCH } from '@google/adk';

export const rootAgent = new LlmAgent({
    name: 'search_assistant',
    description: 'Web検索用エージェント.',
    model: 'gemini-2.5-flash',
    instruction: 'あなたは有能でフレンドリーなエージェントです。ユーザーの問いに必要であれば、Web検索をして答えてください。',
    tools: [GOOGLE_SEARCH],
});

adk-python と非常によく似ていますね。

ADK DevToolsの使い方

作成したエージェントを動かすには、@google/adk-devtools を利用します。これはPython版の adk web に相当する開発用UIを提供してくれます。

1. package.jsonの編集

package.jsonscripts に、開発サーバーを起動するためのコマンドを追加します。

package.json
{
  ...
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "npx @google/adk-devtools web ."
  },
  ...
}

2. 開発サーバーの起動

以下のコマンドで開発サーバーを起動します。

npm run dev

起動に成功すると、localhost:8000 でサーバが起動します。
アクセスすると以下のように、見慣れたADKの開発UIが表示されるはずです。ここでエージェントの動作をテストしたり、デバッグしたりすることができます。

実際にしっかり動いていそうですね

まとめ

今回は、まだ実験的な段階にある ADK for TypeScript を使ってTypeScriptでAIエージェントを作成する方法を紹介しました。

  • ADK for TypeScript はADKのTypeScript実装であり、Python版と非常に似た思想で設計されている。
  • LlmAgentGOOGLE_SEARCH といった基本的なコンポーネントが提供されており、Python版の経験者であれば直感的に利用できる。
  • @google/adk-devtools を使うことで、Python版と同様の開発UIを利用できる。

コードを見る限り、RunnerSessionEvent といったADKの基本的な概念はそのまま継承されており、Plugin のような拡張機能も存在するようです。ツールなどはPythonバンと比べると数が少なく、CLIも一部の実装のみが行われているようです。
また、READMEを見る限りでは、まだコントリビューションは受け付けていないようですが、今後もウォッチしていきたいですね。
(ADK Javaの記事もそのうち書きます...多分)


お知らせ/宣伝

ADK開発者が集う日本語のDiscordコミュニティがあります。ADKに関する情報交換や議論に興味がある方は、ぜひご参加ください!

https://discord.gg/BKpGRzjtqZ

また、ADKの最新のコミットログやリリースノートを分かりやすく解説するPodcastを、月・水・金に配信しています。ADKの動向を追いかけたい方は、ぜひ聴いてみてください。

https://www.youtube.com/playlist?list=PL0Zc2RFDZsM_MkHOzWNJpaT4EH5fQxA8n

Discussion