新しいAPIで作るエージェントのためのツール

AGIに仕事を奪われたい
この記事は約14分で読めます。

8,246 文字

New tools for building agents with the API
We’re evolving the API platform to make it faster and easier for developers to build agents. Kevin Weil, Nikunj Handa, S...

こんにちは、私はKevinでOpenAIのプロダクト責任者をしています。今日は開発者とエージェントについてお話しし、特に開発者が信頼性が高く有用なエージェントを簡単に構築できるようにする新しいツールの発表をします。
エージェントとは、あなたに代わってタスクを独立して実行できるシステムのことです。今年、Chat GPTで2つのエージェントを発表しました。1つ目はOperatorで、ウェブを閲覧し、ウェブ上であなたの代わりに作業ができます。2つ目はDeep Researchで、任意のトピックについて詳細なレポートを作成します。あるトピックを与えると、通常1週間かかる調査を15分で行い、回答を得ることができます。
これらの反応は素晴らしいものでしたが、今回はそれらのツールと他のツールをAPI経由で開発者に提供したいと思います。過去数ヶ月間、世界中の開発者と話し合い、エージェント構築を簡単にする方法について意見を聞いてきました。
聞いたのは、モデルは準備ができているということです。高度な推論能力やマルチモーダルな理解力により、エージェントが必要とする複雑なマルチステップのワークフローを実行できるようになりました。しかし、開発者は様々なソースから低レベルのAPIを組み合わせる必要があり、それは難しく、時間がかかり、脆弱に感じることが多いです。
そこで今日、これらをまとめた一連のツールと新しいAPIおよびオープンソースSDKを発表し、これをより簡単にします。それでは、チームを紹介しましょう。
こんにちは、私はElanです。開発者エクスペリエンスチームのエンジニアです。
私はSteveです。APIチームのエンジニアです。
私はNikです。APIプロダクトチームで働いています。
では、今日発表するすべてのものについて詳しく見ていきましょう。Kevinが言ったように、3つの新しい組み込みツール、新しいAPI、そしてオープンソースSDKがあります。
まず組み込みツールから始めましょう。今日発表する最初のツールは「ウェブ検索ツール」と呼ばれるものです。ウェブ検索ツールにより、モデルがインターネットから情報にアクセスできるようになり、レスポンスや出力が最新で事実に基づいたものになります。ウェブ検索ツールはChat GPT検索と同じツールで、裏側では微調整されたモデルによって動作しています。これはGPT-4oまたは4o miniの微調整モデルで、ウェブから取得した大量のデータを見て、関連する情報を見つけ出し、それを回答の中で明確に引用することが得意です。このような種類のタスクを測定するSimple QAというベンチマークでは、GPT-4oが90%という最先端のスコアを記録しています。
これが最初のツールです。Steveさん、2つ目のツールについて教えてください。
はい、2つ目のツールは私の一番のお気に入りで、「ファイル検索ツール」です。昨年、ファイル検索ツールをAssistants APIで発表しました。開発者がドキュメントをアップロード、チャンク化、埋め込みを行い、それらのドキュメントに対して簡単にRAG(Retrieval-Augmented Generation)を実行できるようにするものです。今日、ファイル検索ツールに2つの新機能を追加することを発表できて嬉しいです。
1つ目はメタデータフィルタリングです。メタデータフィルタリングを使用すると、ファイルに属性を追加して、クエリに最も関連するファイルだけに簡単に絞り込むことができます。2つ目は直接検索エンドポイントです。これにより、クエリがモデルを通してフィルタリングされることなく、ベクトルストアを直接検索できるようになります。
素晴らしいですね。パブリックデータ用のウェブ検索と、プライベートデータ用のファイル検索があります。そして3つ目に発表するツールは「コンピュータ使用ツール」です。コンピュータ使用ツールはAPI版のOperatorで、操作しているコンピュータを制御できるようにします。これは仮想マシンかもしれませんし、グラフィカルユーザーインターフェースしかなくAPIアクセスがないレガシーアプリケーションかもしれません。そのようなタスクを自動化し、それに基づいてアプリケーションを構築したい場合は、コンピュータ使用モデルとともに提供されるコンピュータ使用ツールを使用できます。
これはChat GPTのOperatorで使用されているのと同じモデルで、OS World、Web Arena、Web Voyagerなどのベンチマークでもトップスコアを記録しています。このモデルとツールに対する初期ユーザーのフィードバックは非常に肯定的なものでした。皆さんがこれで何を構築するのか楽しみにしています。
これが3つのツールです。これらのツールを構築し提供することを考える中で、私たちはこれらのツールに最適なAPIを一から設計したいと思いました。Chat Completionsは2023年3月にGPT-3.5 Turboと共にリリースされましたが、当時はすべてのAPI相互作用がテキスト入力とテキスト出力だけでした。
それ以来、マルチモダリティを導入し、画像や音声を扱えるようになりました。今日はツールを導入し、また01 Pro、Deep Research、Operatorのような製品も提供しています。これらは裏側で複数のモデルターンや複数のツール呼び出しを行います。そこで、私たちは複数のターンやツールをサポートする柔軟なAPI基本要素を構築したいと考えました。これを「Responses API」と呼んでいます。Responses APIをお見せするために、Steveに引き継ぎます。
素晴らしい、Responses APIを見てみましょう。以前にChat Completionsを使ったことがあれば、とても馴染みがあるでしょう。コンテキストを選択し、モデルを選び、レスポンスを得ます。シンプルですね。
Responses APIの力を示すために、パーソナルスタイリストアシスタントを構築してみましょう。まず指示を与えましょう。「あなたはパーソナルスタイリストです」。50,000人くらいの前でタイピングしてるだけなので、心配しないでください。「最新のトレンドは何ですか?」と聞いてみましょう。
素晴らしいですね。でも、パーソナルスタイリストアシスタントは、ユーザーが何を好むかを理解していなければ完全ではありません。これを示すために、チームのメンバーが着ている服についてのいくつかの記録を持つベクトルストアを作成しました。オフィスで人々を追いかけ回して、彼らが何をしているかを理解しているんです。全然変じゃないですよね?チームがいるんです、はい。
ファイル検索ツールを追加し、ベクトルストアIDをコピーしましょう。ここでは、スタイルを提案したい人に関連するファイルだけにフィルタリングできます。まずはElonから始めましょう。彼のユーザー名でフィルタリングして、戻ってきて更新します。「Elonが着るのが好きなものを簡単に要約してもらえますか?」とよくChat GPTに聞くんですが、知らないんですよね。でも今は実際にElonが好むものを教えてくれます。
ElonはMiami Chicと特徴づけられる独特で一貫したスタイルを持っています。素晴らしいですね。
ファイル検索ツールはアプリケーションにユーザーに関する情報を取り込むための素晴らしい方法ですが、このパーソナルスタイリストのために本当に良いアプリケーションを作るためには、ウェブから新鮮なデータを取り込めることが必要です。これにより、最新の情報とユーザーに関連する情報の両方を持つことができます。それを示すためにウェブ検索ツールを追加しましょう。
ウェブ検索ツールの良いところは、ユーザーがどこにいるかという情報も追加できることです。他の誰かでやってみましょう。Kevin、そのうち旅行に行く予定はありますか?例えば東京とか。東京ですね、ここに入力し、Kevinに切り替えます。
Responses APIの素晴らしいところは、一度に複数のことができることです。ファイル検索ツールを呼び出し、ウェブ検索ツールを呼び出し、最終的な回答を1つのAPIレスポンスで提供できます。正確に何をしたいかを伝えるために、いくつかの指示を与えましょう。コードを書くのがうまければいいのですが…エンジニアだと言ってましたよね?トレーニング中です。
モデルにやってほしいのは、製品を推薦するよう求められたとき、ファイル検索ツールを使用してKevinが何を好むかを理解し、次にウェブ検索ツールを使用して彼が興味を持ちそうなものを購入できる近くの店舗を見つけることです。戻って「私が好きそうなジャケットを近くで見つけてください」と言いましょう。
モデルはファイル検索ツール呼び出しを出して、Kevinがどんな種類の服を着るのが好きかを理解し、次にウェブ検索ツール呼び出しをして、彼がどこにいるかに基づいて彼が好きそうなものを見つけます。モデルは1つのAPI呼び出しの範囲内で、KevinのためにたくさんのPatagoniaの店舗を東京で見つけることができました。これは実際にKevinの好みに対応しています。彼はオフィスでたくさんのPatagoniaを着ています。
しかし、パーソナルスタイリストアシスタントは、あなたに代わって実際に購入できなければ完全ではありません。それを示すために、コンピュータ使用ツールを実演しましょう。コンピュータ使用プレビューモデルとコンピュータ使用プレビューツールを使用しています。「友人のKevinに新しいPatagoniaのジャケットを見つけるのを手伝ってください」と聞きましょう。お気に入りの色は何ですか、Kev?黒にしましょう。黒のPatagoniaジャケットはいくつあっても多すぎることはありません。
モデルはスクリーンショットを要求し、このコンピュータでローカルに実行しているDockerコンテナがあります。そのスクリーンショットをモデルに送信すると、モデルはコンピュータの状態を見て、クリック、ドラッグ、移動、入力などの次のアクションを出します。そのアクションを実行し、別のスクリーンショットを撮り、モデルに送り返します。そしてモデルはタスクが完了したと感じるまでこの方法で続け、最終的な回答を返します。これが進行している間に、Nunに戻しましょう。
素晴らしいツールと、エージェントを構築するためのとても柔軟なAPIがあります。素晴らしい構成要素が揃っています。しかし、より複雑なアプリケーションを構築した人たちにとって、例えばカスタマーサポートエージェントを構築している場合、パーソナルスタイリスト一つだけでなく、返金処理、カスタマーサポートFAQ対応、注文や請求処理など、複数のエージェントが必要です。
これらのアプリケーションを簡単に構築できるようにするため、昨年「Swarm」というSDKをリリースしました。Swarmはエージェント調整を簡単にするものでした。これは実験的・教育的なものを意図していましたが、多くの皆さんが本番環境で使用してくれました。それで私たちはSwarmを本番環境対応にして、多くの新機能を追加し、「Agents SDK」としてリブランドすることにしました。ElanはSwarmの構築に携わったので、それがどのように機能するかについて彼に説明してもらいましょう。
ありがとう、Nun。OpenAIでの時間の中で、エンタープライズやビルダーと協力してエージェント体験を構築するのを手伝いました。そして、シンプルなアイデアが実装するときに複雑になる様子を直接見てきました。Agents SDKのアイデアは、シンプルなアイデアを実装するのをシンプルに保ちながら、より複雑で堅牢なアイデアを、依然としてわかりやすくシンプルな方法で構築できるようにすることです。
Steveがデモで見せたものをAgents SDKで実装したものを見てみましょう。最初は非常に似ています。ここにエージェントが定義され、いくつかの指示があり、以前と同じファイル検索ツールとウェブ検索ツールがあります。これはResponsesを裏で使っているのですか?
はい、デフォルトではResponsesAPIを使用していますが、実際には複数のベンダーをサポートしています。Chat Completionsの形に適合するものなら、Agents SDKで動作できます。
練習中に誤って多くのPatagoniaを注文してしまったので、申し訳ありません。何が問題なのかわかりません、ここで助けています。いくつか返品したいんですか?そのために通常はリターンツールを追加して、このプロンプトにさらに追加してそれを機能させることができますが、問題はすべてのビジネスロジックを混ぜてしまうと、エージェントのテストが少し難しくなることです。
これが複数のエージェントの力です。関心事を分離して、別々に開発してテストできます。そのために、返品専用のエージェントを紹介しましょう。
素晴らしい。以前のエージェントはまだありますが、ここに新しいカスタマーサポートエージェントがあるのがわかります。使用するツールをいくつか定義しました。過去の注文を取得し、返金リクエストを提出します。これらは通常のPython関数であることに気づくかもしれません。これは実際にSwarmで人々が本当に好きだった機能で、Agents SDKにも引き継がれています。Pythonの関数を取り、型推論または型シグネチャを見て、モデルがそれらの関数呼び出しを実行するために必要なJSONスキーマを自動的に生成します。そして、それらが実行されると、実際にコードを実行して結果を返します。
これらの関数をそのまま定義できます。2つのエージェント、スタイリストエージェントとカスタマーサポート返金エージェントがあります。ユーザーとしてどのように両方と対話するのでしょうか?ここでハンドオフの概念が登場します。
ハンドオフは実際にはとてもシンプルなアイデアですが、非常に強力です。1つのエージェントが対話を処理し、それから別のエージェントに引き継ぐとき、会話全体は同じままですが、裏側では指示とツールを入れ替えるだけです。これにより、会話を振り分け、会話の各部分に正しいコンテキストを読み込む方法が提供されます。
ここで行ったのは、スタイリストエージェントまたはカスタマーサポートエージェントに引き継ぐことができるトリアージエージェントを作成することです。
十分な説明はしました。実際にこれがどう機能するか見てみましょう。保存して、「Patagoniaを多く注文しすぎたようです。返品を手伝ってもらえますか?」と聞いてみましょう。
ここで何が起こったかというと、トリアージエージェントから始まり、カスタマーサポートエージェントに転送されました。これは後で見せる関数呼び出しです。そしてカスタマーサポートエージェントは先制的に過去の注文取得関数を呼び出し、KevinのすべてのPatagoniaを見ることができます。
実際に裏で何が起こったかを見るために、通常は手動でデバッグステートメントを追加する必要があるかもしれませんが、Agents SDKがすぐに提供する機能の1つが監視とトレースです。プラットフォーム上にあるトレースUIに移動して、何が起こったかを実際に見てみましょう。
これらは私たちが持っていた以前の実行です。ページを更新して、最後のものを見ることができます。最後のものでは、何が起こったのかを正確に見ることができます。トリアージエージェントから始まり、リクエストを送信し、ハンドオフを行い、そして関数を呼び出したカスタマーサポートエージェントに切り替わりました。
元の入力が何だったかを見ることができ、ハンドオフはこのダッシュボードで第一級のオブジェクトです。実際にどのエージェントに引き継いだかだけでなく、オプションとしてあったがそうしなかったものも見ることができます。これはデバッグにとても役立つ機能です。
カスタマーサポートエージェントに入ると、すべての入力パラメータを持つ過去の注文取得関数呼び出しを見ることができます。ここではパラメータはありませんでした。そして出力はKevinの単調な履歴のすべてです。最後に、レスポンスを得るところまで行くことができます。
これらはAgents SDKですぐに使える機能の一部です。他にもいくつかあります。組み込みのガードレールを有効にできますし、ライフサイクルイベントもあります。重要なのは、これはオープンソースのフレームワークなので、私たちは引き続き構築していきます。
pip install openai-agentsで、とても簡単に、または今すぐインストールできます。JavaScriptのものもまもなく提供する予定です。最後に、実際に返金を実行してみましょう。「申し訳ありません、Kevin、すべて返品してください」。何を着ればいいのですか?Kevinは寒くなります。それはたくさんあるので、返品には時間がかかります。
裏側では何が起こっているのでしょうか?どうやってデバッグし、何が起こっているのかをより理解するのですか?トレースUIで確認できます。これはこのような体験を構築するためのかなりシンプルで分かりやすい方法です。
これらすべてのツールにアクセスできることをとても楽しみにしています。終わる前に、さらに2つのポイントを追加したいと思います。
最初に、Responses APIを導入しましたが、Chat Completions APIはなくなりません。新しいモデルと機能で引き続きサポートしていきます。組み込みツールの使用が必要な特定の機能や、将来リリースする特定のモデルやエージェント製品があり、それらはResponses APIでのみ利用可能になります。
Responses APIの機能はChat Completionsがサポートするものの上位集合なので、移行することを決めたときには比較的シンプルな移行になるはずです。Responses APIの開発者体験を気に入ってもらえることを願っています。多くの考えを注いできました。
2つ目のポイントはAssistants APIに関するものです。すべてのベータユーザーからの素晴らしいフィードバックに基づいてAssistants APIを構築しました。すべての学習なしには今ここにいることはできなかったでしょう。
Responses APIにさらに機能を追加して、Assistants APIができるすべてをサポートできるようにする予定です。それが完了したら、機能やデータの損失なくAssistantsからResponsesにアプリケーションを簡単に移行するためのガイドを共有します。十分な時間をかけて移行してもらい、完了したら2026年のいずれかの時点でAssistants APIの提供を終了する予定です。これについてはオフラインでもさらに詳細を共有します。以上です。まとめのためにKevinに戻します。
素晴らしい。Responses APIの発表と、単一の強力なAPIを活用して、RAGやファイル検索からウェブ検索、KUAやOperatorコンピュータ使用APIまで、様々なツールをまとめることができることに大変興奮しています。
私たちは引き続き強力な新しいモデルを構築し、より強力なツールを提供して、より良いエージェントの構築を支援することをお約束します。2025年はエージェントの年になります。Chat GPTと開発者ツールが質問に答えるだけでなく、実際に現実世界であなたのために何かをすることができる年です。
私たちはこれにとても興奮しており、まだ始まったばかりです。皆さんもそうだと思います。皆さんが何を構築するのか楽しみにしています。

コメント

タイトルとURLをコピーしました