はじめに
Oracle Integration(OIC) は、Oracle Cloud Infrastructure(OCI)が提供するiPaaS(Integration Platform as a Service)です。Oracle SaaSやOCIサービス、オンプレミスシステムなどを連携し、業務プロセスの自動化やAPI連携を実現します。近年では、MCP ServerやHuman in the Loop(HITL)などAIエージェント向けの機能も強化されており、AIエージェントからERPやSaaSを安全に呼び出し、業務処理を実行できるプラットフォームとしても活用できます。
この記事では、以下ドキュメントを元に、Oracle IntegrationのHuman in the Loop(HITL)を構成し、AIエージェントの処理に人による承認を組み込む方法をステップ・バイ・ステップで紹介します。
また、OICのHITLについては、以下のブログ記事内でも紹介しています。あわせてご確認いただけると、さらに理解が深まります。
前提条件
以下のQiita記事で紹介したOICチュートリアルを実施済みで、AIエージェントの実行が可能であること
チュートリアル全体像
Human in the Loop(HITL)について
HITL概要
Human in the Loop(ヒューマン・イン・ザ・ループ) とは、エージェント型AIを用いた自動化ソリューションにおいて、重要かつ戦略的なポイントに人間の監視と監督を組み込むことを指します。
エージェント型AIがリスク、曖昧さ、またはボトルネックに直面した際に、人間がレビュー、承認、およびガイダンスを提供することで、組織はより安全で信頼性が高く、一貫性のある成果を達成できます。
自動運転において必要に応じて人間が運転操作に介入するように、AIによる自動化においても状況に応じて人間が判断に介入できるようにする考え方です。
OICにおけるエージェント型AIのためのHITL
OICにおけるHITLは、エージェント型AIによる自動化ソリューションにおいて、人間の承認、フィードバック、および監視を得るための承認オーケストレーションツールとして設計されています。つまり、重要な意思決定ポイントに人間を関与させることで、エージェント型AIをサポートします。
一般的な使用例は以下のとおりです。
- AIエージェントが高額な発注書を作成するなど重要な行動を起こす前に、人間がその行動を審査・承認し、監視と正確性を確保します。
- AIエージェントが次のステップについて確信が持てない場合、プロセスを停止する代わりに、人間に助けを求めることができます。
- AIエージェントが使用するツールに不具合が発生するなど、エラーが発生した場合、人間が介入してフィードバックを提供し、問題解決を支援することで、処理を継続させることができます。
OICのHITLは以下の機能を提供します。
-
モデルワークフロー
- 特定のタスク(レビューや承認など)を指定されたユーザーに割り当てることで、承認ワークフローをモデル化します。
- 段階別承認(多段承認)や並列承認(パラレル承認)にも対応します。
-
デザインフォーム
- 割り当てられたユーザーが、それぞれのタスク内で必要な操作を実行するためにアクセスできる、ユーザーフレンドリーな入力フォームをデザインできます。
この記事で実施すること
前回の記事で作成した経費承認のAIエージェントにHITLを組み込みます。前回は50米ドルを超える経費をAIエージェントが自動的に却下していましたが、今回は自動却下する代わりにHITLを呼び出し、人による承認・却下の結果をAIエージェントに返すように変更します。
具体的には、HITLのツールを作成し、その上で、AIエージェント構成時のガイドラインを以下のように変更します(3行目のみを変更します)。
1. The user submits a request for approval of expense claims.
2. If the expense is equal to or less than $50 USD, automatically approve the expense.
3. If the expense is more than $50 USD, reject the expense.
1. The user submits a request for approval of expense claims.
2. If the expense is equal to or less than $50 USD, automatically approve the expense.
3. If the expense is more than $50 USD, initiate a human approval process and return the result to the user.
作業ステップ
1. HITLワークフローを作成する
2. AIエージェントを作成する
3. AIエージェントを実行する
1. HITLワークフローを作成する
HITLワークフローはスクラッチでゼロから作成することもできますが、今回はレシピ(Recipe) を利用してHITLワークフローを作成します。
レシピにはエージェント型AIツールとして利用可能な3つのHITLワークフローが定義されています。今回は一番シンプルなHITL - Simple Approval Workflowを利用します。
1.1 HITLワークフローの作成
-
OICインスタンスを開き、前提条件のチュートリアルで作成したプロジェクト(ここでは
Simple Expense Approval Project)を開きます。 -
左ナビゲーションのAIエージェントをクリックします。
-
タイプでレシピを選択します。 -
Recipe TypeでHITL - Simple Approval Workflowを選択します。 -
ツールの詳細ページが開きます。
パラメータ構成→approverのデフォルトに、承認者ユーザーのメールアドレス(ここではOICデザインランタイムを利用して、HITLワークフローを作成しているユーザーのメールアドレス)を入力します。 -
ツールセクションにHITL - Simple Approval Workflowが作成されている(=ツールとして登録されている)ことを確認します。

1.2 HITLワークフローを起動する統合の確認
- 左ナビゲーションの統合をクリックします。
-
統合セクションに、新しい統合HITL - Single Approverが作成されていることを確認します。 -
HITL - Single Approverをクリックします。
- 統合キャンバスが開きます。RESTコネクタによるトリガーとヒューマン・イン・ザ・ループのアクションが定義されていることを確認します。
-
ヒューマン・イン・ザ・ループのメニューをクリックし、表示を選択します。
-
ヒューマン・イン・ザ・ループアクションの構成を確認します。Configurationの表示には、HITLSingleApproverWorkflowのStartEventが呼び出し先として定義されていることを確認します。
- 閉じるをクリックします。
- 左上の戻る(
<)アイコンをクリックします。
1.3 HITLワークフローの確認
-
左ナビゲーションのヒューマン・イン・ザ・ループをクリックします。
-
作成されたワークフローを確認できます。1段階承認のシンプルなワークフローが定義されていることが確認できます。右下のメニュー
...アイコンをクリックすると、各イベントやタスクの構成やデータ・マッピングを確認できます。今回は変更せず、デフォルトの設定のままとします。


-
左上の戻る(
<)アイコンをクリックします。 -
作成されたフォームを確認(プレビュー)できます。上の
Requestは表示のみで、下のResponseは承認者が自然言語でフィードバックを入力するフィールドとして定義されていることが確認できます。また、画面左上のプロパティのメニューをクリックすると、フォームのプロパティなどを確認できます。今回は変更せず、デフォルトの設定のままとします。

-
左上の戻る(
<)アイコンをクリックします。
【コラム】Human in the LoopとProcess Automationの違い
Human in the Loop と従来のProcess Automationはいずれも人間が関与しますが、その目的は根本的に異なります。
Process Automationは、従来型の業務自動化のために構築されています。あらかじめ設計された固定的なパスに従い、人間によるタスクは設計時点で明示的にプロセスに組み込まれます。人間の関与は予測可能で、順序も明確であり、ワークフローが、明確に定義された経路に沿ってシステムと人間の両方のアクションをオーケストレーションします。Oracle Integrationでは、Process Automationはエージェント型AIとは意図的に分離されています。
HITLは、これとはまったく異なる仕組みです。HITLが存在するのは、AIエージェントが自律的に動作し、複数のステップにわたって目標を追求し、自ら意思決定を行い、設計時点では誰も予想していなかった状況に遭遇する可能性があるためです。この文脈における人間の関与は、従来のProcess Automationのように、業務プロセス全体の固定的な経路として事前にモデル化されるものではありません。重要なアクションの前にあらかじめ定義されたチェックポイントで動的にトリガーされる場合もあれば、エージェント自身がガイダンスを必要としていると認識したときにトリガーされる場合もあります。
そして、ワークフローで人間がタスクを完了する場合とは異なり、エージェント型のコンテキストにおける人間の入力は、エージェントが次に何をするかを能動的に形作ります。 つまり、アプローチを方向転換したり、曖昧さを解消したり、誤解が積み重なる前にそれを修正したりします。
一部引用して翻訳)Introducing Human in the Loop in Oracle Integration
2. AIエージェントを作成する
前提条件のチュートリアルで作成したAIエージェントを元に、新しいAIエージェントを作成します。
-
OICインスタンスを開き、前提条件のチュートリアルで作成したプロジェクト(ここでは
Simple Expense Approval Project)を開きます。 -
左ナビゲーションのAIエージェントをクリックします。
-
エージェントセクションの以前のチュートリアルで作成したエージェント(ここではSimple Expense Approval Agent)のメニューをクリックし、クローンを選択します。

-
名前を変更します。ここではSimple Expense Approval Agent HITLと入力します。その他のパラメータはそのままとします。 -
AIエージェントの詳細画面が開きます。
ガイドラインに入力済のプロンプトをすべて削除し、以下のガイドラインを入力します。変更後のガイドライン(3.のみを変更)1. The user submits a request for approval of expense claims. 2. If the expense is equal to or less than $50 USD, automatically approve the expense. 3. If the expense is more than $50 USD, initiate a human approval process and return the result to the user. -
保存をクリックします。
-
Simple Expense Approval Projectワークスペースの右上のリフレッシュアイコンをクリックします。Simple Expense Approval Agent HITLがアクティブ状態であることを確認します。

3. AIエージェントを実行する
作成したAIエージェントSimple Expense Approval Agent HITLを実行し、テストします。
3.1 HITL(人により承認された場合)
-
OICインスタンスを開き、Simple Expense Approval Projectのワークスペースを開きます。
-
左ナビゲーションのAIエージェントをクリックします。
-
エージェントセクションのSimple Expense Approval Agent HITLのメニューをクリックし、実行を選択します。

-
エージェントのテストページが開きます。プロンプトに I bought a desk chair for $200 and would like to claim it as an expense. と入力します。この場合、金額が$50を超えるので人による承認プロセス(=HITL) が実行されます。
-
しばらくすると、AIエージェントが実行されます。リフレッシュアイコンをクリックすると、AIエージェントの実行状況を確認できます。
-
HITLのツールが実行され、AIエージェントの処理が一時停止し、人による承認を待機します。
-
監査タブをクリックします。
-
左ナビゲーションのヒューマン・イン・ザ・ループをクリックします。
-
アクティビティ・ストリームが表示されます。ヒューマン・タスク・Review Requestが In progress で人による承認待ちになっていることを確認します。 -
Requestに経費申請の概要(ここではExpense claim for a desk chair costing $200 USD.)が表示されていることを確認します。 -
Responseは承認者が自然言語でフィードバックを入力するフィールドです。ここでは承認を示す回答としてApprovedと入力します。 -
確認 タスクでSUBMITアクションが正常に実行されましたのダイアログが表示されるのを確認し、ワークスペースのブラウザ・タブを閉じます。 -
監査→ヒューマン・イン・ザ・ループに戻り、アクティビティ・ストリーム内のリフレッシュアイコンをクリックします。 -
ヒューマン・タスク・Review Requestが Complete で人による承認待ちが完了していることを確認します。また、End eventの表示アイコンをクリックすると、ヒューマン・イン・ザ・ループの出力結果(ここではapproval_outcomeにApprovedが設定)を確認できます。 -
設計タブをクリックし、左ナビゲーションのAIエージェントをクリックします。
-
先ほど実行したテスト(ここでは
Agent test1)を選択します。 -
AIエージェント
Simple Expense Approval Agent HITLの実行結果を確認できます。Toolの実行結果が返され、AIエージェントからユーザーに対して承認のメッセージ(ここではYour expense claim for the $200 desk chair has been approved by the reviewer)が返されていることを確認します。

3.2 HITL(人により却下された場合)
-
3.1と同じ手順を繰り返し、AIエージェントをもう1度実行します。今回は I bought an office chair for $500 and would like to claim it as an expense. と入力します。今回も金額が$50を超えるので人による承認プロセス(=HITL) が実行されます。
-
リフレッシュ アイコンをクリックします。HITLのツールが実行され、AIエージェントの処理が一時停止し、人による承認を待機します。

-
左上の戻る(
<)アイコンをクリックします。 -
監査タブを選択し、左ナビゲーションのヒューマン・イン・ザ・ループをクリックします。
-
実行中のインスタンスが表示されます。インスタンスの監査の表示アイコンをクリックします。
-
アクティビティ・ストリームが表示されます。
ヒューマン・タスク・Review Requestが In progress で人による承認待ちになっていることを確認します。 -
マイ・タスクに、先ほどのタスクが表示されます。タスクをクリックします。 -
Requestに経費申請の内容(ここではExpense claim for an office chair purchased for $500 USD.)が表示されていることを確認します。 -
ワークスペースのブラウザ・タブを閉じます。
-
監査→ヒューマン・イン・ザ・ループに戻り、アクティビティ・ストリーム内のリフレッシュアイコンをクリックします。 -
ヒューマン・タスク・Review Requestが Complete で人による承認待ちが完了していることを確認します。 -
設計タブをクリックし、左ナビゲーションのAIエージェントをクリックします。 -
Simple Expense Approval Agent HITLのメニューをクリックし、実行を選択します。 -
先ほど実行したテスト(ここでは
Agent test2)を選択します。 -
AIエージェント
Simple Expense Approval Agent HITLの実行結果を確認できます。Toolの実行結果が返され、AIエージェントからユーザーに対して却下のメッセージ(ここではYour expense claim for the $500 office chair has been reviewed and rejected by the approver)が返されていることを確認します。

おわりに
この記事では、Oracle IntegrationのHuman in the Loop(HITL)を構成し、AIエージェントの処理に人による承認を組み込む方法をステップ・バイ・ステップで紹介しました。
今回は、50米ドルを超える経費申請に対してHITLを呼び出し、人による承認・却下の結果をAIエージェントに返すシンプルな例を試しました。このようにHITLを利用することで、AIエージェントによる自律的な処理を活かしながら、重要な意思決定には人間の判断を組み込むことができます。





























