機械翻訳について

エージェント・チームがウィジェットを生成できるようにする

ワークフローでは、LLMノードとエージェント・ノードがウィジェットを生成できます。 初期グラフィックおよびインサイトの表示は、patternIdおよびウィジェット固有のconfigを含むエージェント出力ブロックによって生成されます。 アプリケーション・ビルダーでは、実行時エージェントに、生成するウィジェット出力を指示します。

LLMまたはエージェント・ノードが生成できるウィジェットのタイプは次のとおりです:

ウィジェットのタイプ 詳細
カード
  • これを使用する対象:単一のアラート、更新、またはステータスカード
  • 必須: subject
  • 共通フィールド: summarytimestampbadgeTextvariant
  • アクション: linkおよびオプションのadditionalLink(それぞれtextおよびactionを使用)
  • バリアント値: errorwarninginfo、または中立の場合は省略

ora.Invoke(...)などのコマンドを使用します。

<oraInfoDisplay key="maintenance-card">
{
  "patternId": "cardWidget",
  "config": {
    "subject": "Maintenance Complete",
    "summary": "Scheduled database maintenance finished successfully.",
    "timestamp": "1 hour ago",
    "badgeText": "Info",
    "variant": "info",
    "link": {
      "text": "View Details",
      "action": "ora.Invoke(\"viewMaintenanceSummary\")"
    }
  }
}
</oraInfoDisplay>
メッセージ・リスト
  • 次の目的で使用:アラート、アクティビティ・フィードおよびハイライト・アイテムの小規模なコレクション
  • 必須:アイテムごとにtitle以上のitems[]
  • アイテム・フィールド: subtitlesummarystatusbadgeTextprioritytimestampimage
  • 対話性:項目actionおよび項目additionalAction (text + command)

実行時の動作が考慮されます。additionalActionは、ウィジェットがフォーカスされたパネルにある場合にのみ表示されます。 また、ランタイムは、アラート、警告およびメディアに加えて、優先度として成功をサポートします。

<oraInfoDisplay key="system-alerts">
{
  "patternId": "messageListWidget",
  "config": {
    "subtitle": "Real-time metrics",
    "items": [
      {
        "title": "Memory Usage Spike Detected",
        "subtitle": "82% confidence",
        "summary": "Memory consumption increased by 40% in the last 5 minutes",
        "status": "Investigating root cause",
        "badgeText": "Medium",
        "priority": "medium",
        "timestamp": "3 min ago",
        "action": "ora.Invoke(\"openMemoryIncident\", { \"metric\": \"memory\" })",
        "additionalAction": {
          "text": "View Metrics",
          "command": "ora.Invoke(\"viewMetrics\", { \"metric\": \"memory\" })"
        }
      },
      {
        "title": "Network Latency Increase",
        "summary": "Average response time increased from 120ms to 180ms.",
        "status": "Under investigation",
        "badgeText": "Warning",
        "priority": "warning",
        "timestamp": "16 min ago"
      }
    ]
  }
}
</oraInfoDisplay>
リストの変更
  • これを使用する対象:現在と過去のメトリックの比較
  • 必須: displayTypeitems
  • displayType: percentagerawまたはcurrency
  • items[]: titlecurrentValuepreviousValue
  • オプション: subtitlemessages

値は数値のままにする必要があります。 フォーマットはdisplayTypeから行われ、数字にパーセント記号や通貨記号を埋め込むことからではありません。

<oraInfoDisplay key="campaign-change-list">
{
  "patternId": "changeListWidget",
  "config": {
    "subtitle": "Campaign performance comparison",
    "displayType": "percentage",
    "items": [
      { "title": "Email Open Rate", "currentValue": 28.2, "previousValue": 24.5 },
      { "title": "Click-through Rate", "currentValue": 4.6, "previousValue": 3.8 },
      { "title": "Conversion Rate", "currentValue": 1.9, "previousValue": 2.1 }
    ],
    "messages": [
      "Conversion rate drop may indicate landing page issues"
    ]
  }
}
</oraInfoDisplay>
チャート
  • 次の用途に使用:トレンド、比較または比率
  • 必須: typedata
  • タイプ: linebarまたはpie
  • data.labels[]: x軸ラベルまたはカテゴリ
  • data.datasets[]:各データセットには、labelおよび数値data[]が必要です
  • オプション: insights[]
<oraInfoDisplay key="sales-trend-chart">
{
  "patternId": "chartWidget",
  "config": {
    "type": "line",
    "data": {
      "labels": ["January", "February", "March", "April", "May"],
      "datasets": [
        {
          "label": "Sales Revenue",
          "data": [10000, 25000, 15000, 40000, 30000]
        }
      ]
    },
    "insights": [
      "Revenue peaked in April",
      "Steady growth trend overall"
    ]
  }
}
</oraInfoDisplay>
レコード
  • 次の目的で使用:フォームおよび読取り専用ディテール・ビュー
  • 必須: idfields[]
  • オプション: readOnly
  • フィールド・タイプ: texttextareanumberdateselectsystem
  • フィールド・フィールド: idtypevalue、および該当する場合はlabelおよびoptions

編集可能モードでは、ランタイムはora.Agent(<oraFormSubmit ...>)コマンドを使用してフォームを自動的に送信します。 ウィジェット自体に個別の送信コマンドは構成しません。

<oraInfoDisplay key="employee-form">
{
  "patternId": "recordWidget",
  "config": {
    "id": "employee_form",
    "readOnly": false,
    "fields": [
      {
        "id": "full_name",
        "type": "text",
        "label": "Full Name",
        "value": "John Doe"
      },
      {
        "id": "employee_id",
        "type": "number",
        "label": "Employee ID",
        "value": 12345
      },
      {
        "id": "department",
        "type": "select",
        "label": "Department",
        "value": "engineering",
        "options": [
          { "value": "engineering", "label": "Engineering" },
          { "value": "sales", "label": "Sales" }
        ]
      },
      {
        "id": "session_context",
        "type": "system",
        "value": { "conversation_id": "abc123" }
      }
    ]
  }
}
</oraInfoDisplay>
複数レコード
  • 次の目的で使用:表形式のレコード・リスト
  • 必須: cols[]およびrows[]
  • 列形式:プレーン文字列、またはlabelおよびオプションのshowOnExpandを持つオブジェクト
  • 行セル:プレーン文字列、またはtypetextおよびpriorityを含むバッジ・オブジェクト
  • オプションの行アクション: actionボタンおよび最初の列のdrillDownAction
  • オプション:表コンテキストおよびアクセシビリティのsubtitle

showOnExpand列は、ウィジェットにフォーカスがある場合にのみ表示されます。 これは、コンパクト・モードで非表示にする必要があるセカンダリ列に役立ちます。

<oraInfoDisplay key="pending-approvals-table">
{
  "patternId": "multiRecordWidget",
  "config": {
    "subtitle": "Pending approvals",
    "cols": ["Request ID", "Type", "Status"],
    "rows": [
      {
        "cells": [
          "REQ-101",
          "Budget",
          { "type": "badge", "text": "PENDING", "priority": "warning" }
        ],
        "action": {
          "text": "Review",
          "command": "ora.Invoke(\"reviewRequest\", { \"id\": \"REQ-101\" })"
        },
        "drillDownAction": "ora.Invoke(\"openRequest\", { \"id\": \"REQ-101\" })"
      },
      {
        "cells": [
          "REQ-102",
          "Travel",
          { "type": "badge", "text": "PENDING", "priority": "warning" }
        ],
        "action": {
          "text": "Review",
          "command": "ora.Invoke(\"reviewRequest\", { \"id\": \"REQ-102\" })"
        }
      }
    ]
  }
}
</oraInfoDisplay>
サンキー
  • これを使用:ステージまたは状態間のフロー
  • 必須: nodes[]edges[]
  • nodes[]: idname
  • edges[]: sourcetargetvalue

ノードIDは数値で、エッジはそれらのIDを指します。 値を正に保ち、フローを追従しやすくします。

<oraInfoDisplay key="support-flow-sankey">
{
  "patternId": "sankeyWidget",
  "config": {
    "nodes": [
      { "id": 0, "name": "Web Visitor" },
      { "id": 1, "name": "Web Chat" },
      { "id": 2, "name": "AI Chat Bot" },
      { "id": 3, "name": "Resolved by Bot" },
      { "id": 4, "name": "Transfer to Human" },
      { "id": 5, "name": "Resolved by Human" }
    ],
    "edges": [
      { "source": 0, "target": 1, "value": 1000 },
      { "source": 1, "target": 2, "value": 1000 },
      { "source": 2, "target": 3, "value": 700 },
      { "source": 2, "target": 4, "value": 300 },
      { "source": 4, "target": 5, "value": 300 }
    ]
  }
}
</oraInfoDisplay>

インタラクティブなウィジェット

対話型ウィジェットの場合は、ora.Invoke("actionCode", payload)を使用します。 これはアプリケーション定義のアクション・パスです。

エージェント・チームの有効化

エージェント・チームがウィジェットを生成できるようにするには、次のステップを実行します。

  1. AI Agent Studioに移動し、ワークフローを編集します。
  2. ウィジェットを生成するLLMまたはエージェント・ノードに移動します。
  3. ノードを編集し、「アプリケーション・エクスペリエンス」タブを選択します。
  4. 必要に応じて、アクションおよびコミュニケーションのウィジェットを有効にするオプションを選択します。
  5. エージェント・チームが生成するウィジェットのタイプを選択します。