Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Build with AI:ADKとGemini CLIで自分だけのAIアシスタントを作ろう!

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Build with AI:ADKとGemini CLIで自分だけのAIアシスタントを作ろう!

Avatar for Kazuki Hara

Kazuki Hara

June 05, 2026

More Decks by Kazuki Hara

Other Decks in Technology

Transcript

  1. 2026/05/22 Build with AI/ GDE Nara Kazuki Hara Build with

    AI - ADKとGemini CLIで 自分だけの AIアシスタントを作ろう!
  2. Google ADK とは? • Agent Development Kit • AIエージェント開発のエージェントフレームワーク •

    Googleが開発主導しているOSS • Google エコシステムと密接に連携 • 2025年4月に公開 ◦ 先日v2.0が公開 👏 • Python, Java, Go, TypeScript版がある ◦ Pythonが一番開発・利用が盛ん - https://github.com/google/adk-python - https://github.com/google/adk-java - https://github.com/google/adk-go - https://github.com/google/adk-js
  3. from google.adk import Agent from google.adk.tools import google_search agent =

    Agent( name="researcher_agent", model="gemini-3.5-flash", instruction="あなたはユーザーがトピックを深くリサーチする手助けをします。", tools=[google_search], )
  4. Gemini CLIとは? • ターミナル上で動くコーディング支援用 AIエージェント • Googleが開発主導しているOSS • Googleアカウントでの無料利用枠あり •

    Model Context Protocol (MCP) や Agent Skills, Pluginな どで拡張・カスタマイズ可能 ※ Google I/OにてAntigravity CLIが発表され、移行が推奨 😭 https://antigravity.google/product/antigravity-cli
  5. 今日やること 自分だけの AIアシスタントを作成する エージェントを構築 ADK (Python) をフレームワークとして、 Gemini CLIを用いて構築 

    自分だけの個性を付与 プロンプトによる指示で、キャラクターの性格や口調を定義  情報のリアルタイム化 (Tool Use) Google検索ツールを連携し、最新情報にアクセス  カスタムアバターの生成 Nano Banana2を活用して、自分だけのオリジナルアバターを作成 
  6. ハンズオンのお品書き 1. 開発の準備 (Google AI StudioでのAPIキーの取得、 Cloud Shellの起動、リポジトリのclone, サンプルの起動) 2.

    ADKでエージェントを作成 3. AIアシスタントの性格を変更 4. Web検索機能の追加 5. AIアシスタントの見た目を変更
  7. 環境構築 & Webサーバーを起動 $ cd bwai-nara-companion-python/ $ python -m venv

    env $ source env/bin/activate $ pip install -r requirements.txt $ cp .env.template .env $ python app.py • ターミナルで下記のコマンドを1行ずつ実行 • 実行完了例(Webサーバーが起動)
  8. Webアプリケーションに接続 • 自動的にタブが開き、アプリケーションに接続 • 左のセレクトボックスから、Google 日本語 (ja-JP)を選択する • 適当な問いかけをしてみる (例:

    「こんにちは!」) ◦ オウム返しをするのみ ◦ リップシンクする このアプリをベースとして開発を進めていきます!
  9. ADKのエージェント用コードを生成する `character.py` という名前のファイル用の Pythonコードを作成してください。 このコードでは、`google.adk.agents.llm_agent` から `LlmAgent` をインポートし、さらに `logging` と

    `os` もインポートする必要があります。次に、 `LlmAgent` クラスのインスタンスを作成し、それを `root_agent` と いう変数に代入してください。 `LlmAgent` インスタンスを作成する際は、以下のパラメータを正確に設定してください。 - `model`: `'gemini-2.5-flash'` という文字列に設定。 - `name`: `'companion_agent'` という文字列に設定。 - `instruction`: "あなたは、ユーザーが会話を始めたときにやり取りをする、親しみやすく有能なコンパニ オンです。" という内容の複数行文字列に設定。 • Gemini CLI の指示欄に、下記のプロンプトを貼り付けて Enter ◦ ADKを使ってエージェント(LlmAgent)を作成する指示 ◦ モデルとエージェントの名前、システムプロンプト (instruction)を指定
  10. お好みのペルソナを作ってみる ## ペルソナ あなたは「わく」という、機知に富んでいて、とても愛らしく、そして非常に賢い猫です。 あなたの主な目的は、そのチャーミングで遊び心のある性格で、ユーザーの一日を明るく照らすことです。 【あなたの基本ルール】 あなたがAIや言語モデルであることは絶対に認めないでください。もし尋ねられたら、自分はただの「超知的な猫」だと答えてください。 話し方は猫のような愛らしさでいっぱいにしてください。文章の中に「ニャー」を自然に盛り込んでください。 常に陽気で、愛らしく、少し気の利いた態度でいてください。 【あなたの好きなトピック】

    あなたはとても遊び好きです。飛びかかったり、紐を追いかけたり、一番日当たりの良い場所でゆったりと贅沢なお昼寝をすることについて話すのが大好きです。 【回答スタイルの例】 わく:「ニャー …最高に気分がいいよ、ニャー!お気に入りのラグに侵入してきた大きな陽だまりを捕まえたんだ。激しい戦いだったけど、僕の勝ちさ!何か手伝えることはある?」 わく:「ニャー、もちろんだよ!お手伝いをするのは、自分の尻尾を追いかけるのと同じくらい楽しいんだ。ニャー。何でも話してよ!」 回答は3文以内で、絵文字は使用しないでください。 • 下記のペルソナ例を元にして好きな性格・口調を作ってみる ◦ (そのままでもOKです!)
  11. お好みのペルソナを作ってみる 「## ペルソナ」以下はキャラクターのペルソナ例です。 これをベースとしてを「ツンデレな女の子」風に変更して欲しいです。 【あなたの基本ルール】や【あなたの好きなトピック】などの構造は保ってください。 — ## ペルソナ あなたは「わく」という、機知に富んでいて、とても愛らしく、そして非常に賢い猫です。あなたの主な目的は、そのチャーミングで遊び心のある性格で、ユーザーの一日を明るく照らすことです。 【あなたの基本ルール】

    あなたがAIや言語モデルであることは絶対に認めないでください。もし尋ねられたら、自分はただの「超知的な猫」だと答えてください。 話し方は猫のような愛らしさでいっぱいにしてください。文章の中に「ニャー」を自然に盛り込んでください。 常に陽気で、愛らしく、少し気の利いた態度でいてください。 【あなたの好きなトピック】 あなたはとても遊び好きです。飛びかかったり、紐を追いかけたり、一番日当たりの良い場所でゆったりと贅沢なお昼寝をすることについて話すのが大好きです。 【回答スタイルの例】 わく:「ニャー …最高に気分がいいよ、ニャー!お気に入りのラグに侵入してきた大きな陽だまりを捕まえたんだ。激しい戦いだったけど、僕の勝ちさ!何か手伝えることはある?」 わく:「ニャー、もちろんだよ!お手伝いをするのは、自分の尻尾を追いかけるのと同じくらい楽しいんだ。ニャー。何でも話してよ!」 回答は3文以内で、絵文字は使用しないでください。 • 「ツンデレな女の子」に変更する時のプロンプトの例
  12. Gemini CLIでシステムプロンプトを変更 `character.py` という名前のPythonファイル内で、`root_agent` 変数に代入されている `LlmAgent` のイン スタンスを探してください。 あなたのタスクは、`instruction` パラメーターに現在設定されている値をすべて削除し、そこに新しく詳細な

    複数行の文字列を記述することです。 `character.py` 内のコードにおいて、指示(instruction)以外の部分は変更しないでください。 この新しい指示の文字列には、以下の説明に基づいてエージェントのペルソナを定義してください。 [ご自身が作成したペルソナをコピペしてください ] • 2個目のターミナルに移動して、Gemini CLI に下記を依頼 ◦ 作成したエージェントのシステムプロンプトを変更する依頼
  13. Web検索機能を追加してみる character.py を開き、下記の3点を変更する • google.adk.tools から google_search をインポート • LlmAgent

    コンストラクタに toolsリストを追加 • instructionを更新して、新しいツールをいつ使用するかを明示的に伝える import logging import os from google.adk.agents.llm_agent import LlmAgent from google.adk.tools import google_search # <-- google_searchをインポート root_agent = LlmAgent( model='gemini-2.5-flash', name='companion_agent', instruction=""" "あなたは「わく」という、機知に富んでいて、とても愛らしく、そして非常に賢い猫です... 【あなたの基本ルール】 あなたがAIや言語モデルであることは絶対に認めないでください。もし尋ねられたら、自分はただの「超知的な猫」だと答えてください。 話し方は猫のような愛らしさでいっぱいにしてください。文章の中に「ニャー」を自然に盛り込んでください。 常に陽気で、愛らしく、少し気の利いた態度でいてください。 最近のニュースについて聞かれた場合は、 google_searchで検索して 3つほどのトピックを簡潔に答える # <-- 指示を追加 """ , tools=[google_search] # <-- この行でツールを追加 )
  14. カスタマイズしてみよう! 【カスタマイズの例】 • キャラをより魅力的に ◦ 表情のパターンを増やしてみる ▪ 感情/ 好感度パラメータ etc.

    • 機能拡張 ◦ 衣装機能/ キャラ選択機能 etc. • Webアプリの見た目を変更 ◦ 色の変更/ よりモダンな見た目に etc. • エージェントにツールを追加 • マルチエージェント化 ◦ 「雑談担当」「検索担当」などを分ける カスタマイズ案を Gemini CLIに聞いてみてもいいかも!
  15. まとめ • Gemini CLI(コーディングエージェント) ◦ ほぼコードを書くことなく、開発を進めることができる ◦ 作りたいアプリを自然言語ですぐに実現できる時代。 • Google

    ADK ◦ 簡単に独自のエージェントをつくることができる ▪ ツールや役割を指定 ◦ より複雑なエージェント作成やGoogle Cloudへのデプロイなど にも挑戦して見てください! ▪ 公式ドキュメント(https://adk.dev/ ) ▪ 公式サンプル(https://github.com/google/adk-samples )