はじめに
Oracle Integration(OIC) は、Oracle Cloud Infrastructure(OCI)が提供するiPaaS(Integration Platform as a Service)です。Oracle SaaSやOCIサービス、オンプレミスシステムなどを連携し、業務プロセスの自動化やAPI連携を実現します。
これまでの記事では、Oracle IntegrationのAIエージェントを利用して、経費申請を自動承認するチュートリアルを紹介しました。
第1弾では、50米ドル以下の経費申請を自動承認するAIエージェントを作成しました。
また、Human in the Loop(HITL)を紹介した記事では、50米ドルを超える経費申請に対して人による承認を組み込みました。
これまでのチュートリアルでは、
- 50米ドル以下 → 自動承認
- 50米ドルを超える → Human in the Loop(HITL)による人の承認
という業務ルールをAIエージェントのガイドライン(=プロンプト)に記述し、AIエージェント自身が処理方法を判断していました。
この記事では、この業務ルールによる判断をAIエージェントから切り離し、Oracle IntegrationのDecision Modelを利用して判定するように変更します。
AIエージェントはDecision Modelの判定結果を基に、自動承認またはHuman in the Loop(HITL)のツールを選択して実行します。
前提条件
以下のQiita記事で紹介したチュートリアルを実施済みであること。
チュートリアル全体像
チュートリアルの全体像は以下のとおりです。
この記事は、2026年9月28日時点のOracle Integration環境(バージョン26.10)で作成しました。記事内の画面ショットについては、現在のユーザーインタフェースの画面と異なっている場合があります。
Oracle IntegrationのDecision Modelについて
Decision Modelとは
Oracle IntegrationのDecision Modelでは、業務ルールに基づく意思決定ロジックをモデル化できます。詳細は以下ドキュメントをあわせてご確認ください。
例えば、経費金額や経費種別、申請者の所属などの入力値を基に、あらかじめ定義されたルールを評価し、その結果を返すことができます。
今回のチュートリアルでは、経費金額を入力として受け取り、
- 50米ドル以下の場合は自動承認
- 50米ドルを超える場合は人による承認
というシンプルな業務ルールをDecision Modelとして定義します。
AIエージェントとDecision Modelの役割
HITLのチュートリアルでは、AIエージェントのガイドラインに以下のような業務ルールを記述していました。
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.
この場合、「50米ドル以下かどうか」という業務ルールの判定もAIエージェントが行います。今回は、この判断を Decision Model に切り出します。それぞれの役割は以下のとおりです。
| コンポーネント | 役割 |
|---|---|
| AIエージェント | ユーザーの依頼を理解し、必要なツールを呼び出す |
| Decision Model | 業務ルールに基づいて経費申請の処理方法を判定する |
| Decision Tool | Decision Modelを呼び出し、判定結果をAIエージェントに返す |
| Auto Approve Tool | 経費申請を自動承認する |
| HITL Tool | 人による承認・却下を実行する |
このように、AIエージェントにすべての判断を任せるのではなく、明確な業務ルールに基づく判断をDecision Modelとして分離します。
この記事で実施すること
今回作成するDecision Modelでは、以下のルールを定義します。
| 経費金額 | 処理方法 | 承認者 |
|---|---|---|
| 50米ドル以下 | AUTO_APPROVE |
- |
| 50米ドルを超える | HUMAN_APPROVAL |
<承認者のメールアドレス> |
50米ドル以下の場合は、Decision ModelからAUTO_APPROVEを返します。
50米ドルを超える場合は、HUMAN_APPROVALとHITLで利用する承認者を返します。
AIエージェントはこの結果に従って、
-
AUTO_APPROVE→Auto Approve Expense Report(自動承認の実行) -
HUMAN_APPROVAL→HITL - Simple Approval Workflow(人による承認・却下の実行)
を実行します。
作業ステップ
1. Decision Modelを作成する
2. Decision Modelを呼び出す統合を作成する
3. 統合をAIエージェントのツールとして登録する
4. AIエージェントを作成する
5. AIエージェントを実行する
1. Decision Modelを作成する
1.1 Decision Modelの作成
前提条件のチュートリアルで利用したSimple Expense Approval ProjectにDecision Modelを追加します。
-
OICインスタンスを開きます。
-
前提条件のチュートリアルで作成したプロジェクト(ここでは
Simple Expense Approval Project)を開きます。 -
左ナビゲーションのデシジョンをクリックします。
-
名前を入力します。ここでは、Expense Approval Decision とします。
1.2 入力データの定義
Decision Modelが経費金額を受け取れるように、入力データを定義します。
今回の入力値は以下とします。
| 名前 | 型 | 説明 |
|---|---|---|
AmountClaimed |
Number | 経費申請の金額 |
前回の記事ではAmountClaimedを文字列として扱いましたが、今回は金額の比較を行うため、数値として定義します。
- Decision Designer中央の inputData1 をクリックします。右パネルに
入力プロパティが表示されます。 - 入力プロパティを以下の通りに変更します。なお、変更内容は自動保存されます。
1.3 Decisionの作成
経費申請の処理方法を判定するDecisionを作成します。今回は、DecisionのロジックとしてDecision Table を使用します。Decision Tableの詳細は、以下ドキュメントもあわせてご確認ください。
今回のDecisionでは、経費金額AmountClaimedを基に、
AUTO_APPROVEHUMAN_APPROVAL
のいずれかを返します。
また、HUMAN_APPROVALの場合は、承認者の情報も返します。
-
Decision Designerの何もないところをクリックすると、右パネルに
パレット(Palette)が表示されます。

-
名前にExpense Approval Decision Tableと入力します。また、論理にDecision Tableが選択されていることを確認します。

-
AmountClaimedをクリックすると、矢印アイコンが表示されます。
-
AmountClaimedの矢印アイコンを選択し、前の手順で作成したExpense Approval Decision Tableにドラッグ&ドロップ操作で接続します。

-
Expense Approval Decision Tableをクリックします。右パネルに
デシジョンのプロパティが表示されます。
1.4 Decision Tableの編集
Decision Tableに以下のルールを定義します。
| AmountClaimed | Decision | Approver |
|---|---|---|
<= 50 |
AUTO_APPROVE |
n/a |
> 50 |
HUMAN_APPROVAL |
<承認者のメールアドレス> |
Decision=AUTO_APPROVEの場合は承認者を使用しないため、Approverにはn/aを設定します。
今回の判定条件は非常にシンプルですが、実際の業務では、経費種別、申請者の所属、役職など複数の条件を組み合わせたルールに拡張できます。
-
デシジョン・ルールを以下の通りに入力します。入力後は右上の
×をクリックします 。 -
もう1行追加します。
<=50を入力した行を選択したまま、後に行を追加アイコンをクリックします。<=50の行の下に、1行追加されます。

-
先ほどと同じ手順でデシジョン・ルールを追加します。今回は以下の通りに入力します。入力後は右上の
×をクリックします。 -
<=50の行のDecisionとApproverに以下の通り入力します。- Decision: AUTO_APPROVE
- Approver: n/a
-
>50の行のDecisionとApproverに以下の通り入力します。- Decision: HUMAN_APPROVAL
- Approver: (HITLによる承認を実行するユーザーのメールアドレス)
1.5 Decision Modelのテスト
作成したDecision Modelを単体でテストします。今回は、50米ドルと51米ドルを入力することで、今回定義したルールの境界値を確認します。
1.6 Decision Serviceの作成
作成したDecision(Expense Approval Decision)を外部から利用できるように、Decision Serviceを作成します。
-
追加されたExpenseApprovalDecisionServiceを展開します。出力デシジョンと入力デシジョンを以下の通りに設定(選択)します。
1.7 Decision Modelのアクティブ化
テストが完了したDecision Modelをアクティブ化します。
-
Expense Approval Decisionの左隣の 戻るアイコン(<) をクリックします。
-
Expense Approval DecisionがConfiguredであることを確認し、メニューアイコンをクリックし、Activateを選択します。
- しばらくすると、
Expense Approval DecisionがActiveに遷移することを確認します。
2. Decision Modelを呼び出す統合を作成する
AIエージェントから作成したDecision Model(Expense Approval Decision)を利用するため、Decision Modelを呼び出す統合を作成します。
2.1 統合の作成
統合を新規作成します。
- 左ナビゲーションの統合をクリックします。
-
統合セクションの 追加アイコン(+) をクリックします。
-
統合の作成→アプリケーションを選択します。
-
名前を入力します。ここではDecision - Evaluate Expense Approvalと入力します。 -
作成をクリックします。
- 統合キャンバスが開きます。
2.2 REST Triggerの構成
AIエージェントから経費金額を受け取るためのリクエストと、処理方式および承認者を返すレスポンスを定義します。
-
エンドポイントにどのような名前をつけますか。にEvaluateExpenseApprovalと入力し、続行をクリックします。

-
REST Configurationを構成します。以下の通りに入力し、続行をクリックします。 -
リクエスト・ペイロード書式の選択でJSONサンプルを選択します。続けて、
--OR-- enter sample JSONの下の <<< inline >>> をクリックします。

-
Enter Sample JSONに以下の通りに入力し、続行をクリックします。{ "AmountClaimed": 200 } -
続行をクリックします。
-
レスポンス・ペイロード書式の選択でJSONサンプルを選択し、
--OR-- enter sample JSONの下の <<< inline >>> をクリックします。

-
Enter Sample JSON に以下の通りに入力し、続行をクリックします
{ "Decision": "HUMAN_APPROVAL", "Approver": "user@example.com" } -
続行をクリックします。
-
終了をクリックします。
2.3 Decision Actionの追加とマッピング
作成中の統合にデシジョン・アクションを追加し、前の手順で作成したDecision Service(ExpenseApprovalDecisionService)を選択します。
-
Decision Application NameでExpenseApprovalDecisionを選択します。続けて、Active ServiceでExpenseApprovalDecisionServiceを選択します。最後に続行をクリックします。

-
終了をクリックします。
-
統合キャンバスに
callDecisionのマップとアクションが追加されます。 -
Sources側のRequest Wrapperを開きます。 -
Target側のRequest Wrapperを開きます。 -
Sources側のRequest Wrapper→Amount Claimedと、Target側のRequest Wrapper→Amount Claimedをドラッグ&ドロップでマッピングします。

2.4 Decision Modelのレスポンスとマッピング
Decision Modelの結果を統合のレスポンスとして返します。
-
デシジョン・サービス(callDecision)の下のEvaluateExpenseApprovalのメニューをクリックし、編集をクリックします。

-
Sources側のcallDecision Response→Post Decision Action Response→Interpretationを開きます。 -
Target側のResponse Wrapperを開きます。 -
Sources側のcallDecision Response→Post Decision Action Response→InterpretationのDecisionおよびApproverと、Target側のResponse WrapperのDecisionおよびApproverを、それぞれドラッグ&ドロップでマッピングします。

-
検証をクリックします。正常に検証されたことを確認し、左上の戻るアイコン(<) をクリックします。
-
統合キャンバスが開きます。右上の保存をクリックします。
-
キャンバス右上の ビジネス識別子(I) をクリックします。
-
入力ソースのrequest-wrapperを開き、AmountClaimedをプライマリ・ビジネス識別子のビジネス識別子フィールドにドラッグ&ドロップでマッピングします。

-
保存をクリックします。
2.5 統合のテスト
統合をテストし、Decision Modelの結果が正しく返されることを確認します。
-
しばらく待つと、統合がアクティブ化し、テストが実行できるようになります。
-
再実行をクリックします、今度は
AmountClaimedに51を設定し、実行をクリックします。 -
レスポンスを確認します。
DecisionはHUMAN_APPROVAL、Approverは承認者として指定したユーザーのメールアドレスであることを確認します。

-
テストの終了をクリックします。しばらくすると、統合が非アクティブ化されます。
-
Decision - Evaluate Expense Approvalの左隣の 戻るアイコン(<) をクリックします。 -
作成した統合をアクティベートします。統合セクション内の
Decision - Evaluate Expense Approvalのメニューをクリックし、アクティブ化をクリックします。

3. 統合をAIエージェントのツールとして登録する
作成した統合Decision - Evaluate Expense ApprovalをAIエージェントから利用できる ツール(Tools) として登録します。
なお、ツールの説明には、AIエージェントがツールの用途を理解できるように、役割を明確に記述します。今回は以下の説明を利用します。
Determines how an expense claim should be processed based on the expense amount. Returns AUTO_APPROVE or HUMAN_APPROVAL.
When human approval is required, also returns the approver.
-
左ナビゲーションのAIエージェントをクリックします。
-
ツールの作成で、以下を選択(入力)します。 -
作成をクリックします。
-
左上の 戻るアイコン(<) をクリックします。
4. AIエージェントを作成する
前提条件のチュートリアルで作成したAIエージェントを基に、新しいAIエージェントを作成します。
ここでは、Simple Expense Approval Agent Decisionとします。
今回のAIエージェントでは、以下の3つのツールを利用します。
Auto Approve Expense ReportHITL - Simple Approval WorkflowDecision - Evaluate Expense Approval
また、以前作成したAIエージェントには、「50米ドル以下なら自動承認」といった具体的な業務ルールをAIエージェントのガイドラインに記述していました。
今回は、具体的な金額条件をDecision Modelに移し、AIエージェントはDecision Modelから返された結果に従って次のツールを選択するようにします。
4.1 AIエージェントの追加
-
AIエージェントセクションのSimple Expense Approval Agent HITLのメニューをクリックし、クローンを選択します。

-
名前をSimple Expense Approval Agent Decisionに変更します。その他は設定された内容そのままとします。 -
ガイドラインを変更します。元々入力されていたガイドラインをすべて削除し、以下の変更後のガイドラインをコピー&ペーストで入力します。変更後のガイドライン1. The user submits a request for approval of an expense claim. 2. First, use the expense approval decision tool to determine how the expense claim should be processed. 3. If the decision is AUTO_APPROVE, use the automatic approval tool to approve the expense claim. 4. If the decision is HUMAN_APPROVAL, use the human approval tool and specify the approver returned by the decision tool. 5. Return the final result to the user. -
左上の 戻るアイコン(<) をクリックします。
4.2 AIエージェントのアクティブ化
AIエージェントをアクティブ化します。
-
エージェントセクションのSimple Expense Approval Agent Decisionのメニューをクリックし、アクティブ化を選択します。

-
トレース・レベルを選択し、アクティブ化をクリックします。
5. AIエージェントを実行する
作成したSimple Expense Approval Agent Decisionを実行してテストします。
5.1 50米ドル以下の場合
-
エージェントセクションのSimple Expense Approval Agent Decisionのメニューをクリックし、実行を選択します。 -
以下のプロンプトを入力し、実行します
プロンプト(50米ドル以下)I bought a desk chair for $45 and would like to claim it as an expense. -
しばらくすると、実行結果が表示されます。Decision Toolから
AUTO_APPROVEが返され、その結果に従ってAuto Approve Expense Reportが実行されることを確認します。

5.2 50米ドルを超える場合
-
以下のプロンプトを入力し、実行します。
プロンプト(50米ドルを超える場合)I bought a desk chair for $200 and would like to claim it as an expense. -
しばらくすると、実行結果が表示されます。Decision Toolから
HUMAN_APPROVALと承認者が返され、その結果に従ってHITLのツールが実行されることを確認します。

-
左上の 戻るアイコン(<) をクリックし、エージェントのテスト画面から抜けます。
-
タスクの内容を確認し、
Responseに自然言語でフィードバックを入力します。ここではApprovedと入力し、右上のSUBMITをクリックします。

HITL実行時の「人による承認・却下」の操作は、以前のチュートリアルを参考にしてください
3.1 HITL(人により承認された場合)
3.2 HITL(人により却下された場合)
Decision Modelを利用するメリット
今回のチュートリアルでは、非常にシンプルな業務ルールを利用しました。
この程度の条件であれば、AIエージェントのガイドラインに直接記述することもできます。
しかし、業務ルールをDecision Modelとして分離することで、AIエージェントと業務ルールの役割を分けることができます。
例えば、業務ルールが以下のように変更された場合を考えます。
- 変更前:
- 50米ドル以下 → AUTO_APPROVE
- 50米ドルを超える → HUMAN_APPROVAL
-
変更後:
- 100米ドル以下 → AUTO_APPROVE
- 100米ドルを超える → HUMAN_APPROVAL
業務ルールをDecision Modelとして管理していれば、AIエージェントのガイドラインに具体的な金額条件を持たせる必要がありません。
また、実際の業務では、
- 経費金額
- 経費種別
- 申請者の所属
- 申請者の役職
- 承認者
など複数の条件を組み合わせたルールに拡張できます。
AIエージェントにはユーザーの依頼の理解やツールの選択を任せ、明確な業務ルールに基づく判断はDecision Modelに任せることで、それぞれの役割を分離できます。
また、金額による閾値判定のように結果が明確に決まる業務ルールをDecision Modelに持たせることで、LLMによる自然言語の解釈に依存せず、定義したルールに基づいて一貫した判定を行えます。
おわりに
このチュートリアルでは、Oracle IntegrationのDecision Modelを作成し、業務ルールによる判断をAIエージェントから利用する一連の流れを紹介しました。
今回は、「50米ドル以下なら自動承認、50米ドルを超える場合は人による承認」というシンプルなルールをDecision Modelとして定義しました。
これまでAIエージェントのガイドラインに記述していた具体的な業務ルールをDecision Modelに分離することで、AIエージェントはDecision Modelの判定結果に従って、自動承認またはHuman in the Loop(HITL)のツールを選択して実行できるようになります。
実際の業務では、経費種別、申請者の所属や役職など複数の条件を組み合わせることで、より複雑な業務ルールをDecision Modelとして管理できます。
Oracle Integration関連リンク























































