Qt Design Studio 4.8.2では、AIアシスタントが大幅にアップグレードされ、完全なエージェンティックAIへと進化しました。QMLプロジェクト全体にアクセスし、ファイルの読み取り・書き込み・リファクタリングを自律的に行い、タスクをエンドツーエンドで完結させます。
Qt Design Studio 4.8.1では、AIアシスタントのUIデザイン機能のベータ版を導入しました。自然言語による記述からQMLユーザーインターフェースを生成したり、画像を解析して対応するUIコンポーネントを生成したりできるプロンプトベースのツールとして機能していました。有望なスタートでしたが、孤立した環境での動作にとどまっていました。アシスタントはプロジェクト構造を認識しておらず、現在開いているQMLファイルしか参照できませんでした。各インタラクションはシンプルで、1つのリクエストに対して1つのレスポンスを返すだけでした。
Qt Design Studio 4.8.2は、根本的に異なるアプローチを採用しています。アシスタントはAIモデルと外部ツールを接続するオープン標準であるModel Context Protocol(MCP)上に構築され、Claude Codeに近い完全なエージェンティックAIシステムとして動作します。自然言語でゴールを記述すると、アシスタントはプロジェクトを読み込み、内容を理解し、必要な変更を加え、タスクが完了するまで処理を繰り返します。ファイルの読み取りや編集など、アシスタントが実行する各アクションはチャット履歴に表示されるため、処理の経過を確認できます。現在開いているファイルだけでなくプロジェクト全体を対象に動作するため、より強力かつ包括的な結果が得られます(下図参照)。
図:AIエージェントによるUIデザインの実例。エージェンティックAIアシスタントが単一の自然言語プロンプトからMedTech UIを完全に生成しています。
アシスタントはMCPのリソースとツールを通じてプロジェクトと連携します。QMLプロジェクトの構造はリソースとして公開され、モデルはプロジェクトのファイル構造を把握できます。また、QML MCPサーバーおよび接続したその他のMCPサーバーが、プロジェクトコンテンツの読み取り・更新・作成といったツールをアシスタントに提供します。
内部ではAgentic Request Managerがツール呼び出しのループを実行しています。メッセージを送信すると、マネージャーは利用可能なツールのリストとともにメッセージを選択されたAIモデルに送信します。モデルは最終的な回答をすぐに返すのではなく、ファイルの読み取りや編集など特定のツールの使用をリクエストする形で応答することがあります。Agentic Request ManagerはMCPサーバーを介してこれらのアクションを実行し、結果をモデルにフィードバックします。このサイクルはタスクが完了するまで繰り返されます。ユーザー側からは、この一連の複数ステップの処理が単一の会話ターン内で完結するように見えます(下図参照)。
図:Qt Design StudioにおけるAIアシストデザインの仕組み。AIアシスタント、Agentic Request Manager、QML MCPサーバーが連携してUIタスクを自律的に完了します。
AIアシスタントは、Anthropic(Claude)、Google(Gemini)、OpenAI の主要なモデルをサポートしています。各プロバイダーのリクエスト・レスポンス形式の違いに対応するため、プロバイダーごとのアダプターを実装しています。
QML MCPサーバーは、AIアシスタントに「手」を与えるコンポーネントであり、真のAIエージェントによるUIデザインを実現します。このサーバーがなければ、アシスタントは推論して応答することはできますが、プロジェクトを操作することはできません。Qt Design Studioに組み込まれており、プロジェクトを開くと自動的に起動し、ローカルマシン上で動作します。インストールや設定は不要で、アシスタントはプロジェクトの場所を把握しており、すぐに作業を開始できます。
アシスタントが起動すると、QML MCPサーバーのツールとともにプロジェクト構造をリソースとして受け取ります。以降、プロジェクトを操作するために必要なすべてのものが揃います。QML MCPサーバーには5つのツールが含まれています。
📖 read_qml:QMLファイルの全内容を返します。✨ create_qml:新しいQMLファイルを作成します。✏️ modify_qml:既存のQMLファイルを新しい内容で上書きします。🗑️ delete_qml:QMLファイルを削除します。削除前に確認を求めます。📁 move_qml:プロジェクト内でQMLファイルを移動またはリネームします。必要に応じて移動先のディレクトリを作成します。QMLサーバーはローカルマシン上で動作し、ネットワークソケットではなく標準I/Oで通信するため、公開ポートも外部からの攻撃経路も存在しません。また、プロジェクトフォルダーの範囲に厳密に制限されているため、何を要求されてもアシスタントはプロジェクトルート外のファイルを読み取ったり変更したりすることはできません。定義されたツール以外のスクリプトの実行も不可能であり、すべてのツール実行はチャット履歴に記録されます。
ただし、以下の点に注意が必要です。
入力したすべての内容と、アシスタントが読み取るファイルの内容は、設定済みのクラウドプロバイダーに送信されます。機密性の高いビジネスロジック、個人データ、独自のアルゴリズムはプロンプトや対象ファイルに含めないようにしてください。
アシスタントはファイルに変更を直接書き込みます。ただし、直前のAIによる変更は「Undo last AI changes」ボタンで元に戻すことができます。複数ファイルにまたがる大規模なエージェンティックセッションでは、バージョン管理を使用することでセーフティネットが確保され、通常のコミットと同様に変更内容をレビューできます。
QMLファイルには、AIモデルの動作を操作するために細工されたテキスト(プロンプトインジェクションと呼ばれる手法)が含まれている可能性があります。ファイル内の悪意あるコメントや文字列値によって、アシスタントがファイルを読み取る際に意図しない動作をするよう誘導される恐れがあります。不明なソースからダウンロードしたプロジェクトを開いてAIアシスタントを実行する場合、プロジェクトの内容が安全であることを前提としていることになります。不審な場合は、アシスタントを使用する前にQMLファイルを自身で確認してください。
アシスタントは組み込みのQMLサーバーに限定されません。MCPの設定パネルから、ローカル・リモートを問わず任意のMCP互換サーバーに接続できます。各サーバーは組み込みツールと並んでモデルのツールセットにツールを追加するため、1つのセッション内で自由に組み合わせることができます。
有効化したMCPサーバーが増えるほど、アシスタントのツール定義が拡張されることに注意してください。リクエストごとに送信されるトークン数が増加し、利用コストの上昇やレスポンス遅延の増加につながる可能性があります。ツールセットが大きくなると、特定のコンテキストで最も適切なツールをモデルが一貫して選択することが難しくなり、場合によっては生成結果の品質に影響することもあります。そのため、ワークフローに実際に必要なMCPサーバーのみを有効化することを推奨します。
Figma Desktop MCPサーバーは、本リリースで動作確認済みの外部サーバーの1つです。接続すると、Qt Design StudioからFigmaデザインファイルへの読み取りアクセスが可能になり、Figmaのデザインデータを取得してプロジェクトの既存の規則に沿ったQMLを生成できます。手動での変換やコピーペーストは不要です。
Figma Desktop MCPサーバーに接続するには、FigmaのデスクトップアプリをMCPを有効にした状態で起動してください。MCPの設定パネルでHTTPサーバーを追加し、http://127.0.0.1:3845/mcp を指定します。ローカルデスクトップサーバーにはベアラートークンは不要です。
これは、FigmaのGUIデザインをQMLコードに変換するプラグインであるFigma to Qtとは異なるアプローチであることに注意してください。
AIアシスタントがMCPを通じてFigmaファイルを読み取り、Qt Design Studio上での会話を通じてUIデザインと対応するQMLを生成するのに対し、Figma to QtはFigmaで作成・プレビュー・承認したGUIデザインを確定的かつ信頼性の高い方法で変換します。具体的には、Figma Auto LayoutをQt FlexboxLayoutに、Figma変数をQMLトークンに、FigmaコントロールをQt Quick Controlsにマッピングします。
2つの異なるアプローチを提供しているため、自分のワークフローに合った方を選択できます。
アシスタントはClaude(Anthropic)、OpenAI、GPTの3つのプロバイダーをサポートしており、いずれも完全なエージェンティック機能に対応しています。利用を開始するには、AIアシスタントの設定でプロバイダーを有効化し、APIキーを入力してモデルを選択します。複数のプロバイダーを同時に有効化し、同一会話内でモデルセレクターを使って切り替えることもできます。各プロバイダーにはデフォルトモデルのリストが用意されていますが、それに限定されるわけではありません。新しいモデルを試したい場合は、設定画面でIDを追加するとモデルセレクターに表示されます。
料金はプロバイダーやモデルのグレードによって大きく異なります。一般に、フラッグシップモデル(Opus、GPT-5.4、Gemini Pro)は最も高い推論能力を持ちますが、リクエストごとのコストも高くなります。一方、小型モデル(Haiku、Mini、Nano、Flash)は大幅に安価で、日常的なタスクには十分な速度を持っています。特にGoogleはGemini Flashモデルに対して手厚い無料枠を提供しており、プロトタイピングに適しています。ClaudeやOpenAIの同等モデルへのアクセスには有料サブスクリプションが必要です。本格的な利用を始める前に、各プロバイダーの最新の料金ページを確認することを強くお勧めします。
「Button.qmlを読み込んでdisabledプロパティを追加してください」の代わりに、「Buttonコンポーネントに無効化の視覚的状態が必要です。適切なアプローチを考えて実装してください」のように指示してみてください。モデルはファイルを読み込み、既存のパターンを理解した上で最適な判断を下します。具体的な手順を指定すると、最善のアプローチを推論する余地がなくなります。
プロジェクトにボタン系コンポーネントが複数ある場合、「ボタンを修正してください」は曖昧です。「components/Button.qmlの無効化状態を修正してください」のように具体的に指定することで、モデルへの指示が明確になり、不要なツール呼び出しを減らせます。
アシスタントが理解するのはQMLプロジェクトファイルであり、Qt Design Studio自体のインターフェースではありません。「2Dビューに追加してください」「ナビゲーターに配置してください」「プロパティパネルで編集してください」といったUIを参照した指示は、AIのコンテキストにはそれらの概念が存在しないため、モデルを混乱させる可能性があります。ファイル、コンポーネント、またはQMLのノードやプロパティを参照する指示を優先してください。
エージェンティックAIの導入は、Qt Design StudioにおけるAIアシストデザインの重要なマイルストーンです。Qt Design StudioのAIアシスタントはまだ進化の途上にありますが、AIアシストデザインが単純な生成を超え、UIの開発プロセスに能動的・自律的に参加できることをすでに示しています。
今後のエコシステムの重要な進化として、AI Skillsが挙げられます。現代のエージェンティックAIフレームワークでは、スキルはAIアシスタントに特定タスクの専門知識を与えるモジュール型の機能パッケージとして機能します。スキルには指示、ワークフロー、テンプレート、スクリプト、ドキュメントをまとめることができ、エージェントが必要なときに特定の作業を実行できるようになります。これらの再利用可能な機能モジュールにより、エージェントは基盤となるモデルを変更することなく能力を拡張できます。Qt Design Studioのコンテキストでは、AI Skillsによってアシスタントは以下のような専門的なワークフローを学習・再利用できるようになる可能性があります。
スキルはモジュール式でポータブルなため、プロジェクト、チーム、さらには異なるAIツール間で共有できます。QtにおけるAIアシストデザインの未来はモジュール式で拡張性が高く、成長し続けることを念頭に設計されています。Qt Design Studioは急速に進化するAIエコシステムとともに発展を続け、最新技術と最高性能のモデルをサポートするよう更新されていきます。