Microsoft developer platformのDialog Mode更新まとめ|Agent DialogとWeb Dashboard対応の確認ポイント

結論から言うと、2026年5月5日の「Microsoft developer platform documentation update: feat(dialog): agent dialog mode with web dashboard support」は、Microsoftのmicrosoft/conductorでエージェントがワークフロー実行中にユーザーと複数ターンの会話を行えるようにする更新です。既存ワークフローをすべて書き換える必要がある変更ではなく、主にdialog.trigger_promptを追加した通常のagentが対象になります。対応すべき人は、ConductorでAIエージェントワークフローを設計している開発者、Web Dashboardを使って実行状況を確認しているチーム、CIや自動実行で--skip-gatesを使っている運用担当者です。元PRはGitHub上で2026年5月4日にmainへマージされ、Dialog Mode追加が変更の中心として説明されています。(GitHub)

目次

Microsoft developer platform documentation updateで追加されたDialog Modeとは

今回の更新で追加されたDialog Modeは、エージェントが処理結果を出したあと、必要に応じてワークフローを一時停止し、ユーザーと自由形式の会話を行うための仕組みです。

従来の人間確認は「承認する」「差し戻す」「却下する」のような選択式のhuman gateが中心でした。一方、Dialog Modeでは「要件が曖昧なので、どの方向で調査すべきか確認したい」「複数の設計案があり、どちらを採用するか聞きたい」といった場面で、エージェントとユーザーが会話できます。

Conductor自体は、GitHub Copilot SDKやAnthropic Claudeを使ってマルチエージェントワークフローをYAMLで定義・実行するCLIツールです。README上でも、機能一覧に「Dialog mode — Agents can pause for multi-turn conversation when uncertain」が追加されており、Web Dashboardによるリアルタイム可視化やhuman gateと並ぶ機能として位置づけられています。(GitHub)

何が変わったのか

PR #130では、Dialog Modeを単なるドキュメント追加ではなく、コア処理・プロバイダー・Web Dashboard・テスト・サンプルまで含む機能追加として整理しています。変更点は次のように見ると分かりやすいです。(GitHub)

領域主な変更実務上の意味
Coregates/dialog.py、engine/dialog_evaluator.py、スキーマ、ワークフローエンジン連携を追加エージェント出力を評価し、条件に合う場合だけ会話を開始できる
Provider SupportCopilotとClaudeプロバイダーにDialog対応を追加既存のCopilot/Claudeベースのワークフローで利用しやすい
Web DashboardDialogDetail、DialogEngagementPrompt、DialogOverlayなどのReactコンポーネントを追加ブラウザ上で会話UIを扱える
Testsスキーマ、評価器、Dialog gateのテストを追加設定ミスや判定ロジックを検証しやすい
Docs & Examplesworkflow-syntax.mdとdialog-mode.yaml、dialog-test.yamlを追加実装前に設定例を見ながら検証できる

重要なのは、Dialog Modeが「すべてのエージェントをチャット化する機能」ではないことです。エージェントの実行後に、ユーザー定義の条件をLLM evaluatorが見て、会話が必要かどうかを判断します。会話が終わると、会話の transcript が追加コンテキストとして渡され、エージェントが再実行されます。(GitHub)

Dialog Modeの動作イメージ

Dialog Modeの流れは、次の順番で理解すると実装判断がしやすくなります。

ステップ何が起きるか確認すべき点
エージェント実行通常どおりプロンプトに基づいて出力する出力スキーマが曖昧すぎないか
Dialog評価dialog.trigger_promptの条件に照らして、会話が必要か判断するtrigger条件が広すぎないか
ユーザー選択Discussするか、会話をスキップして続行するか選ぶ自動実行時に待ち状態にならないか
複数ターン会話ユーザーとエージェントが不足情報を確認する機密情報が会話に出ないか
再実行会話内容を追加コンテキストとしてエージェントが再出力する出力が後続ステップの期待形式を満たすか

ドキュメントでは、Dialogが発火した場合に「Discuss」と「Do your best and continue」の選択肢が提示され、会話後にエージェントが会話 transcript を追加コンテキストとして再実行されると説明されています。Web Dashboardでは、グラフ領域が一時的にチャットインターフェースに置き換わる点も押さえておきたい変更です。(GitHub)

対応が必要な人と影響範囲

今回の更新で最も影響を受けるのは、Microsoft developer platform上でConductorのワークフローを設計・運用しているチームです。特に、曖昧な要件をAIエージェントに処理させている場合は、Dialog Modeによって「途中で人間に確認する」設計が取りやすくなります。

対象者対応優先度理由
ConductorでYAMLワークフローを作成している開発者高dialog.trigger_promptを使うかどうかの設計判断が必要
Web Dashboardを運用画面として使うチーム高Dialog UIが実行中の操作体験に影響する
CI/CDやバッチでConductorを実行している担当者高--skip-gates時はDialogが自動スキップされるため、想定どおりか確認が必要
AIエージェントの出力品質をレビューするリードエンジニア中不確実性や曖昧さを検知する基準を設計できる
既存ワークフローを手動実行だけで使っているユーザー中対話が増えることで作業時間や運用手順が変わる可能性がある
Dialogを使わない既存ワークフローの利用者低dialog設定を追加しない限り、直接の影響は限定的

ドキュメント上、Dialogは通常のagentタイプのみを対象とし、human_gate、script、workflowには対応しないとされています。また、CIや自動化で使われる--skip-gatesが設定されている場合、Dialogは自動的にスキップされます。(GitHub)

まず確認すべき設定ポイント

既存ワークフローを確認する場合は、いきなりDialog Modeを全エージェントに追加するのではなく、曖昧さが業務影響につながるステップから見直すのが現実的です。

確認項目見る場所判断基準
Dialogを入れるべきエージェントかagents配下の各ステップ要件確認、調査方針、設計判断など、人間の意図確認が必要な処理か
trigger条件が明確かdialog.trigger_prompt「不確実なとき」だけでなく、どの種類の不確実性かを書けているか
自動実行で止まらないかCLIオプション、CI設定--skip-gates利用時にDialogがスキップされても問題ないか
Web Dashboardで操作できるか--web実行、フロントエンド配布物チャットUIが表示され、会話・スキップ・続行ができるか
後続ステップの入力が壊れないかoutputスキーマとroutes会話後の再出力が後続エージェントの期待値に合うか
情報漏えいリスクがないかエージェント出力、会話ログファイルパス、コード片、顧客情報などを表示してよいか

特に重要なのはtrigger_promptです。ドキュメントでは、trigger promptは「何を質問するか」ではなく「いつDialogを発火させるか」を説明するものだとされています。質問内容は、エージェント出力の文脈からevaluatorが生成します。(GitHub)

設定例: 曖昧な要件だけDialogを発火させる

最小構成では、通常のagentにdialog.trigger_promptを追加します。たとえば、調査エージェントがテーマの解釈に迷う可能性がある場合は、次のように設定できます。

agents:
  - name: researcher
    prompt: |
      Research the given topic thoroughly:
      {{ workflow.input.topic }}

      If the topic is broad, explain the assumptions you made.
    output:
      summary:
        type: string
        description: Research summary
      assumptions:
        type: string
        description: Assumptions made during research
    dialog:
      trigger_prompt: |
        Trigger dialog if the agent expresses significant uncertainty
        about the user's intent, encounters ambiguous requirements,
        or makes assumptions that could change the direction of the work.

        Do not trigger dialog for minor uncertainty that the agent can
        reasonably resolve on its own.
    routes:
      - to: writer

公開されているdialog-mode.yamlの例でも、researcherエージェントが曖昧さや複数解釈に遭遇した場合にDialogを発火させ、軽微な不確実性では発火しないようにしています。--webを付けて実行する例も示されているため、CLIだけでなくWeb Dashboardでの挙動確認にも使えます。(GitHub)

使うべき場面と使わないほうがよい場面

Dialog Modeは便利ですが、入れすぎるとワークフローの自動化メリットを損ないます。判断基準は「人間の確認によって、後続の手戻りが大きく減るか」です。

使うべき場面理由
要件が広すぎて、調査範囲や設計方針が複数ある早い段階で方向性をそろえられる
コードレビューやリファクタリングで対象範囲が曖昧誤った前提で大量の修正を進めるリスクを減らせる
ビジネス判断やドメイン知識が必要エージェントだけでは判断しにくい前提を補える
出力の前提が後続工程に強く影響する早期確認でワークフロー全体の品質を上げやすい
使わないほうがよい場面理由
テスト実行やビルドなど機械的な処理会話よりもscript stepや条件分岐のほうが適している
些細な表現ゆれまで毎回確認したい場合Dialogが頻発し、運用負荷が高くなる
完全自動化を前提にしたCIジョブ--skip-gatesでスキップされる前提の設計が必要
機密情報を出力に含む可能性が高い処理会話UIやログに表示される情報を慎重に扱う必要がある

実務では、「不確実なら必ず聞く」ではなく、「聞かないと大きな手戻りが起きるときだけ聞く」と考えると失敗しにくくなります。

Web Dashboard対応で確認したいこと

今回の更新名にある「web dashboard support」は、単にドキュメントにスクリーンショットが追加されたという意味ではありません。PRでは、Dialog用のReactコンポーネント、ワークフローストア、イベントタイプ、詳細パネル、レイアウト、静的アセットの更新が含まれています。(GitHub)

Web Dashboardを使っているチームは、次の観点で確認してください。

  • conductor run workflow.yaml --webでDialogが発火したとき、チャットUIが表示されるか
  • 「Discuss」と「Do your best and continue」の選択が直感的に操作できるか
  • Dialog中にワークフロー全体の状態が分かりにくくならないか
  • 会話終了後、対象エージェントが再実行され、後続ステップへ進むか
  • ダッシュボードの静的アセットが古いまま配信されていないか

社内でConductorをラップした独自UIを使っている場合は、Dialog関連イベントを無視していないかも確認が必要です。UI側がDialogイベントを理解していないと、ワークフローが止まったように見える可能性があります。

移行時に失敗しやすいポイント

trigger_promptを広く書きすぎる

「不明点があればDialogする」とだけ書くと、エージェントが少しでも前提を置いた場面で会話が発火しやすくなります。たとえば調査ワークフローなら、「複数の解釈があり、選ぶ方向によって結論が変わる場合」など、発火条件を業務影響に結びつけて書くべきです。

自動化ワークフローでDialog前提にしてしまう

CIや夜間バッチでは、人間がDashboardで応答できないことがあります。ドキュメントでは--skip-gates設定時にDialogが自動スキップされると説明されているため、自動実行時は「会話しなくても最低限進められるプロンプト」にしておく必要があります。(GitHub)

human_gateとDialog Modeを混同する

human gateは明確な選択肢を提示して承認や分岐を行う仕組みです。Dialog Modeは、自由形式の会話で曖昧さを解消する仕組みです。

承認フローならhuman gate、要件確認ならDialog Mode、テスト実行ならscript stepというように使い分けると、ワークフローが読みやすくなります。

後続ステップの出力形式を確認しない

Dialog後は、会話内容を踏まえてエージェントが再出力します。そのため、後続ステップがsummaryやanalysisなど特定フィールドを期待している場合は、会話後も同じスキーマで出力されるようにプロンプトとoutput定義を整えておく必要があります。

ファイルリンクや表示内容の安全性を軽視する

PRでは、相対ファイルリンクの扱いやパストラバーサルに関するレビューコメントもあり、最終的に..セグメントやWindowsドライブレターを拒否する防御強化が行われたと説明されています。Dialogではエージェント出力やファイルパスがユーザーに提示されるため、表示してよい情報か、リンクとして扱ってよいパスかを確認してください。(GitHub)

導入前の実務チェックリスト

Dialog Modeを本番ワークフローに入れる前に、次の順で確認すると安全です。

| 順番 | 作業 | 完了条件 |
| -: | ————————– | ———————————- |
| 1 | 対象エージェントを選ぶ | 曖昧さが大きな手戻りにつながるステップだけを選定する |
| 2 | dialog.trigger_promptを書く | 発火条件が業務上の判断基準として説明できる |
| 3 | サンプル入力でCLI実行する | 会話が必要なケースと不要なケースを再現できる |
| 4 | --webでDashboard確認する | Dialog UIで会話・スキップ・続行ができる |
| 5 | --skip-gates時の挙動を見る | 自動実行時に想定どおりスキップされる |
| 6 | 後続ステップの出力を確認する | Dialog後もroutesとoutput schemaが破綻しない |
| 7 | ログと表示情報を確認する | 機密情報や不要なファイルパスが露出していない |
| 8 | チーム向け運用ルールを決める | いつDiscussし、いつskipするかを共有できている |

まずは公開されているdialog-test.yamlのように、必ずDialogが発火するテスト用ワークフローで動作を確認すると、UIやイベントの挙動を把握しやすくなります。このサンプルでは、コードベース分析の質問が広すぎるという前提で、複数の分析アプローチを示し、Dialogを強制的に発火させる構成になっています。(GitHub)

今回の更新で取るべき次の行動

今回のMicrosoft developer platform documentation updateは、Conductorのワークフローに「人間へ確認してから続ける」柔軟性を加える更新です。既存ワークフローを一括変更する必要はありませんが、要件確認・設計判断・調査範囲の決定をAIエージェントに任せている場合は、Dialog Modeを検討する価値があります。

最初にやるべきことは、既存YAMLの中から「エージェントが勝手に前提を置くと困るステップ」を1つ選ぶことです。そのステップにだけdialog.trigger_promptを追加し、CLI実行、Web Dashboard実行、--skip-gates実行の3パターンで確認してください。Dialogが頻発するなら条件を狭め、逆に重要な曖昧さを見逃すなら条件を具体化します。

Dialog Modeは、自動化を止める機能ではなく、自動化の中で「人間に聞くべき瞬間」を明確にする機能です。うまく使えば、AIエージェントの独断による手戻りを減らし、ワークフロー全体の品質を上げられます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次