
OpenAIスウォームで何でも作れる、その方法をご紹介
14,149 文字
ワイの名前はデイビッド・アンドレや。ここでOpenAIスウォームを使って何でも作る方法をお教えするで。これは新しいAIエージェントのフレームワークでOpenAIから出たんやけど、これを出したってことは、AIエージェントが未来やと彼らが信じてるってことやな。だから、もしお前さんが今AIエージェント作ってへんのやったら、これを目覚まし時計やと思ってくれや。
ほな、約束するわ。最後まで見てくれたら、AIエージェントの力で自分の未来を保証する方法をきっちり理解できるようになるで。
ほな、1つのエージェントとエージェントのチームの違いを説明しよか。複数のAIエージェントを使うと、それぞれを1つのタスクに特化させられるんや。これで、ChatGPTだけを使うよりもずっと多くのことができるようになるんや。例えば、各エージェントに違うAPIコールをさせて、ウェブサイトにアクセスしたり、ファイルを編集したり、見込み客に電話したり、クライアントにメール送ったりできるんや。想像できることは何でもできるんやけどな。
ただ、一般的には1つのAIエージェントから始めるのがええんや。必要やないのに複雑にせんでもええんや。
ほな、「でもデイビッド、これで実際どんなメリットがあるんや?」って思うかもしれんな。実用的な方法をいくつか挙げるで。エージェントは時間の節約、見込み客の発掘、リサーチ、顧客対応、反復作業の自動化、アイデア出し、コピーライティングなど、もっともっといろんなことができるんや。
18ヶ月以内に、間違いなくすべての企業と個人がAIエージェントのチームを持つようになるで。だからこそ、今から始めんとアカンのや。
ちょっと寄り道や。もしAIエージェントでビジネス作りたいんやったら、新しい「ソサエティ」に参加してくれや。そこで、最初のAIエージェントの作り方と、それでお金を稼ぐ方法をステップバイステップで教えるで。コーディング経験ゼロでも、1日30分で始められるんや。動画の説明欄の最初のリンクやで。
さて、AIエージェントフレームワークって一体なんやねん?簡単に言うと、フレームワークはAIエージェントの構築をより簡単で速くするもんや。特にOpenAIスウォームでは、AIエージェント同士がタスクを委譲し合えるんや。例えば、あるAIエージェントがあるタスクに適してるなら、それをスウォームの中の機能としてリンクできるんや。でも、詳しくはすぐ分かるで。
これはOpenAIのチャット補完APIの上に構築されてるんや。これは基本的にGPT-4 0301やその他のモデルの標準APIやな。だから、構文がすごく馴染みやすくて、簡単に理解できるはずや。
ほな、なんでナポレオンみたいになる必要があるんか説明するで。これはワイの大好きな名言の1つやねん。「まず行動し、そのあとで考える」ナポレオン・ボナパルトや。お前さん、この動画見てる人らは賢いんや。問題は何をすればええかわからんとか、コードの書き方がわからんとかやない。問題は行動せんことや。だから、考えすぎたり、準備しすぎたり、調べすぎたりせんと、とにかく始めてみいや。
ほな、実際に作っていこか。これがOpenAIのスウォームシステムのメインのGitHubリポジトリや。まだアーリーアクセスやけど、構文見てみい。美しいやろ?誰でもこの構文なら理解できるはずや。プログラマーやなくてもな。エージェントを定義して、名前つけて、指示を与えて、機能を与えるだけや。超簡単やろ?
これの実装方法を見せるで。ちなみに、これはワイの新しいAIスタートアップのコードや。ワイが何をしてるか、ステップバイステップで全部見たいんやったら、もう一度言うけど新しい「ソサエティ」のクラスルームにあるで。「AIスタートアップを始める」をクリックしたら、ワイのAIスタートアップ構築の旅の日々の報告や進捗報告が全部見れるで。
ほな、カーソルに戻ろか。「フォルダを開く」をクリックしてな。ほな、ここに空のフォルダがあるで。選択しよか。ほら、ファイルが1個もないやろ。新しいファイル作るで。右クリックして「新規ファイル」、「main.py」や。
GitHubに戻って指示に従おか。OpenAIが言うてるのは、これが初めてのフレームワーク使用やから、失敗したり間違えたりするのを見ることになるやろうけど、そこから学べるはずや。でも保証するで、これは狂ったもんやない。時間がなくても、初めてエージェント作るんでも、できるはずや。
インストールにはPython 3.10以上が必要やで。3.11やな。ほな、環境設定せなアカンな。ワイはKondaを使うで。ちなみに、「うわ、デイビッド、Kondaの使い方わからんわ」「カーソルの使い方わからんわ」って思ってるかもしれんけど、心配せんでええで。新しい「ソサエティ」の中に、これら全部のチュートリアルがあるんや。50分以上の高度なカーソルのチュートリアルもあるで。この1つのモジュールだけでも新しい「ソサエティ」に参加する価値あるで。もう一度言うけど、説明欄の最初のリンクやで。
ほな、Anacondaプロンプトに入って、新しいKonda環境を作ろか。「conda create -n swarm python=3.11」や。GitHubで言うてるように、少なくとも3.10以上が必要やから、3.11でええやろ。エンターや。
「うわ、デイビッド、新しいKonda環境の作り方わからんわ」って思ってる人のために説明すると、これがまさにカーソルを使う理由なんや。カーソルでは、Ctrl+LかCommand+Lを押して、チャットに「新しいKonda環境の作り方を教えて」って聞けるんや。そしたら、コマンドを教えてくれるで。「conda create -n name python=3.8」みたいな感じや。nameは環境の名前で、pythonのバージョンは使いたいやつを指定するんや。
ほな、新しい環境を作ったで。次はアクティベートしよか。「conda activate swarm」や。次に、このpipインストールをコピーするで。ほな、これをコピーして貼り付けるで。
実際、カーソルの中でエラーが出てるな。インタープリターを選択しよか。Pythonインタープリターを選んで、新しく作った「swarm」を選ぶんや。ほら、できたで。ここにコメントを入れとこか。
ほな、ここに入ると、これらは全部パッケージやな。pydantic、yaml、this、troll。これについて心配せんでええで。この1行で、OpenAIが必要な全ての依存関係をインストールしてくれるんや。通常はrequirements.txtファイルに保存されるもんやけどな。
ほな、カーソルの中でインタープリターを選んだで。ちなみに、カーソルはVS Codeの上に構築されてるんや。だからVS Code使ったことあるなら、すごく馴染みやすいはずや。でも、カーソルの美しいところは、普通の英語で話しかけられることなんや。
ほな、GitHubの使用法からコピペし始めよか。車輪の再発明せんでもええんや。これがドキュメントやGitHubのREADMEファイルを見るべき理由なんや。開発者たちが何をすべきか教えてくれるんや。コードをコピペするだけでええんや。
これが、ドキュメントに従って、READMEファイルを読むことが重要な理由なんや。ほな、swarmからインポートし始めよか。実際、カーソルに説明的なコメントを追加するように言えるんや。Ctrl+X、Xを押して、「上に説明的なコメントを追加して」って言うんや。プログラミングについて何も知らんけど、コードが何をしてるか理解したい場合、カーソルがそれを可能にしてくれるんや。
「必要なクラスをswarm simulationからインポートする」。ほな、これをOpenAIのswarmに変更しよか。次いこか。
ほな、クライアントを定義するで。よしよし。次に、コメントを書き始めるで。「Swarmクライアントを初期化する」。ええやん。
これもカーソルのもう1つのいいところや。何か書き始めるだけで、もう言いたいことを予測してくれるんや。
ほな、セールスエージェントを作ろうと思うんやけど、まずこの簡単な例から始めよか。そのあと、ウェブサイトを持ってる人や、クライアントに売りたい人が使えるセールスチームのエージェントを作るで。
ほな、ここにコメントを追加しよか。「関数を定義して、はい」。ほな、これら両方のエージェントをコピーできるで。これはテストデモやな。これが終わったら、ちゃんとしたの作るで。これを「test.py」に名前変更しよか。
ほな、最初のAIエージェントを定義するで。名前は「Agent A」や。超簡単やろ。文字通り名前を付けて、これは指示、システムプロンプトとも呼ばれるもんや。「あなたは役立つエージェントです」。また、OpenAIからのデモやから、特に凝ったことはしてへんな。
これが関数の定義方法や。ツールとも呼ばれるもんや。ここでは、Agent Bに委譲する能力があるんや。Agent Bは単純なエージェントで、俳句でしか話せへんのや。俳句知らん人のために説明すると、短い詩のことや。これもOpenAIのデモやから、フレームワークの使い方がいかに簡単かを示すためのもんや。
次は、実用的なもので、ビジネスで使えたり、本当のお金で売れるようなものを作るで。
ほな、エージェントを定義したら、レスポンスを実行せなアカンな。これも超簡単や。ほな、「response = client.run」やな。見てのとおり、これはOpenAIのチャット補完APIとよく似た構文や。
どのエージェントからレスポンスが欲しいか指定するんや。ここではAgent Aやな。Agent Bは呼んでへんで。Agent Aが Agent Bを呼ぶべきかどうか決めるんや。
ほな、プロンプトで「Agent Bと話したい」って言うてるで。明らかに超明示的やけど、Agent AがAgent Bに委譲するはずや。
実際、ちょっと変えてみよか。「Agent Bは全てを700語の英語で説明する」みたいな感じにしよか。「Agent Bと話して、LLMについて説明してもらいたい」。これは面白くなりそうやな。
ほな、実行してみよか。保存してCtrl+Sを押して、実行や。
おっと、エラーが出たな。これは何やろ。あ、OpenAIのAPIキーを設定してへんかったな。すごく明白なことやけど、忘れてもうたわ。
ほな、「platform.openai.com」のAPIキーのページに行こか。アカウントがない人は、ChatGPTと同じアカウントを使えばええで。右上にログインしてるはずや。ログインしたら20秒くらいで超簡単にできるで。左側の「APIキー」をクリックしてな。もう一度言うけど、このプラットフォームのリンクは説明欄に載せとくで。
「新しいシークレットキーを作成」をクリックして、名前を付けよか。「新しいソサエティ」って名付けよか。「新しいシークレットキーを作成」をクリックして、コピーや。
新しいファイルを作って、名前を「.env」にしよか。ここで名前は「名前を」で終わっていたので、そこから続けます。
前を「OPENAI_API_KEY」にせなアカンで。カーソルがすでにそれを提案してくれてるな。
ほな、この構文を新しいAPIキーに置き換えるで。ちなみに、APIキーは誰にも共有せんでくださいよ。ワイは動画をアップロードする前に消すで。
ほな、もう一度実行できるな。実行してみよか。エラーが出えへんのはええ兆候や。エージェントが動いてるってことやな。
これがLLMの700語の英語での説明や。どうやってやったんやろ。謙虚な自分がそれら形而上学的な構造として知られる大規模言語モデルに関して会話したいと願っておるのかね、と。
要点は分かったやろ?動いてるんや。
もしかしたら、カーソルのコンポーザーセクションに行って、Ctrl+Iを押して、「もっとデバッグプリント文を追加して、何が起こってるか分かるようにして」って言うべきかもしれんな。でも、やりすぎんようにな。
これをしたい理由は、プログラムを実行したときに、最終的なレスポンスが返ってくるまでただ待ってただけやったからな。ちょっと長かったんや。
ほな、これでええと思うで。全部受け入れて、もう一度実行しよか。最終的なレスポンスを得る前に、もっと多くの入力が得られるはずや。
Swarmクライアントが初期化されて、エンジンが作成されて、会話が始まって、ワイが...うん、最終的なレスポンスを得る前に入力が得られてるな。ええやん。
ほな、新しいファイルを作って、これを...ほな、カーソルの力を使おか。これがワイがカーソルを愛してる理由なんや。もっと深く知りたかったら、新しい「ソサエティ」の中の高度なチュートリアルを見てくれ。
ほな、こんなことができるんや。「新しいPythonファイルを作成して、test.pyと全く同じ構文を使ってくれ。でも、エージェントは空のままにして。4つの異なるエージェントを作ってくれ。最も役立つデバッグプリント文だけを残してくれ。test.pyと全く同じフォーマットを使うことを忘れんでな」って言えるんや。
カーソルはコードを書くだけやなくて、ファイルも作れるし、コードベース全体にアクセスできるんや。コピペせんでもええんや。ファイルの中身を知ってるからな。
ほな、これに名前を付けよか。「new_agents」にしよか。受け入れて、これの名前を変えよか。「sales_agents」にしよか。
ワイがやりたいのは、どんなビジネスでもウェブサイトに組み込めるセールスチームのエージェントを作ることや。他の企業にも売れるかもしれんな。チームには、マネージャーエージェント、見込み客の資格審査エージェント、異議処理エージェント、クロージングエージェント、ウェブ検索できる調査エージェントが必要やな。
お前さんの仕事は、sales_agents.pyファイルを更新して、エージェントの名前と指示を変更し、新しいものを作ることや。
ほな、1つ忘れてもうたな。この関数、テスト.pyにあったんやけど、マネージャーが他のエージェントにタスクを委譲できるようにする移譲関数が必要やな。
ワイは何をすべきか知ってるけど、知らんふりしよか。ハイライトして、チャットに行って、「この行がハイライトされてる理由と、どう修正すればええか教えて」って超初心者向けのプロンプトを出せるんや。そしたら、何をすべきか教えてくれるで。
Pythonパッケージをインストールせなアカンって。コピーして、ほな、新しいターミナルを開いて、Ctrl+Vで貼り付けて、python-dotenvをインストールするで。
ほな、これでええはずや。すぐに消えるはずや。ほら、消えたで。
ほな、コンポーザーにもう1つ頼もか。「新しいウェブ検索機能はクエリパラメーターを受け取ってるけど、コードの中でそれを渡してへんな。これを修正して」って。
テストしてたら気づいたはずやけど、ワイはエラーに気づいたんや。基本的に、ウェブ検索を呼び出すときにプロンプトを渡してへんのや。
ウェブ検索を実行して、それからウェブ検索...クエリ...うーん、これは間違いやな。
ほな、これら全部を拒否して、テストしてみよか。これらのプロンプトは最適化できるけど、それは今は気にせんでええ。Tavily APIが動くかテストしたいんや。
これがユーザープロンプトや。ほな、新しいコンポーザーを作って、「sales_agents.pyのコードを変更して、ユーザーにプロンプトを尋ねるようにして。ハードコードせんでな。他は何も変更せんでええで」って言おか。これは簡単な変更や。システムプロンプトとか全部を書き直してほしくないんや。
ほな、「user_prompt = input("セールスマネージャーへのプロンプトを入力してください: ")」。ええやん。保存しよか。
ほな、テストしよか。特にTavily APIが動くかテストしたいんや。実行して、「セールスマネージャーへのプロンプトを入力してください:」って出たら、「SpaceXのスターシップ打ち上げに関する最新情報をウェブで検索してほしい」って入力するで。
「調査員に移行中...最新のSpaceX打ち上げ情報のウェブ検索を実行中...」
待て、これは実際に...これは実際に良いんか?打ち上げの詳細、リフトオフ...待て、これは実際に動いてるんか?すごいな。もう一回やってみよか。何か別のことを試してみよか。
「最近立ち上がったOpenAI Swarmプロジェクトについて教えて」って言うてみよか。
うーん、調査員を呼び出すのを知らんかったな。明示的やなかったんや。
もしかしたら、マネージャーのシステムプロンプトを更新せなアカンかもしれんな。ほな、これをハイライトしよか。こうしよか、ハイライトして、「指示を複数行の文字列にして」って言うてみよか。
また、ここでも普通の英語でコーディングしてるで。受け入れて、もう一度ハイライトして、「指示をもっと徹底的にして、答え方がわからんかったら調査員エージェントを呼び出すように言うてくれ」って言うてみよか。
ええやん、ええやん。受け入れて、もう一度実行しよか。「GitHubにある新しいOpenAI Swarmプロジェクトについて教えて」って具体的に聞いてみよか。
「調査員に移行中...ウェブ検索を実行中...OpenAI Swarmプロジェクト GitHub...」ええやん、とてもええやん。
ほな、見てみよか。「OpenAI Swarmプロジェクトは、マルチエージェントのオーケストレーションを容易にするように設計された教育フレームワークです」。
すごいな、実際に動いてるで。ワイ、ショックやわ。これは関数呼び出しを実装するのがとても簡単やな。正直、これが今までで一番好きなAIエージェントフレームワークかもしれんわ。
これは大したことやで。これはCru AI、Agency Swarm、Autogenよりも好きかもしれんわ。使うのが超簡単やで、狂ってるで。
文字通り、名前を付けて、モデルを指定するか、せんでもええし、ほな...ほな...
ほな、これで少し遊んでみよか。これらのプロンプトを書いてみよか。
マネージャー...ほな、マネージャーの知識を更新しよか。「指示の中で、マネージャーがどのエージェントにアクセスできるか明確に説明して。常に1つのエージェントを呼び出すように明示的に指示して。各エージェントが何をするのか、何が得意なのかを明確に説明して」。
ほな、これを改善して、実際に役立つものにしていくで。お前さんたち、ビジネスを持ってる人は、これをウェブサイトで使えるし、セールスエージェントが必要なビジネス、正直言うとほとんど全てのビジネスやけど、そういうところに売ることもできるで。
ずっとええなってきたな、ずっとええなってきた。
ほな、Perplexityを使って、優れたリード審査員の条件を調べてみよか。「優れたリード審査員の条件は何か?」「ビジネスでリードを適切に審査するために何が必要か?」「ビジネスでリードを失格にする最も一般的な方法は?」「テキストでチャットしてる潜在的なクライアントの資格をどうやって判断するか?」
これがPerplexityや。今や完全にエージェントのチームやな。見てみい、プロ検索、ボンボン、ステップを説明して、それぞれのエージェントが別のことを検索するんや。Perplexityはマジですごいで。
うん、無料版使ってへんのやったら、何してんねん?
ほな、この情報を手に入れたで。「デイビッド、なんでこの検索をしてんの?」って思うかもしれんけど、ワイがこれをしてるのは、この全てを知らんからや。リードの審査の専門家やないからな。
ほな、これをコピーして、ここでコピーをクリックして、カーソルに戻って、リード審査員をハイライトして、Ctrl+Kを押して編集や。
「上記はビジネスでリードを適切に審査する方法に関する調査結果や。この情報を使って、このエージェントの指示をもっと徹底的で、明示的で、プロフェッショナルなものに書き直してくれ。スペルミスがあちこちにあるのは面白いな。複数行の文字列を使ってくれ」。
ほな、エンターや。また、AIを使ってシステムプロンプトを書くことができるんや。
これはすごいな。ワイ自身でもこんなに良いカスタムプロンプトは書けへんかもしれんわ。だからこそウェブ検索をしてるんや。
これも同じやな。実際に、ワイがやろうとしてることは、もっとすごいことや。AIのインセプションみたいなもんや。これはすごいAIのインセプションになるで。
Claudeを開いて、「以下のウェブ検索プロンプトを、テキストを通じたセールスにおける異議処理に関連するように書き直してくれ」って言うてみよか。
すごいな。ほな、これをコピーして、Perplexityに行って、異議処理エージェントに関連するこれらの質問をしてみよか。超徹底的な調査結果が得られるはずや。これをシステムプロンプトで使うで。
これが、堅固なエージェントチームを作る方法や。
おお、これはええな。価格に関する異議、必要性の欠如、信頼の問題、タイミングなど、具体的なものが出てきてるな。うわ、このレスポンスは...40...すごいな。
ほな、コピーしよか。ここでも同じことをするで。Ctrl+Kを押して、「上記の情報を使って、このエージェントの指示を書き直して、もっと徹底的で明示的なものにしてくれ。複数行の文字列を使ってな」。
エージェントが動くのを見るのは魔法みたいやな。驚きが尽きへんわ。
ほな、これは12ステップのプロ...マジですごいレスポンスやな。「素早く応答してエンゲージメントを維持する」「顧客の名前を使う」「明確に保つ」「常に有効性を認める」。これは、セールスマスター101みたいなもんやな。実際、ワイも何か学べそうや。うん、ええな。
クロージングエージェントか...ほな、実際にアレックス・ホーモシのクロージングフレームワークを使えるかもしれんな。
ほな、新しいPerplexityの調査を開いて、「アレックス・ホーモシのクロージングフレーモシのクロージングフレームワークについて調べてみよか。それが何なのか、どうやって使うのか、テキストでどう活用するのか、他に見つけられることは全部調べてくれ」って言うてみよか。
ホーモシがセールスについて2つや3つのことを知ってるのは明らかやからな。世界最高のセールスマンの1人のフレームワークをエージェントチームに取り入れんと損やで。
C は Clarify(明確化)、L は Label(ラベル付け)、O は Overview(概要)、S は Sell the vacation(休暇を売る)、E は Explain away concerns(懸念を説明して取り除く)、R は Reinforce(強化)や。この中の一部、例えば懸念への対処は明らかに他のエージェントが扱うべきやけど、これはただのクロージャーやからな。クロージャーもこの知識を持っておくべきやろ。
ほな、もう一回 Ctrl+K を押して、「上記の情報を使って、このエージェントの指示をもっと徹底的で明示的なものに書き直してくれ。複数行の文字列を使ってな」って言うてみよか。
受け入れるで。調査員は...正直、シンプルに保っておいてもええかもしれんな。ここに特別なことはないし。
もしかしたら、「指示を書き直してくれ」って言うてみるか。「指示を複数行の文字列にして、世界クラスのウェブ調査員を反映するように書き直してくれ」。提出するで。
ええやん、確実に改善されたな。
ほな、これがユーザープロンプトや。かなり堅固やな。他に何があるやろか。マネージャーは...まあ、かなりええやん。
マジで大幅に...これは実際にプロンプトを改善する本当に良い方法かもしれんな。今のところワイのお気に入りの方法や。AIインセプションって呼ぼうか。AIの中でAIを使ってエージェントチームを構築するんや。
ほな、106行のコードで...ちなみに、これを自分で構築せんでもええで。やりたかったらできるし、この動画で全部見せたけどな。でも、ワイが過去に構築した全てのAIエージェントと、これから構築する全てのエージェントには、新しい「ソサエティ」のテンプレートとプリセットセクションでアクセスできるで。ここの「デイビッドのAIエージェント」の下にアップロードするか、一番下にアップロードするで。
ほな、実行してみよか。テストするのが楽しみやわ。実行して、「セールスエージェントへのプロンプトを入力してください:」って出たら...
ほな、これはお前さんのウェブサイトに埋め込まれるものやと考えてな。新しい顧客が来て、「あのー」って言うてるみたいな感じや。ほな、ワイのサービスについてロールプレイしてみよか。
「新しい『ソサエティ』に参加することに興味があるんやけど、中にある独占的なAIコンテンツを実装する時間があんまりないんよな」って言うてみよか。
ほな、ウェブサイトにリンクを貼ったら...待て、エラーが出たな。どこや...あ、ONNXモデルは関数呼び出しをサポートしてへんのか。まあええわ、気にせんでええ。
ほな、コンポーザーに行って、新しいのを作って、「全てのエージェントがGPT-4 0314モデルを使うようにしてくれ」って言うてみよか。実際、これがデフォルトやと思うけど、まあええわ。O1 を使ってファンシーにしたかったけど、関数呼び出しをサポートしてへんのが残念やな。
受け入れるで。ほな、マネージャー以外の全てのエージェントが...実際、マネージャーはO1 miniを使えるな。何もせんし、ただ委譲するだけやからな。ここでコストを節約できるで。
ほな、全く同じプロンプトで実行してみよか。「新しい『ソサエティ』に参加することに興味があるんやけど...」って言うてみるで。
「リード審査員に移行中...」
ほな、「リード審査員の最終レスポンス: ありがとうございます、興味を持っていただいて...」
うーん、改善せなアカンな。超簡潔になるように指示せなアカンわ。「指示を更新して、エージェントに超簡潔なレスポンスをするように言うてくれ。まるでWhatsAppでチャットしてるかのようにな。これを少なくとも2回言及してくれ」って言うてみよか。
これは別のプロンプトエンジニアリングのヒントや。何か重要なことがあるなら、指示の最初と真ん中と最後に繰り返すべきや。
元のシステムを削除せんでくれ。この新しい指示を元のシステムに追加するだけでええんや。Perplexityで構築した作業を元に戻したくないからな。
ほな、これを受け入れて保存しよか。
実際、ちょっと混乱してきたな。ほな、コードのこの部分だけをハイライトしよか。変更したい部分やな。クロージャー、調査員、ブーム。Ctrl+K を押して、「この正確なメッセージを...ほな、手動でやろか。『簡潔に、ほぼWhatsAppでチャットしてるかのように返答することを忘れんといてな』」って追加しよか。
はい、カーソルはもう何が起こってるか知ってるで。カーソルは学習してるで。カーソルは本当にすごいわ。正直、Tabキーの力を過小評価してたわ。Tabを押すだけで、お前さんの行動を予測してくれるんや。本当に驚くべきことやで。
ほな、これでテキストのようになったはずやな。ほな、別の異議を試してみよか。「新しい『ソサエティ』を買いたいんやけど、AIエージェントがワイのビジネスに何ができるかもうちょっと情報が欲しいな。ワイのビジネスは...」「ワイのビジネスはLAの旅行代理店なんや」って言うてみよか。
ほな、これで希望通り調査員を呼び出すはずや。はい、最終レスポンス...待て、何が起こったんや?なんでループバックして...ああ、分かった。これを更新せなアカンな。
「指示の中で、ユーザーのクエリが何であれ、常にウェブを閲覧するように明示的にエージェントに伝えてくれ。これを少なくとも2回言及してくれ」。
「ブラウザーを買いたいんやけど、サイズが全部アメリカサイズで書かれてて、ワイはヨーロッパ出身やからどのサイズを選べばええかわからんのよ」って言うてみよか。
ほな、これがどうなるか見てみよか。
異議処理エージェントの最終レスポンス: 「やあ、その混乱はよく分かるで。ヨーロッパでの普段のサイズを教えてくれへん?アメリカのサイズの適切なものを見つけるの手伝うで。教えてくれたら」
ほな、もう一つ変更せなアカンな。これを連続ループにせなアカンわ。
ほな、コンポーザーに行って、「sales_agents.pyに小さな変更を加えんとアカンわ。マネージャーが顧客からのテキストを受け取り続け、それを処理するために正しいエージェントを呼び出し続けるような連続的なwhileループにしてくれ。顧客が買う準備ができるまでな。そしたらマネージャーは、お前さんがコードせなアカンけど、whileループを終了させる新しいカスタム関数を呼び出すんや。最後にもう一度サイクルを回してな。これを可能な限り最もシンプルな方法で実装してくれ」。
ちなみに、この最後のプロンプトは本当に良いで。AIモデルは過度に複雑にしたり、頑張りすぎたりする傾向があるからな。
ほな、「会話を終了する」という新しい関数があるはずやな。「会話を終了中...顧客が購入する準備ができました」。
異議処理エージェント...ほな...ほな...
これはええやん。「会話を終了する」、「return True」。
これを承認しよか。これも承認しよか。
これの代わりに、このwhileループを持つことになるな。「while True:」、「user_prompt = input("メッセージを入力してください: "」、「response = client.run(agent_manager, user_prompt)」、「print(manager_response)」、「if end_conversation():」、うーん...
実際、whileループは無限にすべきやな。顧客が購入する準備ができたら、ただチャットをやめるだけやからな。
ほな、我々の解決策は実際に超シンプルやな。「実際、whileループを無限にしてくれ。ウェブサイトでAIエージェントとチャットしてる潜在的な顧客は、常にレスポンスを得るべきやからな」って言うてみよか。これで物事がシンプルになるな。
ほな、そうしよか。
おっと、チャットセクションでやってもうたわ。これを承認しよか。
ほな、もう一度試してみよか。これはまたテストやな。「USDからユーロへの換算レートをウェブで検索して」。
まだ続いてるな。素晴らしいわ。
ほな、試してみよか。旅行代理店のウェブサイトにいるとしよか。
ちなみに、これを実際にウェブサイトに実装したら、プロンプトを変更したり、PDFやドキュメントなどのカスタムな知識やデータを追加したりして、製品やサービスについてもっと知識を持たせることができるで。
今のところ、これは汎用的なもんやから、お前さんたちの誰でも自分用に、あるいは他のビジネス向けに利益を得るために、これを取り入れて実装できるんや。
「フーディーがめっちゃ気に入ったんやけど、高品質の素材かどうか分からへんわ」って言うてみよか。
異議処理エージェントの応答を見てみよか。
「やあ、フーディーが気に入ってもろてうれしいわ。品質の心配はよう分かるで。うちのフーディーは最高級のコットンブレンドで作られとんねん。」
ここで幻覚が起きてるな。詳細を持ってへんからや。でも、これはええ感じやで。
「多くのお客さんが絶賛しとるで。もっと詳しい情報が欲しいか?」
はい、って答えよか。
おっと、マネージャーに戻って続けへんかったな。
ほな、ここでコンテキストを管理する方法を追加せなアカンわ。言い換えると、状態を保存せなアカンのやな。
もしかしたら、AssistantsAPIの方がこれに向いてるかもしれんな。
うん、これは無限ループの状況には最適やないかもしれんな。一回限りのことに向いてるかもしれんわ。
つまり、エージェントに入力して、マネージャーが何をすべきか決めて、それぞれのエージェントが実際に実行する、みたいな感じやな。
もしかしたら、例を見るべきやったかもしれんな。GitHubのリンクは説明欄に載せるけど、OpenAIがここに多くの例を含めてくれてるんや。
航空会社の例を見てみよか。「航空会社のコンテキストで、異なる顧客サービスリクエストを処理するマルチエージェントのセットアップを示す」。
これは非常に似てるな。セールスの代わりに顧客サービスやけどな。
エージェントはリクエストを処理できる...ブラブラ...デモを実行...デモループを実行...
うわ、なんでこれをせんかったんやろ。
「from swarm.runnables import run_demo_loop」をインポートして、それから「run_demo_loop(trash_agent, context_variables=context_variables, debug=True)」ってするだけやな。
ほな、これで前のメッセージからコンテキストを保持できるわけやな。
うん、これで問題は解決されたみたいやけど...うん。
GitHubのリンクは説明欄に載せるから、これらの例を見てみてな。OpenAIが8つくらいの異なる例を載せてくれてるで。
もしかしたら、これらから始めるべきやったかもしれんな。
でも、ええところは、これらをコードに組み込むこともできるってことやな。
もう一度言うけど、ワイの以前のエージェントや、この動画の全てのコードにアクセスしたいなら、そしてこの動画全体で使ってきたカーソルの使い方を知りたいなら、新しい「ソサエティ」に参加してくれ。
中では、AIエージェントでお金を稼ぐ方法や、コーディング経験がゼロでもゼロから最初のAIエージェントを構築する方法をステップバイステップで学べるで。
説明欄の最初のリンクや。14日間の返金保証もあるで。価値がないと感じたら、ワイが個人的に返金するで。
もう一度言うけど、説明欄の最初のリンクや。今すぐ参加してくれ。
見てくれてありがとう。素晴らしい一日を。バイバイ。