ノウハウ

OpenAI Agent SDK vs. Google ADK (前編) 

〜実用できるAI Agent 開発環境 (SDK) を紹介〜

近年、ChatGPTをはじめとするLLM(Large Language Mode:大規模言語モデル)の進化により、自律的にタスクをこなす「AIエージェント」が大きな注目を集めています。
AIエージェントは、LLMが自らの出力をもとに、ツール利用や次の行動を自律的に判断・
実行することで、より複雑な問題解決を可能にする技術です。

本記事では、このAIエージェントを開発するための開発環境として、OpenAI Agent SDKとGoogle ADKの2つに焦点を当てて紹介していきます。


目次

AIエージェントとは

近年、LLM(大規模言語モデル)の進化は目覚ましく、より複雑な指示にも対応できるように
なっています。
しかし、LLM単体では、外部のツールを使ったり、複雑な思考プロセスを経てタスクを自律的に実行したりすることには限界がありました。そこで注目されているのが、LLMを活用した「AIエージェント」と呼ばれる新しいシステムです。

AIエージェントについて、OpenAI [1]とGoogle Cloud [2]の説明をまとめると、LLM単体と比較して以下の特徴を持つシステムと言えます。

・ユーザーに代わって、AIがタスクを自律的に遂行する
・LLMを活用し、ワークフロー管理と意思決定を行う
・外部システムとの連携やツールの動的選択をしながら実行する
・これらの機能は、マルチモーダルへの対応とツール連携の進化によって実現されている

また、ボットがルールに基づいた定型作業に限定されるのに対し、AIエージェントは状況に適応した柔軟な対応を行うことが可能です。AIエージェントはLLMの能力を活用し、単純な応答生成だけでなく、より高度な「実行」と「自律性」を持つシステムとして期待されています。

 このAIエージェントを効率的に開発するためのフレームワークが、Agent SDK (Software Development Kit) となります。本記事では、2つのAgent SDK、「OpenAI Agent SDK」と「Google ADK (Agent Development Kit) 」に焦点を当て、その実力と使い勝手を比較していきます。

前編となる今回は、それぞれのSDKの概要と基本的な使い方について、具体的なコード例を通じて、両者の違いを紹介します。


OpenAI Agent SDKとは

OpenAI Agent SDKは、その名の通り、OpenAIが提供するAIエージェント開発のためのPythonライブラリです。OpenAIのLLMと連携としたエージェント構築に特化しています。

<主な特徴>
・LLMとの連携:
 API経由で利用可能なOpenAI製のLLM(gpt-5, o3, gpt-4.1 など )と深く統合され、 API
 キーを設定するだけで、最新モデルの性能をエージェントに組み込むことができます。

・直感的なエージェント定義::
 LLMへの指示のようにエージェントの振る舞いを定義できます。

 ・豊富なツール: 
 Web検索やファイル検索、コンピュータ操作といった便利なツールが提供されており、
 エージェントに強力な機能を持たせることが可能です。

 ・プラットフォームの自由度::
 特定のクラウド環境に依存せず、Pythonが動作するローカル環境や任意のクラウド環境で
 利用可能です。

OpenAIが提供するライブラリのため、利用にあたっては OpenAIのAPIキーの取得が必要となりますが、後述の Google ADKと比較すると、手軽に環境構築やツールの利用が行えます。詳細については、 OpenAI Agent SDK ドキュメント [3]を参照してください。


Google Agent Development Kit(ADK)とは

Google ADKは、Googleが提供するAIエージェント開発キットです。Google Cloud Platform (GCP) やVertex AIとの連携を重視しており、エンタープライズ用途や大規模なシステム構築を
視野に入れた設計が特徴です。

<主な特徴>
・LLMとの連携:
 Google製のLLM(Geminiなど)との連携が基本で、特にVertex AI上で提供される
 モデルに最適です。

・Google Cloudとの連携:
  Vertex AI Agent BuilderをはじめとするGCPのサービス群と深く統合され、既存のデータ
 ストア、モニタリング、セキュリティなどのGCP資産を最大限に活用できます。 

・スケール:
 エンタープライズレベルでの利用を想定しており、大規模な運用にも耐えうる設計が
 なされています。

Google ADKはローカル環境や Google Colaboratory でも使用できますが、 GCP上での利用を
想定されています。特に、一部ツール利用のために GCPプロジェクトの作成やAPIの有効化、
認証設定といった初期設定が必要になります。これにより、GCPの強力な機能を最大限に活用できる一方で、GCPの知識が求められる側面もあります。詳細については、 Google ADK ドキュメント [4]を参照してください。


シンプルな情報収集エージェントを作成してみる

今回、Google ADKのチュートリアル[5]を参考に、「ダミーデータから検索・回答を生成する
シンプルな情報収集エージェント」を作成してみます。
具体的なエージェントの動作手順は以下となります。

1. root_agentでユーザーの入力を受け取り、挨拶ならgreeting _agentに、天気に関する
 質問ならwhether_agentを呼び出す。それ以外なら「わからない」と返す。

2. whether_agentはダミーデータの中からユーザーの入力と一致する都市の天気データを
 取得し、返答を作成する。一致する都市がなければ「わからない」と返す。

この動作手順に沿って、OpenAI Agent SDK と Google ADK でAIエージェントを作成し、
その違いを見ていきます。なお、実行環境にはGoogole Colaboratory(以降 Colabとする)を
使用します。


①OpenAI Agent SDKで情報収集エージェントを作成する

 OpenAI Agent SDKによるエージェント作成のためにOpenAIのAPIキーを使用します。
 こちらのAPIキーの取得と使用に関しては従量課金制です。

APIキーが取得できたら、まずは以下のコードを Colabで実行します。



次に、使用するエージェントを作成します。


最後に、応答を行う部分を作成します。


実際の実行結果は以下のようになりました。


User Query: こんにちは!
 <<< Agent Response: こんにちは!今日はどのようなご用件でしょうか?
 
 User Query: newyorkの天気を教えて
 <<< Agent Response: newyorkの天気は、晴れ・25°Cです。 
 
 User Query: 東京の天気は? 
 <<< Agent Response: 東京の天気は、雨・18°Cです。 
 
 User Query: パリの天気は? 
 <<< Agent Response: その都市の天気はわかりません 
 
 User Query: さようなら 
 <<< Agent Response: さようなら!また何かあればいつでもどうぞ。 
 
 User Query: なぜ空は青いの? 
 <<< Agent Response: わかりません


応答については意図した通りの動作になっていました。特に、「東京の天気は?」という質問に
対し、 LLMの特性を活かして「tokyo: 雨・18°C 」というダミーデータから「東京の天気は雨・18°Cです。 」と柔軟に検索・返答することができています。また、「パリの天気は?」「なぜ空
は青いの?」という質問には「わからない」と適切な対応ができています。


②Google ADKで情報収集エージェントを作成する

Google ADKによるエージェント作成のために、GeminiのAPIキーを使用します。
こちらのAPIキーの取得と使用に関しては基本無料です。

APIキーが取得できたら、まずは以下のコードをColabで実行します。


次に、使用するエージェントを作成します。


最後に、応答を行う部分を作成します。





実際の実行結果は以下のようになりました。
こちらでは、どのツールを呼び出したかのログも出力しています。

User Query: こんにちは! 
<<< Agent Response: こんにちは! 今日はどんな良い日ですか? 

 User Query: newyorkの天気は? 
--- Tool Called: get_weather(newyork) --- 
<<< Agent Response: ニューヨークの天気は晴れで25°Cです。 

User Query: トウキョウの天気を教えて 
--- Tool Called: get_weather(tokyo) --- 
<<< Agent Response: 東京の天気は雨で18°Cです。 

User Query: パリの天気を教えて 
--- Tool Called: get_weather(paris) --- 
<<< Agent Response: わかりません。 

User Query: さようなら 
<<< Agent Response: さようなら!またお会いしましょう。 

User Query: なぜ空は青いの? 
<<< Agent Response: わかりません


こちらも、意図した通りの応答ができており、 OpenAI Agent SDK とほぼ変わらない結果と
なりました。


③ OpenAI Agent SDK と Google ADK の設計面の違い

今回それぞれのドキュメントを参考に作成した結果、以下のような違いがありました。


OpenAI Agent SDK
Google ADK
使用モデルgpt-5-mini
gemini-2.0-flash *1
他エージェントとの連携

「handoffs」によって
タスク全体を委譲する。

「sub_agents」によって他エー
ジェントの機能を呼び出す。
ツールの使用
toolsで他エージェントや
組み込み関数をツールとして呼び出せるが、自作関数の
場合はラップが必要となる。(今回は不使用)
toolsで自作関数や組み込み関数をツールとして呼び出せる。
動作・出力 *2

平均実行時間 26.8s ( / 5回)誤った出力はなかった。

runner からfinal_outputを取り出すだけでシンプルに
返答を取得できる。

「gpt-4o-mini」のような

以前のモデルでも半分程度の時間で同様の応答をできた。

平均実行時間 13.2s ( / 5回)
1回だけ「なぜ空は青いのか」に

ついて理由を回答していた。

無料版でAPIキーを使用している
ため、連続での使用や1日あたりの使用量で制限が発生した。

返答を取得する部分がやや複雑。

*1  無料版の gemin-2.5-flashでは一度に全ての応答を実行できないケースが発生したため。
*2  応答の時間や正確性についてはエージェントのプロンプトや使用モデルに影響します。

筆者の所感として、Google ADKの方は無料で使用でき、自作の関数をツールとしてエージェントから呼び出せるなど、簡単に試す分には使いやすかったです。また、 OpenAI Agent SDKは組み込みツールや返答の取得など、設計面ではGoogle ADKよりも分かりやすく感じました。
ただし、AIエージェントが複雑なタスクを行うために、どちらでも動作制御のためのプロンプトやツール連携などの設計が重要となることに注意が必要です。

また、今回は使用していませんが、それぞれで入出力の検証・停止を行う制御機能、web検索やファイル操作などのツールの使用も可能となっています。こちらについては後編の記事で改めて紹介する予定です。



まとめ:最適化AI×LLMに期待される新たな可能性

今回は、AIエージェントの概要と、その開発環境である OpenAI Agent SDK と Google ADK
それぞれの特徴、そして簡単な実装例を通じて違いを見てきました。どちらの環境も一長一短があり、AIエージェントの規模や目的によって最適な選択は異なります。

後編の記事では、さらに踏み込んで「複数のAIエージェントが連携して複雑なタスクをこなす
マルチエージェントシステム」に焦点を当て、それぞれでどのように実現するのか、具体的な
作成例を交えて比較していきます。ご期待ください。



【参考文献】

[3] https://openai.github.io/openai-agents-python/

[4] https://google.github.io/adk-docs/

[5] https://colab.research.google.com/github/google/adk-docs/blob/main/examples/python/tutorial/agent_team/adk_tutorial.ipynb#scrollTo=Np0plMPXRvoq


記事を書いた人
佐野 麟

理工学専攻の大学院生です。自然言語処理・生成AIを活用した教育でのレポート評価について研究しています。