インタラクティブフォーム(structured_clarify)
Myrm は会話内に構造化フォームを描画できます。エージェントが structured_clarify ツール(ask_question_tool スキーマ)を呼ぶと 1 つ以上の質問が送られ、WebUI は会話内で選択肢ボタン・チェックボックス・自由記述の入力欄を描画します。ユーザーが送信すると、同じ run が回答によって目を覚まして実行を再開します。
有効 / 無効の切り替え
structured_clarify はデフォルト profile で既定で有効です。調整したい場合:
- 会話内で Agent 設定 を開く
- 必要に応じて 構造化 clarify(
structured_clarify)を切り替え
ask_question_tool スキーマを渡さなくなり、使わない機能の token コストはゼロです。
何を作れるか
閉ループの動作
- エージェントが
structured_clarifyを呼び、run は応答を待ってサスペンドします - WebUI は会話内にフォームを描画し、チャットストリームをブロックしません
- ユーザーが送信すると回答は保存され、同じ run が回答を伴って自動的に続行します
- バックエンドは 900 秒のタイムアウトガードを登録: ユーザーが応答しない場合も
no_answerで自動的に続行し、フォームが会話を永久に堵塞させることはありません
ClarificationGuardMiddleware は 1 ターンにつき ask_question_tool の呼び出しを最大 1 回に制限し、並列ツールを遮断するため、フォームとツールの計画が矛盾しません。
いつ使うか
structured_clarify は質問と明示的確認のために使います — デプロイチェックリスト、破壊的操作の確認、方針の分岐選択。ダッシュボード・チャート・長寿命のパネルには Mermaid アーティファクトや成果物ファイルを使ってください。フォームは「訊く」ためのもので、「データを表示する」ためのものではありません。
大容量ファイルのインライン保護
HTML / SVG / Mermaid のアーティファクトは既定で会話ストリーム内に自動展開・描画されます。アーティファクトが 1 MB(LARGE_FILE_THRESHOLD)を超えると、インライン描画は優雅に縮退します。
- コンテンツの fetch も行わず
srcDoc描画も実行しません(OOM / ブラウザのフリーズを回避) - 簡略なフォールバックカードを表示し、ファイルサイズと 「全画面表示」 ボタンを出します
- クリックすると
ArtifactPortalが隔離 URL モード(iframe src)でコンテンツを読み込みます — ファイル有多大でも性能上のリスクはありません
参照: Agent 設定 — ツールのロード(英語)。