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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
CLIライブラリ開発を支える技術
htnabe
0
110
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
27
21k
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
560
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2.5k
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
160
Omarchy Quattro の日本語設定周り
simosako
2
180
LLMに渡さなかった仕事
nanaism
0
170
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
100
データ_AIの事業の勝敗をわけるもの
nek0128
0
350
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
160
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
470
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Embracing the Ebb and Flow
colly
88
5.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
840
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
800
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Exploring anti-patterns in Rails
aemeredith
4
510
Claude Code のすすめ
schroneko
67
230k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
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 )