OpenAIの新ツール 『Responses API』 & 『Agents SDK』 でAIエージェント開発が進化！💡

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3917980/5773b546-12d2-4418-891b-fe1bdd5b8698.png)


AIエージェント開発の最前線に立つOpenAIが、ついに **Responses API** と **Agents SDK** を発表しました！これにより、エージェント型AIの開発がこれまでになく簡単かつパワフルに。💥

この新しいツールキットは、単なるチャットボットではなく、**「考え、決定し、アクションを実行する」AIエージェント** を簡単に作成できるよう設計されています。  
本記事では、 **Responses APIとAgents SDKの詳細な解説** に加え、 **プロフェッショナルなサンプルコード** も紹介します！💻🔥

---

## 🧐 1. **Responses APIとは？**

**Responses API** は、従来のChatGPT API（Chat Completions API）を進化させたものです。  
従来のAIは **「質問→回答」** という流れしか持っていませんでしたが、 **Responses API** はこれを超えて **「ツールを使用し、複数の思考ステップを経て最適な回答を返す」** ことが可能になりました。  

### 🌟 **Responses API の特徴**
✅ **ツール統合**：Web検索、ファイル検索、計算、カスタムAPI呼び出しなどが組み込める  
✅ **関数呼び出しの最適化**：必要なときだけ関数を実行し、結果を取得  
✅ **マルチステップ推論**：一度のAPI呼び出しで、複数の思考プロセスを処理  
✅ **リアルタイムストリーミング**：AIが思考する過程をリアルタイムで確認  
✅ **会話の管理**：コンテキストを維持し、過去のやりとりを記憶  

### 💡 **従来のAPIとの違い**
|  | Chat Completions API | Responses API |
|---|---|---|
| **機能** | テキスト生成のみ | ツール使用、関数呼び出し、マルチステップ推論 |
| **柔軟性** | 1回の応答ごとに完結 | 連続した思考やツール利用が可能 |
| **ストリーミング** | 生成途中の文章のみ | AIの推論・ツール使用プロセスも表示 |

---

## ⚡ **2. Responses APIの使い方（サンプルコード）**
例えば、「今日のポジティブなニュースを教えて」と聞いたとき、Responses APIは **Web検索ツールを自動で使用し、最新情報を取得** することができます。

### 📌 **Responses APIのサンプルコード（Node.js）**
```javascript
const openai = require('openai');  

const response = await openai.responses.create({
  model: "gpt-4o",
  tools: [ { type: "web_search_preview" } ],  // Web検索ツールを利用
  input: "今日のポジティブなニュースは？"
});
console.log(response.output_text);
```
📌 **ポイント**
- `tools: [ { type: "web_search_preview" } ]` を指定するだけで、**AIが自動で検索して情報を取得** します！🔍✨  
- これまでは、手動でAPIリクエストを処理する必要がありましたが、 **Responses APIならすべて自動で完了！** 🎉  

---

## 🛠️ 3. **Agents SDKとは？**
Responses APIが単体のAIエージェントに対するものなら、**Agents SDK** は **複数のAIエージェントを組み合わせて高度なタスクを処理できるフレームワーク** です。

### 🌟 **Agents SDKの特徴**
✅ **エージェント設計**：指示＋ツール＋決定権を持つ独立したAIユニット  
✅ **ツール利用**：関数やAPI、データベース、Web検索、RPAなどを統合  
✅ **マルチエージェントワークフロー**：タスクに応じて適切なエージェントに処理を引き継ぐ  
✅ **セーフガード機能**：出力のチェック、ポリシー遵守、入力フィルタリング  
✅ **リアルタイム監視とデバッグ**：実行プロセスを可視化し、デバッグを容易に  

### 💡 **他のエージェントフレームワークとの違い**
|  | LangChain | OpenAI Agents SDK |
|---|---|---|
| **モデル互換性** | OpenAI, Anthropic, HuggingFace等 | OpenAIモデル専用（最適化） |
| **学習コスト** | 概念が多く、学習コストが高め | 軽量設計、最小限のコードで実装可能 |
| **監視・デバッグ** | 独自のロギングが必要 | OpenAIのダッシュボードで一括管理 |

---

## 🔥 4. **Agents SDKの実装例（Python）**
では、Agents SDKを使って、「現在の時刻を取得できるAIエージェント」を作ってみましょう！ ⏳  

### 📌 **Agents SDK のサンプルコード（Python）**
```python
from agents import Agent, Runner, function_tool

# 1. 現在時刻を取得する関数を作成し、ツール化
@function_tool
def get_current_time():
    """現在の時刻を返す"""
    from datetime import datetime
    return datetime.now().strftime("%Y-%m-%d %H:%M:%S")

# 2. エージェントを作成し、ツールを登録
assistant = Agent(
    name="TimeAssistant",
    instructions="あなたは現在時刻を教えるアシスタントです。",
    tools=[get_current_time]  # ツールを登録
)

# 3. エージェントを実行
result = Runner.run_sync(assistant, input="今何時？")
print(result.final_output)
```
📌 **ポイント**
- `@function_tool` を付けるだけで関数がAIエージェントのツールとして登録可能！🔧  
- エージェントは指示 (`instructions`) に従い、適切なタイミングでツールを実行 🧠  
- `Runner.run_sync(assistant, input="今何時？")` でエージェントを動作させ、時間を取得 🎯  

---

## 🚀 5. **Responses APIとAgents SDKの活用例**
この2つのツールを組み合わせることで、 **AIエージェントが実際にアクションを実行できる** 未来が実現します！  

### 🔹 **活用例**
✅ **カスタマーサポートAI**：顧客の問い合わせを理解し、適切なエージェントにハンドオフ  
✅ **自動マーケットリサーチ**：AIがWeb検索、データ収集、レポート生成を一括処理  
✅ **AI DevOps & RPA**：GUIベースのタスクをAIが操作・自動化  
✅ **パーソナルアシスタント**：会話＋ツール実行で本物のアシスタントのように対応  

---

## 🎯 **まとめ**
✅ **Responses API** は **ツールを利用して思考しながら回答するAI** を実現！  
✅ **Agents SDK** は **複数のエージェントを組み合わせ、より高度なタスク処理が可能に！**  
✅ **実装は簡単！** 数行のコードで **インタラクティブなAIエージェント** を構築可能  

Responses APIとAgents SDKは、単なる対話型AIを超えて、**「考え、決定し、行動するAIエージェント」** を作るための強力なツールです。  
次世代のAIアプリ開発に興味があるなら、**今すぐ試してみましょう！** 🚀✨