
▶Responses APIとは
OpenAIは、2025年3月11日(米国時間)に新たな開発者向けツール「Responses API」を発表しました。このAPIは、開発者がOpenAIのモデルと組み込みツールを容易にアプリケーションへ統合できるよう設計されています。従来の複数APIや外部ベンダーとの複雑な連携を必要とせず、シンプルな統合を可能にします。
さらに、OpenAI上にデータを簡単に保存できるため、追跡機能や評価機能を用いてエージェントのパフォーマンス評価が行えます。なお、保存されたデータはデフォルトでモデルの学習には使用されません。Responses APIは、開発者全員に追加料金なしで提供されており、トークンおよびツール利用料についてはOpenAIの標準価格が適用されます。詳細は、Responses APIのクイックスタートガイドなどを参考にするとよいでしょう。
▶Responses APIの特徴
既存のAPIの改良版である
まず既存のAPIとして挙げられるのが「Chat Completions API」です。Chat Completion APIの主な目的は、ユーザーからの入力に基づいて、自然な対話形式で応答を生成することです。これにより、対話型アシスタントやチャットボット、FAQシステム、サポートツールなどを作成できます。
次に挙げられるのが「Assistants API」です。Assistants APIは、単純なチャット応答を超えて、ユーザーとの複雑な対話を管理し、さまざまなタスクを処理するアシスタントを構築するために使います。これにより複数のステップに渡る対話や、外部データのインテグレーションやAPIとの連携などの高度な対話が可能になります。
それではResponses APIはどのような点で進化しているのでしょうか。Chat Completions APIとResponses APIの各性能の比較を見てみましょう。
参照:https://platform.openai.com/docs/guides/responses-vs-chat-completions
ファイル検索やコンピュータ利用といった機能が追加されていることがわかりますね。
Responses APIはAssistants APIのフィードバックを基に多くの改善を実装されて開発されたものです。そのためAssistants APIは2026年半ばに正式終了予定となっています。よって新規開発ではResponses APIが推奨され、組み込みツールが不要な場合は、引き続きChat Completionsを使用するのが良いと思われます。
会話履歴をサーバー側で保管
いままでは会話履歴を自分で管理しなければなりませんでしたが、Responses APIは違います。store=Trueを指定するだけでサーバー側にコンテクストが保持されるのです。この機能によるメリットとしては、前回の会話内容を再度利用したい場合に、今までは同じコードをもう一度作成しなおしていましたが、その作業がツールを使うことで簡単になることです。
例としてカスタマーサポートを提供するシナリオを作成して、会話履歴を利用するコードを示します。このコードでは、最初に「返品ポリシー」についての質問を受け、次に「交換ポリシー」についての質問を受けた場合に、前回の会話を引き継いで回答します。

このようにstore=Trueを指定して会話履歴を保存し、その後に前回の会話idをresponse_idとして渡すだけで簡単に再度活用することができるのです。
自律的なツールの活用
Responses APIはこちらがツールを指定するだけで、そのツールを自動的に使用してくれます。それでは、Responses APIで使うことのできるツール機能をいくつか紹介しましょう。
Web検索ツール
Web検索ツールは、会話の中で最新情報やインターネット上のデータを取得するために利用できます。これは、標準の AI モデルではカバーしきれない最新のニュース、特定の企業情報、スポーツの結果、金融市場のデータなどを取得するのに役立ちます。
使い方としては、リクエストを送る際に tools=["web_search"]
を指定すればよいだけです。
上の画像のようにをtools=["web_search"]
入れるだけでチャット型のAIのようにWeb検索を使うことができるのです。
ファイル検索ツールは事前にアップロードしたファイルの内容を検索し、回答します。この機能を使うと、PDF・Word・テキスト・CSV などのドキュメント内の情報を取得し、ユーザーの質問に基づいて適切な回答を生成できます。契約書やマニュアルで製品の保証期間を検索したり、社内の規則が記載されたファイルで休暇取得のルールを検索したりなどが挙げられます。
使い方としては、まずclient.files.create(...)を使って事前にファイルをアップロードします。
ファイルアップロードのためのコード
その後にtools=["file_search"]を指定することで、アップロード済みのファイルから検索をしてくれます。
構造化出力 とは、Responses API で AI の出力を 特定のフォーマット(JSONなど) で取得できる機能です。通常の会話型出力とは異なり、決められたデータ構造 に従って情報を整理することで、プログラムによる処理をしやすくします。
構造化出力を使うにはresponse_format="json"と指定するだけでよいです。
出力形式を指定したことにより、信頼性のある型で結果が出力されるため安全性が高くなっています。
Responses API の Reasoning 機能は、AI に推論(論理的な思考プロセス)を明示的に適用させ、より体系的な応答を得るための設定です。通常のAIの応答は、即座に結果を出すことを重視しますが、Reasoningを活用すると、AIは一貫したロジックに基づいて考えながら回答します。
よって、複雑な問題の分析や、明確なステップを踏んだ回答を得ることができます。
この機能は以前からChatGPT o3-miniなどのチャット型AIでも使用することができ、推論レベルもlow・midium・highと調整することができます。それと同様にResponses APIではコードの中でreasoning={"effort": "medium"}のようにして指定することで推論レベルの調整をすることが可能になっています。

上の画像はかなり簡単な質問となっていますが、Reasoning機能はSTEM(科学、技術、工学、数学)分野の質問や複雑な因果関係についての質問の際に特に役立ちます。
▶Responses APIの料金体系
ツールを使用する際は、各ツールそれぞれに一定単位ごとの料金がかかります。
主要なツールごとの料金体系
注: 上記の料金はツール使用料のみであり、基本のモデル使用料(トークン単価 × 使用トークン数)は別途かかります。
コスト最適化のための対策
コストを最適化するためには、モデル選択やツールの使用頻度、設定などを工夫することが重要です。以下に、具体的な最適化方法をいくつか挙げます。
1.モデル選択の工夫
2. Web検索ツールの使用頻度を最適化
-
検索が本当に必要な場合にのみ使用
Web検索ツールはコストがかかるため、実際に必要なときだけ使用し、頻繁に呼び出さないようにしましょう。例えば、事前にキャッシュを活用したり、ユーザーから明確な要求があった場合にのみ検索機能を使うなどです。
-
検索コンテキストサイズを調整
Web検索ツールにはコンテキストサイズ(低・中・高)を選べるオプションがあり、コストを抑えるためには低または中サイズを選ぶのが賢明です。特に高いコンテキストサイズは処理費用が高いため、必要以上に大きなデータを扱わないようにすることが重要です。
3. ファイル検索の最適化
4.会話履歴の管理
▶Responses APIの始め方
必要な設定と準備
まず、Responses APIを使うためには、OpenAIのAPIキーを取得し、それを利用してAPIと通信します。
(1) APIキーの取得
OpenAIの公式サイトにログインし、APIキーを取得します。
(2) Python環境のセットアップ
Pythonを使用する場合、以下のパッケージをインストールします。

(3) APIの利用準備
APIキーを環境変数として設定することもできますが、コード内で直接設定することも可能です。

これでResponses APIの設定と準備が完了しました。Web検索ツールやファイル検索ツール、構造化出力、推論レベルの調整などの機能は先に述べた使い方などを参考にぜひ使ってみてください。
▶まとめ
OpenAIの新しい「Responses API」は、開発者が複雑なAPI統合をせずに、モデルと組み込みツールを簡単にアプリケーションに組み込むことを可能にします。会話履歴の保存やツール自動活用、Web検索やファイル検索機能など、より効率的なシステム作成をサポートします。推論レベルの調整や構造化出力などの機能も提供され、複雑なタスクに対応できます。
このような開発者向けの機能が充実していくことでAIがますます進歩していくことが期待できますね。
出典:https://openai.com/ja-JP/index/new-tools-for-building-agents/