0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

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が表示されます。

スクリーンショット 2026-01-18 16.08.46.png

実際にしっかり動いていますね

8. 補足:なぜ単なるSDKではなく「ADK」なのか

ここで「GeminiのSDKをそのまま叩けばいいのでは?」という疑問も浮かぶかもしれません。

確かに単純なチャットならSDKで十分ですが、「複数のツールを使い分ける」「状況に応じて思考ループを回す」「複雑なワークフローを管理する」 といった「エージェントらしい振る舞い」を自前で実装するのはかなり骨が折れます。

こうした高度なエージェント機能を、外部の重いランタイムに頼らず、純粋な TypeScript ライブラリとして扱えるのが ADK の価値だと感じました。

9. まとめ

「TS版なら、いつもの環境のまま行ける」
その確信が得られただけでも、今回の練習には大きな価値がありました。

まだ実験的なフェーズ(v0.2.x)ですが、プロダクトへの組み込みを見据えて、もっと触ってみようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?