次の方法で共有


Copilot プロンプト ダイアログにエラーとメッセージを表示する

有効対象 パブリック プレビュー 一般提供
ユーザー向けで、自動的に有効化される 2024 年 10 月 1 日 2024 年 10 月 1 日

ビジネス バリュー

Copilot の使い方を学習しているユーザーは、多くの場合、AI 搭載アシスタントを最大限に活用するためにシンプルで効果的なフィードバック ループを必要とします。

プロンプト ダイアログを表示する Copilot 機能では、ダイアログ内にエラーとメッセージを直接表示できるようになりました。 プロンプト ダイアログは会話型のエクスペリエンスを意図していませんが、統合されたフィードバックにより、ユーザーは気を散らすことなくダイアログに集中できます。

機能の詳細

Copilot プロンプト ダイアログのコード ロジックによってスローされるエラーとメッセージは、別のポップアップ ダイアログではなく、ダイアログ内に直接表示されるようになりました。 この機能を有効にするために、現在行っているように適切なエラー処理と警告を作成すること以外に開発者が必要とする追加作業はありません。 従来の Dialog.Error()Dialog.Message()、および新しい ErrorInfo パターンの両方がサポートされています。 後者の場合、タイトルと説明の両方が表示されます。

コードが複数のメッセージをスローする場合、最新のメッセージのみが表示されますが、ユーザーには複数の問題があったことが通知されます。 また、これまでと同様に、エラーがスローされると後続のメッセージが抑制されます。 エラーまたはメッセージに改行が含まれている場合、ダイアログにレンダリングされるのではなく、無視されます。

例 1: プロンプト ダイアログの表示中に Message() によってスローされた複数のメッセージをレンダリングする

次のコード スニペットは、ユーザーがプロンプト ダイアログの生成ボタンを選択したときに、Message() を使用して複数のメッセージをスローする方法を示しています。

page 50110 PromptDialog
{
    PageType = PromptDialog;

    layout
    { ... }

    actions
    {
        area(SystemActions)
        {
            systemaction(Generate)
            {
                trigger OnAction()
                begin
                    Message('First message, which is not shown in the prompt dialog');
                    Message('Last message, which is shown in the prompt dialog');
                end;
            }
        }
    }
}

その結果、Copilot プロンプト ダイアログで生成アクションを呼び出すと、最後のメッセージが Copilot プロンプト ダイアログにインラインでレンダリングされ、さらにメッセージがあることが示されます。

プロンプト ダイアログでのメッセージのレンダリングの例

例 2: プロンプト ダイアログの表示中に Error() によってスローされたエラーをレンダリングする

ここでは、代わりに Error() をスローするように変更します。

page 50110 PromptDialog
{
    PageType = PromptDialog;

    layout
    { ... }

    actions
    {
        area(SystemActions)
        {
            systemaction(Generate)
            {
                trigger OnAction()
                begin
                    Error('This is an example of rendering an error that happens in the prompt dialog, e.g., during Generate');
                end;
            }
        }
    }
}

この場合、エラーはインラインでレンダリングされます。

プロンプト ダイアログでスローされたエラーのレンダリングの例

例 3: プロンプト ダイアログの表示中に ErrorInfo によってスローされたエラーをレンダリングする

最後の例は、最新の ErrorInfo タイプの使用方法を示しています。

page 50110 PromptDialog
{
    PageType = PromptDialog;

    layout
    { ... }

    actions
    {
        area(SystemActions)
        {
            systemaction(Generate)
            {
                trigger OnAction()
                var
                    ErrorInfo: ErrorInfo;
                begin
                    ErrorInfo.Title('Error info title');
                    ErrorInfo.Message('Error message');
                    ErrorInfo.DetailedMessage('Detailed error');

                    Error(ErrorInfo);
                end;
            }
        }
    }
}

この場合、ErrorInfo メッセージ部分はインラインでレンダリングされ、タイトル部分はツールチップに使用されます。 詳細メッセージは無視されます。

プロンプト ダイアログでの ErrorInfo のレンダリングの例

フィードバック

Copilot の体験にぜひご参加ください。

Dynamics 365 Business Central の機能向上のためのアイデア、提案、フィードバックをお寄せください。 フォーラム (aka.ms/bcIdeas) を使用するか、Viva Engage の Dynamics 365 Business Central パートナー コミュニティ ネットワーク (旧称 Yammer) でのパートナーのディスカッションに参加して、Business Central での AI の未来を形作ることに力を貸してください。

関連項目

プロンプト ダイアログでのエラー処理 (ドキュメント)