HUOXIU

AI エージェントを構築するための 4 つの重要な設計パターンを 1 つの記事で学びます。

編集者注: AI アシスタントやインテリジェント エージェントを構築するときに、より効率的で信頼性の高いものにするには、どのような設計パターンを使用すればよいでしょうか。

本日は、4 つの設計パターンの特徴と適用シナリオについて詳しく説明する記事をお届けします。リフレクション パターンは自己評価を通じて出力と決定を最適化します。ツール使用パターンは AI が外部ツールを呼び出して統合できるようにします。計画パターンは複雑なタスクを管理可能なサブタスクに分解します。マルチエージェント コラボレーション パターンは複数の AI エージェント間のコラボレーションを可能にします。

著者は、後者の 2 つのモデルは有望であるものの、現時点では不確実性が高い一方、反省モデルとツール使用モデルは比較的成熟しており、信頼性が高いという Andrew Ng の見解を引用しています。

著者 |ローレンツ・ホフマン=ヴェレンホフ

編纂者:岳陽

flux-dev で生成されたプロンプト メッセージは次のとおりです (ベージュ色の背景に赤い手書きのテキスト「4 つの AI エージェント パターン」が付いた水彩画を生成してください)

弊社では音声バーチャルアシスタント[1]の分野を積極的に展開しているため、関連する基礎知識を習得し、現在の開発状況を把握する必要があると感じています。

この記事では、AI エージェントの設計でよく使用されるいくつかの設計パターンについて説明します。

01 反射パターン

この設計パターンでは、エージェントが自身のパフォーマンスを分析し、改善できることが求められます。エージェントは自己評価を通じて、出力と意思決定プロセスを洗練させていきます。

出典: 著者

これは、少量のコードで実装できる比較的シンプルな設計パターンです。

次のシナリオでは、リフレクション デザイン パターンが一般的な Large Language Model (LLM) よりも優れています。

  • コードの最適化
  • ダイアログ返信

下の画像をご覧ください。言語モデルが対話応答とコード最適化の例で出力を徐々に改善していく様子がわかります。

出典: SELF-REFINE: 自己フィードバックによる反復的な改良

02 ツールの使用パターン

出典: 著者

このモードのワークフローは次のとおりです。

  1. 機能の説明: 各ツールの機能や必要なパラメータなど、LLM の包括的なツールの説明を提供します。
  2. ツールの選択: 現在のタスクに基づいて、LLM は使用するツールを決定します。
  3. 関数呼び出し: LLM は、選択したツールをアクティブ化するために特定の文字列を生成します。これは通常、特定の形式仕様 (JSON など) に従う必要があります。
  4. 実行プロセス: 後続の処理段階では、システムはこれらの関数呼び出しを識別し、対応する操作を実行し、結果を LLM にフィードバックします。
  5. 統合出力: LLM はツール実行の結果を最終フィードバックに統合します。

テクノロジのトレンドをフォローしていて、GPT を使用したことがある場合は、特定のタスクを処理するときにこれらの手順を自動化できることにすでに気づいているでしょう。

LLM が数百または数千のツールにアクセスできるようになると、その機能は大幅に拡張されます。

例えば、Gorilla[2]は、LLMがAPIを呼び出すことでツールを利用できるようにします。自然言語クエリを処理すると、Gorillaは意味的および構文的に適切なAPIを見つけることができます。

Gorilla を使用すると、1,600 回を超える (そしてその数は増え続けています) 機械学習 API 呼び出しを実行できます。

コマンドラインインターフェース(CLI)を使えば、自然言語を使って様々なタスクを実行できます。例えば…

 $ gorilla は test.txt というファイルに 100 個のランダムな文字を生成します。 

次に、CLI コマンドが表示されます。

 cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 100 | head -n 1 > test.txt 

03 計画パターン

このモードのワークフローは次のとおりです。

  1. タスク分解: LLM はコントローラーとして機能し、タスクを複数の小さな管理可能なサブタスクに分割します。
  2. 各サブタスクについて、実行する適切な特定のモデルを選択します。
  3. これらの特定のモデルは、サブタスクを完了すると、その結果をコントローラー LLM にフィードバックし、コントローラー LLM は最終的なモデル応答を統合して生成します。

出典: 著者

HuggingGPTはプランニングパターンの一例です。大規模言語モデル(LLM)をHugging Face[3]プラットフォーム上の豊富なモデルエコシステムに接続します。

04 マルチエージェントコラボレーション

出典: 著者

このモードのワークフローは次のとおりです。

  1. 役割固有のエージェント: 各エージェントには、ソフトウェア エンジニア、プロダクト マネージャー、デザイナーなど、特定の責任があります。
  2. タスクの細分化: 複雑なタスクを、異なるエージェントが処理できる小さなサブタスクに分割します。
  3. 情報交換とアクション調整: インテリジェント エージェントは相互作用を通じて情報を交換し、それぞれのアクションを調整して、プロジェクト目標の達成を共同で促進します。
  4. 分散型問題解決: システムは、複数のエージェントの知恵と能力を組み合わせることで、単一のエージェントでは処理が難しい複雑な問題を解決します。

現状では、技術が未成熟なため、マルチエージェントシステムの実世界への応用は未だ進んでいません。私がよく知る例としては、CEO、CTO、エンジニアといった役職を持つ仮想キャラクターで構成されたソフトウェア企業ChatDev[4]が挙げられます。

Andrew Ng は、「計画」と「マルチエージェントコラボレーション」のパターンを予測不可能なタイプに分類しています。

「プランニング」デザインパターンと同様に、「マルチエージェント・コラボレーション」の出力品質を予測することは難しいと感じています。特に、エージェントが自由にインタラクトし、多様なツールを持っている場合はなおさらです。対照的に、より成熟した「リフレクション」と「ツール使用」パターンは、より安定していて信頼性が高いようです。— Andrew Ng

Andrew Ng 氏の見解によれば、現時点では、最初の 2 つのモデルが既存の生産システムに採用される可能性が高いようです。

読んでくれてありがとう!

このブログを楽しんで、新しいことを学んでいただければ幸いです。

著者について

ロレンツ・ホフマン=ヴェレンホフ

👨‍💻 Cresta 🇺🇸のソフトウェアエンジニア。オーストリア🇦🇹で生まれ育ち、ニューヨーク、ベルリン、そして現在はドバイ🇦🇪に住んでいます👀 テクノロジーと人生経験について書いています

終わり

今週のインタラクティブコンテンツ🍻

この記事で紹介されている4つのモデルのうち、どれが一番気に入っていますか?その理由も教えてください。

🔗記事内のリンク🔗

[1]https://cresta.com/blog/announceing-cresta-voice-virtual-agent-what-sets-it-apart-what-the-market-is-getting-wrong/

[2]https://gorilla.cs.berkeley.edu/

[3]https://hugginggpt.space/

[4]https://github.com/OpenBMB/ChatDev

オリジナルリンク:

https://lorenzhw.substack.com/p/4-ai-agent-patterns-you-should-know