AI時代の新しいWindowsデスクトップアプリケーションデバッグのカタチを提案します
はじめに
私はこのAIをバンバン活用できる時代に入って、いろいろ試行錯誤しています。
以前、巷の話題として「CLI vs MCPはCLIに分がある」とか「軍配が上がる」的な言説をTwitter等で見かけて、私は思いました。
「果たしてそうなのか」と。
VS MCP Server
その疑問に準じるように、私はVisual Studio 拡張機能「VS MCP Server」(リポジトリ名:Unofficial-VS-MCP)をリリースしました。(私のアイコンが目印!)
これはMicrosoftがVisual Studioに公式のMCPサーバーを実装して提供する気配を感じなかったので、AIが使える今、私が勝手にVisual Studio拡張機能として、MCPサーバーを実装したものになります。
このMCPサーバーをAIエージェントが利用して何ができるかというと、まあいろいろあるのですが、例えば
AIエージェントが
- アプリケーションのデバッグ起動ができる
- デバッグ中のアプリケーションをブレークできる
- ブレーク中のアプリケーションのローカル変数や自動変数、ウォッチ式が見られる
- ブレーク中のアプリケーションの値を評価することができる
- ブレーク中のアプリケーションの呼び出し履歴を確認できる
- ブレーク中のアプリケーションの並列スタックを確認できる
- ブレークポイントを仕掛けられる
などです。
これだけでAIは自律的に問題の調査ができるようになります。まるで人間がVisual Studioを操ってバグ調査するみたいに。
というわけで、今、Windowsデスクトップアプリケーションの保守や、新規開発をしている開発者の方のうち、インターネットアクセスできる人・環境であれば Codex や Claude Code を使って、バグ調査や新規機能の実装なんかもAIエージェントに委譲できてしまうわけです。
生産性は上がるでしょう。AIに任せている間、我々人間はコーヒー入れに行ったり、散歩したり、お子さんの面倒を見たりと、いろいろできるんじゃないかと思います。
もちろん、空いた時間で別のプロダクトの面倒を見る、というのもありかと思います。それは人それぞれかな。
で、私が提案したいのはこれだけではなくてですね。。。
JidoDebugger
という製品を趣味で作っています。
まあ、まだ事業としては成立しなくてですね、いつか私が就職した会社でこの事業を展開できるのか、もしくは起業をするのかはわからないですが。
品質管理チームをAIエージェント部隊が担って、Windowsデスクトップアプリケーションのデバッグ作業を人海戦術のようにやらせるというソリューションがこの製品の提供するものです。
複数の自社内の端末にあらかじめJidoDebuggerをインストールしておき(これは親機からリモートで子機にインストールできるようにする仕組みを提供する予定です)複数の自社内端末のなかで、親機がコントロールするAIエージェントが子機のJidoDebuggerを介してデバッグ対象のアプリケーションをデバッグするという仕組みです。
これにより、デバッグ対象の分野を複数台の子機で分けて、デバッグ作業を進めることができ、テスト期間を短縮できるのではないかという試みです。
私もその規模の台数をそろえているわけではないので、このJidoDebuggerをテストしてくれる組織がないか、募集中なのです。
JidoDebuggerはVisual Studioにアクセスしているわけではないので、VS MCP ServerのようなVSデバッグ機能は持ち合わせていないのですが、代わりにブラックボックスモードでのテスト機能と、ホワイトボックスモードでのテスト機能を有しています。
ブラックボックスモード
ブラックボックスモードとは、コードベースを所持していない状態でアプリケーションをデバッグするモードです。
具体的になにができるかというと、UIオートメーションでアプリケーションのビュー構造をざっくり把握して、各ビュー要素のAutomationIdを検索して要素を操作できるようにしてから、テストしたい手順を試してみる。というものです。
それで意図しない動きが見られたら、スクショを撮って裏取りをしたりできます。
ちょうど、ブラックボックスモードのデモ動画があるので、興味がある方はご覧ください。
電卓アプリケーションを検証している様子です。
ホワイトボックスモード
ホワイトボックスモードでは、AIエージェントがデバッグ対象のアプリケーションのソースコードを読めるので、
事前に(例えばWPFなら)
- XAMLにどのAutomationIdが貼ってあるかとか、
- どのボタンのCommandがどのViewModelのメソッドにバインドされているか
- イベントの発火の順番
を予測できるのです。だから「ビュー要素のスナップショット取得→推測→クリック→やり直し」みたいな N 回の往復が、 1 回の計画済みシーケンスで済んでしまうのです。
とても効率的ですね。
もちろんホワイトボックスモードではAIエージェントがコードベースにアクセスできるはずなので、コードベースで大体のバグの当たりをつけてから、実際に人間がAIエージェントに指示を出し、操作させてみて確かめる、という芸当も可能なわけです。
まだまだ改良の工夫は続く...
VS MCP Server も JidoDebugger もまだまだ改良の余地はあると思っていて、
新機能を模索し続けるつもりです。
まとめ
そういう訳で、Windowsデスクトップアプリケーション開発者の皆さん。
VS MCP Server および、 JidoDebugger を是非試してみてください。
皆さんの生産性を上げるキッカケになれるのではないかと私は確信しています。
是非使ってね。
Discussion