GeminiでAIエージェントを開発する方法の一つは、GoogleのAgent Development Kitでモデル、指示、ツールを持つAgentを定義し、Runnerで実行する構成です。 Google検索や独自関数などを接続できますが、モデルが関数を提案することと、アプリケーションが実行を許可することは分けて考えます。読み取り関数を一つ使う最小構成から、状態、評価、公開へ広げます。
AIエージェント開発を体系的に学びたい方は、AIエージェントが学べるおすすめスクールで、AI活用、Python実装、マンツーマン支援の違いを比較できます。
| 構成要素 | 役割 | 最初の設定 |
|---|---|---|
| Gemini model | 判断と文章生成 | 用途に合う一種類 |
| instruction | 役割と制約 | 一つの仕事へ限定 |
| tools | 検索や外部操作 | 読み取り関数を一つ |
| Runner | 実行を進める | ローカルで確認 |
| Session | 会話中の状態 | テスト用の保存 |
| Evaluation | 品質を採点 | 五件の課題 |
ADKでモデル、指示、ツールを定義する
Google ADKのAgent資料では、Agentを目標に向けて動く自己完結した実行単位とし、基本要素をモデル、タスク指示、任意のツールとして説明しています。
最初は天気検索のような読み取り関数を一つ用意し、次を確認します。
- 依頼を受け取る
- 必要な場合だけ関数を選ぶ
- 引数を検証する
- 関数結果をモデルへ戻す
- 根拠を含む回答を返す
- 不明または失敗で停止する
Agentを増やす前に、一つのAgentが同じ課題を安定して終えられるかを測ります。長い指示や大量の道具で追いにくくなった段階で、ワークフローへの分割を検討します。
Function Callingでは実行側が最終判断する
Gemini APIのFunction Calling資料では、利用可能な関数の宣言をモデルへ渡し、モデルから関数名と引数を受け取り、実行結果を返す流れが説明されています。
モデルが返すのは実行の提案です。アプリケーションは、関数名が許可一覧にあるか、引数が型と範囲を満たすか、利用者が対象へアクセスできるかを確認します。
| 検証 | 例 | 拒否時の対応 |
|---|---|---|
| 関数 | 許可済みの検索か | 実行せず終了 |
| 型 | 件数が整数か | 修正を求める |
| 範囲 | 最大10件以内か | 上限へ制限 |
| 権限 | 所属部署の情報か | 権限不足を伝える |
| 影響 | 更新を伴うか | 承認へ回す |
Session、State、Memoryを目的で分ける
ADKの会話コンテキスト資料では、Sessionを一つの会話、Stateをその会話内の一時データ、Memoryを複数セッションにまたがる検索可能な情報として区別しています。
「前に話したことを覚える」という一言で全部を保存すると、不要な個人情報と古い前提が残ります。注文途中の選択はState、過去の確定済み設定は必要性を確認してMemory、製品仕様は管理された知識源というように分けます。
ローカル試作で使うインメモリ実装は、再起動でデータが失われます。本番では保存先、削除、保持期間、利用者ごとの分離を設計します。
高影響のツールへ確認を置いてから公開する
ADKのTool Confirmation資料では、ツール実行前に真偽値または構造化した確認を求め、一時停止して応答後に再開する方法が案内されています。機能は言語や保存サービスによって対応状況が異なるため、採用する構成で制約を確認します。
承認画面には「実行しますか」だけでなく、対象、変更内容、影響、取り消し可否を表示します。承認後も関数側で権限と重複を検証します。
ADKのデプロイ資料では、Agent Engine、Cloud Run、GKEなどの公開先が案内されています。公開方法を選ぶ前に、認証、秘密情報、ログ、同時実行、費用上限を決め、ローカルのテスト課題を公開環境でも再実行します。
AIエージェントを公開して運用する方法と合わせると、実装後に必要な環境、監視、更新の工程を整理できます。
GeminiのAIエージェント開発でよくある質問
Gemini APIだけでもエージェントを作れますか?
Function Callingの応答を受けて関数を実行し、結果を再びモデルへ渡すループを自作すれば構築できます。ADKはAgent、Runner、Session、評価などの枠組みを使いたい場合の選択肢です。
Googleサービスへ自動でアクセスできますか?
モデルを選ぶだけで各サービスの権限が付くわけではありません。対象APIを有効にし、認証方法と権限を設定し、ツールとして接続します。利用者の権限を超えて取得や更新ができないことをテストしてください。
最初から複数Agentに分けるべきですか?
単一Agentの指示が長すぎる、必要な文脈が収まらない、決定的な処理とモデル判断を分けたいといった理由が出てから検討します。分割すると受け渡しと停止条件も増えるため、効果を同じ課題で比較します。
Gemini開発では関数を許可する境界を明示する
GeminiとADKを使う場合も、中心はモデル選びだけではありません。どの関数をどの条件で実行し、何を保存し、どこで人へ戻すかをコードと設定で明示します。
- 一つのAgent、一つの読み取りツールから始める
- Function Callingの引数を実行側で検証する
- Session、State、Memoryを保存目的で分ける
- 承認、評価、認証を確認して段階公開する
ChatGPT上で指示、知識、外部操作を設定する方法も比べたい方は、ChatGPTで作るAIエージェントでGPTの構成と検証手順を確認できます。




