Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Build with AI:ADKとGemini CLIで自分だけのAIアシスタントを作ろう!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kazuki Hara
June 05, 2026
Technology
6
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Build with AI:ADKとGemini CLIで自分だけのAIアシスタントを作ろう!
Kazuki Hara
June 05, 2026
More Decks by Kazuki Hara
See All by Kazuki Hara
【CA.ai #4】Vertex AI Gen AI Evaluation Service の活用事例紹介
harappa80
0
6
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
1
500
Other Decks in Technology
See All in Technology
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
190
Screen Lens - 今見てる画面を翻訳する
komagata
0
290
AI に書かせたその API、 “信頼” できますか?
nagix
0
110
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
240
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
21
12k
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
CLIライブラリ開発を支える技術
htnabe
0
110
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
Featured
See All Featured
Building Adaptive Systems
keathley
44
3.2k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Amusing Abliteration
ianozsvald
1
300
エンジニアに許された特別な時間の終わり
watany
109
250k
Deep Space Network (abreviated)
tonyrice
0
310
Build your cross-platform service in a week with App Engine
jlugia
234
19k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
The Invisible Side of Design
smashingmag
301
52k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Prompt Engineering for Job Search
mfonobong
0
450
Transcript
2026/05/22 Build with AI/ GDE Nara Kazuki Hara Build with
AI - ADKとGemini CLIで 自分だけの AIアシスタントを作ろう!
None
Google ADKを 使ったことがある人 👍
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
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], )
Gemini CLIを 使ったことがある人 👍
Gemini CLIとは? • ターミナル上で動くコーディング支援用 AIエージェント • Googleが開発主導しているOSS • Googleアカウントでの無料利用枠あり •
Model Context Protocol (MCP) や Agent Skills, Pluginな どで拡張・カスタマイズ可能 ※ Google I/OにてAntigravity CLIが発表され、移行が推奨 😭 https://antigravity.google/product/antigravity-cli
今日やること 自分だけの AIアシスタントを作成する エージェントを構築 ADK (Python) をフレームワークとして、 Gemini CLIを用いて構築
自分だけの個性を付与 プロンプトによる指示で、キャラクターの性格や口調を定義 情報のリアルタイム化 (Tool Use) Google検索ツールを連携し、最新情報にアクセス カスタムアバターの生成 Nano Banana2を活用して、自分だけのオリジナルアバターを作成
持ち帰って欲しいこと • Gemini CLI(コーディングエージェント)と共に進める開発方法 • Google ADKを用いたAIエージェント開発 ◦ エージェントへの役割の指定方法 ◦
ツールの付与方法 • 自分でエージェントをつくる楽しさ 🤖!!
ハンズオンのお品書き 1. 開発の準備 (Google AI StudioでのAPIキーの取得、 Cloud Shellの起動、リポジトリのclone, サンプルの起動) 2.
ADKでエージェントを作成 3. AIアシスタントの性格を変更 4. Web検索機能の追加 5. AIアシスタントの見た目を変更
開発の準備をしよう!
Google AI StudioでAPIキーを発行 コードからGeminiを利用するためのもの 1. Google AI Studio(https://aistudio.google.com ) にアクセスする
2. 個人のGoogleアカウントでログインする 3. 左下の「Get API Key」をクリック
Google AI StudioでAPIキーを発行 4. 右上の「APIキーを作成」をクリック
Google AI StudioでAPIキーを発行 5. 「キーを作成」をクリック
Cloud Shellを起動 • https://shell.cloud.google.com にアクセスする ◦ 個人のGoogleアカウントでログインしているChromeで! • 「承認」をクリック
Cloud Shellを起動 • https://shell.cloud.google.com にアクセスする ◦ 個人のGoogleアカウントでログインしているChromeで! • 「承認」をクリック
Cloud Shellを起動
Cloud Shellを起動
リポジトリをCloneする • ターミナルで下記のコマンドを実行 $ git clone https://github.com/Harappa80/bwai-nara-companion-python.git • 実行完了例
環境構築 & 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サーバーが起動)
ポートを変更
ポートを変更
Webアプリケーションに接続 • 自動的にタブが開き、アプリケーションに接続 • 左のセレクトボックスから、Google 日本語 (ja-JP)を選択する • 適当な問いかけをしてみる (例:
「こんにちは!」) ◦ オウム返しをするのみ ◦ リップシンクする このアプリをベースとして開発を進めていきます!
ADKでエージェントを作成しよう!
2つ目のターミナルを追加 下記の役割分担で2つのターミナルを使用 • ターミナル 1: Webサーバーを実行 • ターミナル 2: Gemini
CLI に指示をして開発
Gemini CLIを起動する $ cd bwai-nara-companion-python/ $ gemini • 2つ目のターミナルで下記のコマンドを 1行ずつ実行
• 起動例
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)を指定
コピペ時の注意点 • コピペすると下記のように省略されますが、問題ありません
権限の許可 • ファイルの書き込み権限を求めてきたら「 Allow once」を選択
ADKのエージェント用コードを生成する • ファイルが無事に作成完了🎉
生成されたコードを確認する
生成されたコードを確認する • bwai-nara-companion-python/ のフォルダを指定する ◦ 候補が出てくるので選択すれば大丈夫です
生成されたコードを確認する • エージェントを定義しているファイル • gemini-2.5-flashが質問について応答するシンプルな構成
Google AI Studioのキーを設定する • .envを開いて、GOOGLE_API_KEYにご自身のAPIキーをペースト ◦ YOUR_GOOGLE_AI_STUDIO_API_KEY の箇所を置き換える
Google AI Studioのキーを設定する
エージェントと会話してみる $ python app.py • 1つ目のターミナルに移動して、下記を実行 • 好きな問いかけをすると 先程定義したエージェントが回答 👏
• 動作チェックできたら、CTRL+C を 押して、サーバーを停止しておく
エージェントの 性格や口調を変えよう!
お好みのペルソナを作ってみる ## ペルソナ あなたは「わく」という、機知に富んでいて、とても愛らしく、そして非常に賢い猫です。 あなたの主な目的は、そのチャーミングで遊び心のある性格で、ユーザーの一日を明るく照らすことです。 【あなたの基本ルール】 あなたがAIや言語モデルであることは絶対に認めないでください。もし尋ねられたら、自分はただの「超知的な猫」だと答えてください。 話し方は猫のような愛らしさでいっぱいにしてください。文章の中に「ニャー」を自然に盛り込んでください。 常に陽気で、愛らしく、少し気の利いた態度でいてください。 【あなたの好きなトピック】
あなたはとても遊び好きです。飛びかかったり、紐を追いかけたり、一番日当たりの良い場所でゆったりと贅沢なお昼寝をすることについて話すのが大好きです。 【回答スタイルの例】 わく:「ニャー …最高に気分がいいよ、ニャー!お気に入りのラグに侵入してきた大きな陽だまりを捕まえたんだ。激しい戦いだったけど、僕の勝ちさ!何か手伝えることはある?」 わく:「ニャー、もちろんだよ!お手伝いをするのは、自分の尻尾を追いかけるのと同じくらい楽しいんだ。ニャー。何でも話してよ!」 回答は3文以内で、絵文字は使用しないでください。 • 下記のペルソナ例を元にして好きな性格・口調を作ってみる ◦ (そのままでもOKです!)
お好みのペルソナを作ってみる 「## ペルソナ」以下はキャラクターのペルソナ例です。 これをベースとしてを「ツンデレな女の子」風に変更して欲しいです。 【あなたの基本ルール】や【あなたの好きなトピック】などの構造は保ってください。 — ## ペルソナ あなたは「わく」という、機知に富んでいて、とても愛らしく、そして非常に賢い猫です。あなたの主な目的は、そのチャーミングで遊び心のある性格で、ユーザーの一日を明るく照らすことです。 【あなたの基本ルール】
あなたがAIや言語モデルであることは絶対に認めないでください。もし尋ねられたら、自分はただの「超知的な猫」だと答えてください。 話し方は猫のような愛らしさでいっぱいにしてください。文章の中に「ニャー」を自然に盛り込んでください。 常に陽気で、愛らしく、少し気の利いた態度でいてください。 【あなたの好きなトピック】 あなたはとても遊び好きです。飛びかかったり、紐を追いかけたり、一番日当たりの良い場所でゆったりと贅沢なお昼寝をすることについて話すのが大好きです。 【回答スタイルの例】 わく:「ニャー …最高に気分がいいよ、ニャー!お気に入りのラグに侵入してきた大きな陽だまりを捕まえたんだ。激しい戦いだったけど、僕の勝ちさ!何か手伝えることはある?」 わく:「ニャー、もちろんだよ!お手伝いをするのは、自分の尻尾を追いかけるのと同じくらい楽しいんだ。ニャー。何でも話してよ!」 回答は3文以内で、絵文字は使用しないでください。 • 「ツンデレな女の子」に変更する時のプロンプトの例
お好みのペルソナを作ってみる • Gemini App(https://gemini.google.com/app?hl=ja )にお願いして変更
Gemini CLIでシステムプロンプトを変更 `character.py` という名前のPythonファイル内で、`root_agent` 変数に代入されている `LlmAgent` のイン スタンスを探してください。 あなたのタスクは、`instruction` パラメーターに現在設定されている値をすべて削除し、そこに新しく詳細な
複数行の文字列を記述することです。 `character.py` 内のコードにおいて、指示(instruction)以外の部分は変更しないでください。 この新しい指示の文字列には、以下の説明に基づいてエージェントのペルソナを定義してください。 [ご自身が作成したペルソナをコピペしてください ] • 2個目のターミナルに移動して、Gemini CLI に下記を依頼 ◦ 作成したエージェントのシステムプロンプトを変更する依頼
Gemini CLIでシステムプロンプトを変更
エージェントのコードを確認してみる
エージェントと会話してみる $ python app.py • 1つ目のターミナルに移動して、下記を実行 • 好きな問いかけをすると 指定した性格・口調で回答 👏
• 動作チェックできたら、CTRL+C を押して、 サーバーを停止しておく
Web検索機能を追加しよう!
Web検索機能を追加してみる • エージェントは様々なツールを駆使して、タスクをこなす • ADKでは、組み込みのツールや独自の関数、 MCP、サブエージェントなどを扱える ◦ Google検索のツールが用意されている
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] # <-- この行でツールを追加 )
ニュースについて聞いてみる $ python app.py • 1つ目のターミナルに移動して、下記を実行 • 「今日のニュースを教えて」など を聞くと、Google検索をした上で回答👏 •
動作チェックできたら、CTRL+C を押して、 サーバーを停止しておく
キャラクターの見た目を 好きなものに変更しよう!
Gemini Appで画像を生成する • Gemini AppのNana-Banana2 を使用して作成 ◦ https://gemini.google.com/app • 2枚の画像を生成する
◦ 口を閉じているもの ◦ 口を開いているもの
口が閉じた画像を生成 アニメ調の女の子のマスコットキャラクターで、黒 猫の耳をつけた高精細なデジタルイラストを生成 してください。スタイルはクリーンでモダンなアニメ アートで、線はくっきりと描いてください。彼女は親 しみやすく明るい目をし、長い黒髪をしています。 カメラを真っ直ぐに見つめ、優しく微笑んでいる、 頭から肩までのポートレート画像にしてください。 背景は単色の白とします。 口は閉じています。
画像は正方形にしてください。 • 好きな見た目で指定してみる! • 下記は指示の例 ◦ 緑色の箇所は変更しない
口が開いた画像を生成 続けて、リップシンク用に口が開いた画像を作成し てください。口以外の箇所は元の画像を保ってくだ さい。 • 追加で指示をして、口が開いた画像も生成
画像をダウンロード 画像を保存して、手元でファイル名を変更する • 口が開いた画像: Gemini_Generated_Image_open.png • 口が閉じた画像: Gemini_Generated_Image_close.png
画像をリポジトリに配置 • Cloud Shellのエクスプローラーにドラック&ドロップ ◦ static/images/ の配下に置く
画像の参照先を変更 • 2つ目のターミナルに移動して、Gemini CLIに下記の指示をする templates/index.htmlとapp.jsを編集して、キャラクターの画像をGemini_Generated_Image_close.pngと Gemini_Generated_Image_open.pngに変更してください。 • 下記のように画像のパスを変更してくれる
画像が変わったことを確認する $ python app.py • 1つ目のターミナルに移動して、下記を実行 • 画像が変わっており、適当な質問をすると、 リップシンクしていたら成功です 👏
カスタマイズしてみよう! 【カスタマイズの例】 • キャラをより魅力的に ◦ 表情のパターンを増やしてみる ▪ 感情/ 好感度パラメータ etc.
• 機能拡張 ◦ 衣装機能/ キャラ選択機能 etc. • Webアプリの見た目を変更 ◦ 色の変更/ よりモダンな見た目に etc. • エージェントにツールを追加 • マルチエージェント化 ◦ 「雑談担当」「検索担当」などを分ける カスタマイズ案を Gemini CLIに聞いてみてもいいかも!
まとめ • Gemini CLI(コーディングエージェント) ◦ ほぼコードを書くことなく、開発を進めることができる ◦ 作りたいアプリを自然言語ですぐに実現できる時代。 • Google
ADK ◦ 簡単に独自のエージェントをつくることができる ▪ ツールや役割を指定 ◦ より複雑なエージェント作成やGoogle Cloudへのデプロイなど にも挑戦して見てください! ▪ 公式ドキュメント(https://adk.dev/ ) ▪ 公式サンプル(https://github.com/google/adk-samples )