Skip to main content

ワークフロー作成Agent

  1. 「高度なエージェント」を選択(作成手順は通常のエージェント作成と同様)
    • 構築タイプ
      • 進階モード:複雑なワークフローを迅速に構築し、ビジネスニーズを正確に満たす。
      • アプリケーションモード:完全で高度なオーケストレーションアプリケーションを作成し、ユーザーフレンドリーなインターフェースでシームレスな小型言語モデル体験を提供。

  1. 実際のビジネスに応じてワークフローを設定
  • 開始、終了:標準搭載の入力出力モジュールで、入力出力パラメータとフィールドをカスタマイズ可能;
  • モデル:このモジュールで使用するモデルを選択し、他のモジュールから取得した変数を入力し、プロンプトや出力メッセージを編集し、変数形式で保存;
  • ナレッジベース検索:選択したナレッジベース内で、入力変数に基づき最もマッチする情報を呼び出して返す;
  • スキル:いずれかのスキルを選択し、そのスキルを経由した入出力操作を実行;
  • コード:他のモジュールの出力変数に基づき、コード関数をカスタム作成・編集;
  • セレクター:複数の下流分岐を接続し、設定した条件が成立した場合のみ該当分岐を実行し、いずれも成立しない場合は「それ以外」分岐のみ実行;
  • 意図認識:ユーザー入力の意図を認識し、事前設定された意図オプションとマッチング;
  • テキストフォーマッター:複数の文字列型変数のフォーマット処理に使用;
  • データソース:参照可能な変数内容を増やすためにデータソースを選択;
  • ファイル検索:アップロードされたファイル内を検索し、入力された質問に基づき関連回答を探す;
  • ループ:リスト内の各項目に対して一連のタスクを繰り返し実行し、並列処理も選択可能。

  1. ノード詳細説明
  • 開始
    • 開始ノード:ワークフローの開始ノードで、ワークフロー起動に必要な情報を設定
    • 入力:簡単に言うと、LLMにタスク完了に必要な基本情報(入力パラメータ)を事前に伝える。使用時にLLMはこれらの情報要求を記憶し、対話中にタスク起動のタイミングを検知すると、事前設定されたパラメータを自動的に呼び出し、対応する位置に挿入して全体のプロセスを開始する。
    • 処理ロジック:直接パススルー(By pass)し、処理は行わず、ユーザー入力内容をそのまま次ノードに渡す。
    • 出力結果:すべての入力内容をそのまま出力。

  • モデル
    • モデル:大規模言語モデルを呼び出し、変数とプロンプトを使って応答を生成
    • 入力:既存のモデルをドロップダウンから選択し、入力変数名を指定
    • 入力パラメータ:query(String、上流またはユーザー入力由来)
    • 設定パラメータ
      • 1つ以上のTools
      • Model
        • GPT(GPTまたは他のモデル)
        • Temperature:創造性を制御。数値が高いほど回答が創造的かつランダムになる
        • Top P:「確率閾値」によって選択される単語範囲を制限し、回答の多様性を制御
        • Max Reply Length:AIが一度に返信できる最大文字数を制限
      • System Prompt:AIに対する隠し指示で、全体のスタイルを制御
      • User Prompt:ユーザーが入力する内容や質問
      • History:過去の対話ラウンドで、コンテキスト理解を維持
    • 処理ロジック:入力を大規模言語モデル(LLM)に渡し、設定に基づいて回答を生成
    • 出力結果:モデルが生成したテキスト内容

💡 ヒント:前段ノードと接続して初めて、他ノードの変数を現在ノードの入力変数として選択可能

  • スキル(一部例)

    • ウェブサイト読み取り:ウェブページ上の静的テキストを読み取れる(動的に読み込まれる内容は不可)。
    • テキストから画像生成:テキストを画像に変換(画像URLを出力)。
    • Tencent検索:検索エンジンを呼び出して検索結果を返す。

  • コード
    • コード:コードを記述し、入力変数を処理して戻り値を生成
    • 入力:外部から渡される変数を受け取り、コード実行に必要なデータの入口として、後続のコード処理に原始データを提供
    • 入力パラメータ:query(string、ユーザーまたは上流から渡されるコードリクエスト)
    • 設定パラメータ:コード実行に関するパラメータ設定
      • 最大実行時間(Maximum Runtime)
      • コード内容(Code Input)
    • 処理ロジック
      • 安全なサンドボックス環境でコードを実行(RestrictedPythonまたは指定プラットフォームベース)
      • 実行時間とアクセス権限を制限し、安全リスクを回避
    • 出力結果:コードが入力データを処理した結果を指定変数形式で出力し、コード処理結果の出口となる

  • セレクター

    • セレクター:フローオーケストレーションにおける条件判断の役割を果たす。複数の下流分岐を接続し、設定した条件により実行経路を決定
    • 条件分岐:複数の条件を設定可能(例:「if - 優先度1」)。変数参照、条件選択(等しい、大なりなどの比較ロジック)、比較値を設定し、条件成立を判定。成立すれば該当分岐フローを実行。
    • 処理ロジック:条件に応じて異なる経路を通る(条件を満たさない場合はElse経路へ)
    • 出力結果:直接の出力はなく、次ノードの進行方向を決定

  • 意図認識

    • 意図認識:自然言語処理の重要なステップで、ユーザー入力内容を分析し、真の意図を特定して事前設定された選択肢とマッチング
    • モデル:意図認識に使用するモデルを選択し、認識能力と効果を決定
    • 意図マッチング:ユーザー意図の説明を事前に入力してマッチング基準とし、他の意図も追加可能。システムはこれに基づきユーザー入力がどの事前設定意図に該当するか判断
    • 高度設定:システムプロンプト内容を設定可能で、入力変数を参照してプロンプト効果を最適化。履歴記憶数も設定でき、過去対話情報を参照して認識精度を向上
    • 処理ロジック:ユーザーの真意を判定し、入力を対応するカテゴリに分類

  • ナレッジベース検索
    • 入力:変数名を定義しパラメータ値を設定して、ナレッジベース検索のキーワードなどの原始データを提供
    • 処理ロジック:入力とパラメータに基づきナレッジベースを検索し、断片やFAQを返す
    • ナレッジベース:特定のナレッジベースを検索範囲として選択し、その範囲内でマッチ情報を検索
    • 最大呼び出し数:ナレッジベースから返すマッチ結果の最大数を設定し、過剰なデータ返却を防止
    • 出力:ナレッジベースから検索されたマッチ情報を指定変数形式で出力し、後続フローで使用

  • テキストフォーマッター
    • テキスト:主に文字列型変数のフォーマット処理に使用
    • 入力:変数名を定義し、参照方式でパラメータ値を取得し、後続のテキスト処理に原始文字列データを提供
    • 処理ロジック:テキストを簡単に加工
      • 文字列の連結
      • 文字列の分割
    • 文字列連結:テキスト編集エリアを提供し、必要に応じて変数名で入力変数を参照し、複数の文字列を連結などのフォーマット処理を実施

  • ファイル検索
    • ファイル検索:ファイル内容の検索などの操作を行う機能モジュール
    • 入力:変数名を定義しパラメータ値を参照して検索キーワードなどの入力情報を提供し、ファイル内容検索の根拠とする
    • ファイル:処理対象のファイルをこのノードに追加し、検索範囲を確定

  • データソース
    • データソース:接続するデータソースを選択
    • 処理ロジック:自然言語をSQLに変換してデータベースを検索し、結果を返す
    • 出力:データソースのデータを出力し、次ノードに渡す。

  • ループ
    • ループノード:指定回数または指定データ集合に基づき、一連のタスクを繰り返し実行。異なるループモードを設定することで、バッチ処理や繰り返し操作を柔軟に実現
    • ループタイプ:2つのモードをサポート
      • 配列ループ使用:入力された配列に基づき、配列内の各要素に順次タスクを実行
      • 数値ループ使用:設定された回数に従いタスクを繰り返し実行
    • ループ数値/配列
      • 「数値ループ」を選択した場合、具体的な数字(例:2)を入力し、タスクが2回実行されることを意味する。
      • 「配列ループ」を選択した場合、配列変数を提供し、システムは配列内の要素を順に取り出して入力としてタスクを実行。
    • 並列実行:オプション機能。オンにすると複数のループタスクを同時に処理し効率を向上。最大並列数を設定してリソース使用を制御可能。

ワークフロー例

本シナリオでは、ワークフロー機能を使って完全な「Microsoft Support Ticket Issue Analytics」プロセスを構築し、具体的な流れは以下の通り:

  1. 開始ノード
    プロセスの起点で、システムによりデフォルトで含まれる。
  2. データソースノード
    チケット分析に必要な原始データを接続。
  3. ナレッジベースノード
    分析参考資料を含むナレッジドキュメントを接続し、AI分析の理論的支えとする。
  4. モデルノード
    AIモデルを基に、データソースとナレッジベース内容を統合して総合分析を行い、チケット問題分析結果を生成。
  5. 終了ノード
    プロセスの終点で、モデルノードの分析結果を出力。こちらもシステムによりデフォルトで含まれる。

データソースノードとナレッジベースノードは並列に配置され、モデルノードが両者の情報を集約処理し、出力結果にデータ根拠と理論支えを確保。

最終的な結果は以下の通り:

注:本例は高度オーケストレーション機能の簡単な応用例であり、基本的なフロー効果を示すためのものです。高度オーケストレーションは強力な柔軟性と拡張性を備え、多様なノードタイプを通じて複雑なビジネスロジックやインテリジェントな自動化フローを実現可能で、多様な実ビジネスシーンに広く応用できます。