1. はじめに
AIエージェント、盛り上がっていますよね。
自分も波に乗りたいと思いつつ、普段使いの Next.js や Node.js の環境がある中で、エージェントのためだけに Python 環境を別途作って管理するのって……なんというか、正直「スマートじゃないな」と感じていました。
「今の TS 環境のまま、シュッとエージェントを組み込めるのが理想なんだけどな」
そんな風に思っていた矢先、Google の「ADK for TypeScript(@google/adk)」の噂を耳にしました。
「これなら今のスタックを崩さずに練習できるかも?」と、第一歩を踏み出してみた記録です。
2. なぜ「ADK for TypeScript」なのか
「いつか既存プロジェクトにAIを住まわせたい」
そのための検証として、TS版は最高の選択肢でした。
環境を増やさず、使い慣れた npm エコシステムの中でエージェントを構築できる。この親和性を練習段階で確認しておくことが、今回の目的です。
3. 準備
- Node.js: v20+
- Google Cloud: Vertex AI が有効なプロジェクト
- API Key: 適切な権限設定(.envで管理)
4. プロジェクトの初期化
練習用の環境 first-js-adk を作成します。
mkdir first-js-adk
cd first-js-adk
npm init -y
# 本体と開発ツールを導入
npm install @google/adk
npm install -D @google/adk-devtools
5. 環境設定
ルートに .env ファイルを作成します。
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT={PROJECT_ID}
GOOGLE_CLOUD_LOCATION={LOCATION}
6. エージェントを書く
sample/agent.ts を作成。まずはシンプルに「Web検索」を装備させてみます。
import { LlmAgent, GOOGLE_SEARCH } from '@google/adk';
export const rootAgent = new LlmAgent({
name: 'practice_agent',
model: 'gemini-2.0-flash',
instruction: '有能なアシスタントとして、必要に応じて検索ツールを使って最新情報を調べ、回答してください。',
tools: [GOOGLE_SEARCH],
});
7. 動作を確認する
ADKに標準搭載されている開発者用UIを使って、対話してみます。
"scripts": {
"dev": "npx @google/adk-devtools web ."
}
npm run dev
localhost:8000 で立ち上がります。アクセスすると以下のようなUIが表示されます。
実際にしっかり動いていますね
8. 補足:なぜ単なるSDKではなく「ADK」なのか
ここで「GeminiのSDKをそのまま叩けばいいのでは?」という疑問も浮かぶかもしれません。
確かに単純なチャットならSDKで十分ですが、「複数のツールを使い分ける」「状況に応じて思考ループを回す」「複雑なワークフローを管理する」 といった「エージェントらしい振る舞い」を自前で実装するのはかなり骨が折れます。
こうした高度なエージェント機能を、外部の重いランタイムに頼らず、純粋な TypeScript ライブラリとして扱えるのが ADK の価値だと感じました。
9. まとめ
「TS版なら、いつもの環境のまま行ける」
その確信が得られただけでも、今回の練習には大きな価値がありました。
まだ実験的なフェーズ(v0.2.x)ですが、プロダクトへの組み込みを見据えて、もっと触ってみようと思います。
