OpenAIの最新ツールで信頼性の高いAIエージェントを構築

2025年3月11日、OpenAIは開発者向けに、信頼性の高いAIエージェントを構築するための「Responses API」と「Agents SDK」という2つの革新的なツールを発表しました。これらのツールは、AIエージェントの構築と展開方法を一新し、新しい機能と複雑なワークフローの簡素化を提供します。

Responses API

Responses APIは、従来の「Chat Completions API」と「Assistants API」の機能を統合したAPIです。この統合により、より効率的に複雑なタスクを処理できるAIエージェントの開発が可能になります。主な機能は以下の通りです。

  • Web検索(Web search):インターネット上の最新情報を取得します。
  • ファイル検索(File search):ドキュメントをセマンティックに検索します。
  • コンピュータ利用(Computer use):コンピュータのインターフェースを自動化します。

Web検索(Web search)

AIエージェントがインターネット上の最新情報にアクセスし、ユーザーに対してより正確で最新の応答を提供するために設計されています。このツールを使用することで、エージェントはインターネットからのデータを取り込み、リアルタイムの情報を基にした回答を生成できます。

使用例

ユーザーが最新のAI研究論文を探して要約してほしいと依頼するシナリオを想像してください。Responses APIを使用すると、AIエージェントはウェブ検索機能を利用して関連する論文を検索し、その内容を要約してユーザーに提示できます。

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-4o",
    tools=[{"type": "web_search_preview"}],
    input="What was a positive news story from today?"
)

print(response.output_text)

実用的な応用

ニュースの要約: 最新のニュースを検索し、その内容を要約して提供します。これにより、ユーザーは短時間で重要な情報を把握することができます。

学術研究のサポート: 学術論文や研究資料を検索し、関連する研究結果やデータを提供します。研究者や学生にとって、有益な情報源として活用できます。

市場調査: 商品レビューや市場トレンドを検索し、ビジネスに役立つインサイトを提供します。マーケティング戦略や商品開発の参考にすることができます。

観光情報の提供: 観光スポットやイベント情報を検索し、旅行者に最新の情報を提供します。旅行計画の立案に役立ちます。

ファイル検索(File search)

アップロードされたドキュメントや埋め込みベクトルストアを検索し、必要な内容を抽出するために設計されたツールです。このツールを利用することで、AIエージェントは大量のドキュメントから必要な情報を効率的に見つけ出し、ユーザーに提供することができます。

使用例

例えば、ユーザーが「OpenAIの深層研究とは何ですか?」と尋ねた場合、ファイル検索ツールを利用して関連するドキュメントから必要な情報を抽出し、ユーザーに提供します。

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="gpt-4o-mini",
    input="What is deep research by OpenAI?",
    tools=[{
        "type": "file_search",
        "vector_store_ids": ["<vector_store_id>"]
    }]
)
print(response)

実用的な応用

FAQの検索: 顧客サポートや社内向けFAQシステムにおいて、関連する質問と回答を迅速に検索し、提供します。これにより、ユーザーの疑問を迅速に解決できます。

マニュアルの検索: 製品やサービスに関するマニュアルから必要な情報を抽出し、ユーザーに提供します。技術者やサポートスタッフにとって有益です。

法務文書の検索: 法務部門では、大量の契約書や法務文書から関連する条項や内容を検索し、迅速に情報を提供します。法務部門の業務効率化に寄与します。

研究資料の検索: 学術研究やビジネスリサーチにおいて、関連する研究資料やデータを検索し、研究者やアナリストに提供します。研究の質と効率を向上させます。

コンピュータ利用(Computer use)

AIエージェントがコンピュータインターフェースと対話し、クリックやタイピング、スクロールなどのタスクを実行するために設計されたツールです。このツールを利用することで、エージェントは人間の操作をシミュレートし、さまざまなタスクを自動化できます。

使用例

例えば、ユーザーが「bing.comで最新のOpenAIニュースをチェックして」と依頼した場合、コンピュータ利用ツールを利用してブラウザを操作し、必要な情報を取得することができます。

from openai import OpenAI
client = OpenAI()

response = client.responses.create(
    model="computer-use-preview",
    tools=[{
        "type": "computer_use_preview",
        "display_width": 1024,
        "display_height": 768,
        "environment": "browser" # 他の可能な値: "mac", "windows", "ubuntu"
    }],
    input=[
        {
            "role": "user",
            "content": "Check the latest OpenAI news on bing.com."
        }
    ],
    reasoning={
        "generate_summary": "concise",
    },
    truncation="auto"
)

print(response.output)

実用的な応用

オンラインショッピングの自動化: ユーザーが特定の商品を購入したい場合、エージェントがオンラインショッピングサイトで商品を検索し、指定した条件に合った商品をカートに追加し、購入手続きを完了します。

定期的なタスクの自動化: 毎日、週次、月次の定期的なタスクを実行する必要がある場合、エージェントがブラウザやPCのインターフェースを操作して、定期的なレポート生成、メールの送信、データのバックアップなどのタスクを自動化します。

データエントリの自動化: 大量のデータを入力する必要がある場合、エージェントがスプレッドシートやデータベースにアクセスし、指定されたデータを正確に入力します。これにより、人間による手作業の手間とエラーが削減されます。

Agents SDK

Agents SDKは、実験的な「Swarm」フレームワークを基に構築されており、エージェントワークフローを管理するための強力なツールキットを提供します。これにより、複数のエージェントが連携し、複雑なタスクを協力して実行することが可能になります。主な機能は以下の通りです。

  • ハンドオフ(Handoff):エージェント間でタスクをシームレスに切り替えます。
  • ガードレール(Guardrail):安全で信頼性のあるエージェントの動作を保証します。
  • トレース(Trace):リアルタイムでエージェントのパフォーマンスを監視し、問題をトラブルシューティングします。

ハンドオフ機能を使用すると、特定のタスクを最適なエージェントに引き継ぐことができます。これにより、各エージェントが得意とする分野で効率的にタスクを処理することが可能になります。

Agents SDKにはエージェントの動作を監視し、安全性を確保するためのガードレール機能が組み込まれています。これにより、エージェントが不適切な動作を行わないように制御できます。

さらに、トレース機能を用いることでエージェントの実行履歴を追跡し、デバッグや最適化が容易になります。これにより、エージェントの動作を可視化し、問題の特定やパフォーマンスの向上に役立てることができます。

使用例

カスタマーサポートのシナリオを考えてみてください。複数の専門エージェントが異なるタイプの問い合わせに対応する場合、Agents SDKを使用すると、効率的なタスクの委任が可能になり、各問い合わせが最適なエージェントによって処理されることが保証されます。

from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent",
    instructions="You only speak English.",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    handoffs=[spanish_agent, english_agent],
)

async def main():
    result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
    print(result.final_output)
    # Output: ¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?

if __name__ == "__main__":
    asyncio.run(main())

実用的な応用

カスタマーサポートの効率化: 顧客からの問い合わせに迅速かつ正確に対応する必要がある場合。Agents SDKのハンドオフ機能を利用して、顧客の問い合わせを最適なエージェントに引き継ぎます。

パーソナライズドマーケティング: 顧客データを分析し、個々の顧客に最適なマーケティングキャンペーンを実施する場合。Agents SDKを使用して、顧客の行動データを分析し、パーソナライズドキャンペーンを自動的に生成するエージェントを構築します。

プロジェクトマネジメント: 複数のプロジェクトを同時に管理し、効率的に進捗を追跡する必要がある場合。Agents SDKのトレース機能を利用して、各プロジェクトの進捗をリアルタイムで追跡し、問題が発生した際には適切なエージェントにタスクを引き継ぎます。

ITシステムのモニタリングと管理: 企業のITシステムを24時間体制で監視し、問題が発生した場合に迅速に対応する必要がある場合。Agents SDKのガードレール機能を活用して、システム監視エージェントがリアルタイムでシステムの状態を監視し、異常を検知した際にはアラートを発生させ、適切なエージェントに対応を依頼します。

まとめ

OpenAIの最新ツール「Responses API」と「Agents SDK」は、AIエージェントの構築と運用に革命をもたらす強力なツールです。これらのツールを利用することで、開発者はより効率的かつ柔軟にAIエージェントを開発し、複雑なタスクを処理することが可能になります。

  • Responses APIは、Web検索、ファイル検索、コンピュータ利用などの機能を統合し、エージェントがリアルタイムで最新情報を取得し、正確な応答を生成できるようにします。
  • Agents SDKは、複数のエージェントを連携させ、ハンドオフ機能を活用してタスクを最適なエージェントに引き継ぐことができます。これにより、各エージェントが得意とする分野で効率的にタスクを処理することが可能になります。

これらの機能を活用することで、エージェント間の連携が強化され、ユーザーに対して高品質なサービスを提供することが期待されます。また、さまざまなビジネスシナリオで効率的かつ効果的なソリューションを提供することが可能です。これにより、企業や開発者は新たなレベルの自動化と効率化を実現できるでしょう。

Follow me!

photo by:Dima Solomin