フロンティア大規模言語モデルは、QMLコードを生成する能力が本格的に実用レベルに達しています。Claude、GPT、Gemini などのモデルは、シングルターンのコーディングタスクを対象とした QML100 ベンチマークで75〜86%の精度を達成しており、これは Qt のオープンソースエコシステムの深さと、トレーニングデータとして活用された数十年分の公開 QML コードを反映した結果です。日常的な UI コンポーネントであれば、適切にプロンプトを設定した AI エージェントが、初回の試みで動作する読みやすい QML を生成できます。
しかし、こうした流暢さとは裏腹に、AI 生成の QML は Qt Quick アプリケーションの保守性・アップグレード可能性・パフォーマンスを支える定石を十分に体現できていないケースが少なくありません。
Qt の新しい QML コーディングスキルは、厳選されたベストプラクティスの知識を AI エージェントの推論コンテキストに直接組み込むことで、AI 生成 QML の品質ベースラインを引き上げます。汎用モデルが事前学習中に吸収した統計的パターンに頼るのに対し、このスキルは QML のオブジェクト、プロパティ、バインディング、コンポーネントを長期的なメンテナビリティ、Qt リリース間のスムーズなアップグレード可能性、最適なランタイムパフォーマンスを考慮して構造化する方法について、明示的かつ権威ある指針を提供します。これにより、AI 生成コードにも、シニア Qt エンジニアがプルリクエストレビューで適用するのと同等の熟慮された判断が加わります。
画像:Claude Desktop での QML コーディングスキルのスクリーンキャプチャ
このスキルは、QML ソースコードが作業の主な対象となる場面で起動します。具体的には、新しいコンポーネントのゼロからの作成、明確さや正確さのための既存 QML の改善、現在の Qt イディオムへの整合を目的としたリファクタリング、レンダリング負荷の高いシーンの最適化、パフォーマンスを考慮したバインディング構造のレビューなどが対象です。Qt ソフトウェアの開発手法を変えつつあるエージェンティック開発ワークフローに自然に統合されます。
コードの生成や検証を伴わない純粋な会話形式のQMLに関する質問(たとえば、操作対象のソースコードなしに「アンカーの仕組みを説明して」と尋ねる場合など)では、スキルは起動しません。
このスキルは、エージェントが行う日常的な QML 作業の全範囲をカバーします。
新しい QML コンポーネントの作成 — 適切なプロパティ宣言、id の正しい使用、スコープが明確なシグナル定義、イディオマティックなバインディング式を備えた、構造的に優れたアイテムの雛形を生成します。
構造的改善 — プロパティバインディング構造、アイテムのジオメトリ、親子関係、シグナルハンドリングにベストプラクティスを適用し、コンポーネントが現時点で正しく動作するだけでなく、要件の変化にも対応しやすい設計にします。
リファクタリング — 命令型のシグナルハンドラロジックを宣言的バインディングへ変換し、冗長なプロパティチェーンを整理し、不要な property var 宣言を排除します。
パフォーマンス最適化 — バインディング評価コストの削減、layer.enabled の適切な使用、ビュー内でのデリゲートの過剰なインスタンス化の特定などを行います。
このスキルは、Qt 6 リリースファミリーにおける個々の QML オブジェクトとそのネストされた子アイテムの範囲内で改善を適用します。対象はプロパティバインディング構造、アイテムのジオメトリ、デリゲートのコンポジション、コンポーネントのインスタンス化、状態ロジック、およびメンテナビリティと長期的なアップグレード可能性を支援するビジュアル構成です。ただし、複数の QML ドキュメントにまたがる問題や、Qt Quick アプリケーションのモジュールレベルのアーキテクチャに関する推論は対象外です。別々の QML ファイル間の相互作用から生じる考慮事項—タイプの登録、モジュールのエクスポート、コンポーネント境界をまたいだシグナル接続—はスコープ外となります。
同様に、CMakeLists.txt の設定、Qt リソースシステム、その他のプロジェクトレベルのビルド関連事項もカバーしません。Qt プロジェクトの構造とビルドシステムの正確性については、エージェントに追加の専用ガイダンスが必要です。
また、事前学習データの不足に起因するモデルの Qt API 知識のギャップを補うものではありません。ドキュメントが少ない、またはニッチな Qt モジュールは、十分な代表的サンプルをモデルが学習していないため、引き続き誤った処理が行われる可能性があります。このスキルが提供するのは構造的・イディオム的なガードレールであり、Qt API の網羅的なカバレッジではありません。
同様に重要な点として、モデルの事前学習データのカットオフ以降に導入された Qt の機能についての知識は追加されません。最新の Qt リリースの機能を使用する開発者は、生成されたコードが現在の API を反映しているか、あるいはモデルが学習した旧バージョンの API が使われていないかを確認する必要があります。このスキルはモデルが QML についてすでに持っている知識の適用方法を改善するものであり、その知識を時間的に前方へ拡張するものではありません。
最後に、このスキルは Qt Quick を使った 2D グラフィカル UI 開発に特化しています。Qt Quick 3D のシーン、空間コンポーネント、および 3D 専用の QML タイプはスコープ外であり、Qt Quick 3D 向けのエージェント生成コードは、専用のガイダンスが提供されるまで、追加の注意を払って扱ってください。
このスキルは、QML を主要な UI 言語として使用するすべての Qt 6 プロジェクトで機能します。Claude Code CLI および VS Code の GitHub Copilot(Claude Sonnet 4.6、Gemini 3.1 Pro、GPT 5.4 を使用)でテスト済みです。
QML コーディングスキルは、Qt エージェントスキルの GitHub リポジトリから入手できます。また、qt-development プラグインとして Claude のマーケットプレイスでも公開されており、QML プロファイラースキル、Qt C++ コードレビュースキル、その他の Qt 専用エージェント機能と並んで提供されています。