powered by TechFeed
表示モード
Deep Dive

Azure CTOが20年前のWindowsツールをAIで2日間でmacOSに移植 — 「数カ月かかると思っていた」が30分で動いた

9月17日、Windows Latestが「Microsoft Azure CTO used AI to port 20-year-old Windows tool to macOS in two days: "I was flabbergasted"」と題した記事を公開した。Microsoft AzureのCTOであるMark RussinovichがAIを活用し、20年以上メンテナンスしてきたWindowsツール「ZoomIt」をわずか1週末でmacOSに移植した——その詳細が明らかになった。「数カ月かかると見積もっていた作業が30分で動いた」という証言は、AIを活用したコード移植の可能性を端的に示している。

9月17日、Windows Latestが「Microsoft Azure CTO used AI to port 20-year-old Windows tool to macOS in two days: "I was flabbergasted"」と題した記事を公開した。Microsoft AzureのCTOであるMark RussinovichがAIを活用し、20年以上メンテナンスしてきたWindowsツール「ZoomIt」をわずか1週末でmacOSに移植した——その詳細が明らかになった。「数カ月かかると見積もっていた作業が30分で動いた」という証言は、AIを活用したコード移植の可能性を端的に示している。


「数カ月かかると思っていたのに、週末2日で完成した」

Mark RussinovichはSysinternalsの創設者として知られ、現在はMicrosoft AzureのCTOを務めている。彼が20年以上前に自作したスクリーンズームツール「ZoomIt」は、Windowsの教育・プレゼン現場で長く使われてきたツールだ。画面の特定領域を拡大したり、リアルタイムで線や矢印を書き込んだり、画面録画もできる。Windowsに標準搭載の切り取りツールとは異なり、アプリの上にオーバーレイしてリアルタイムで動作するのが特徴で、そのため別プラットフォームへの移植は技術的に非自明な作業だった。

macOS版のニーズはずっと存在していた。GitやVisual Studio Code、GitHub CopilotをmacOSのラップトップでデモするMicrosoft社員たちが、「ZoomItのズームと描画の組み合わせが欲しい」と要望していたという。しかしRussinovichは「面白いリクエストだが、時間を作れないと思っていた」と語る。

そこでAIを使うことにした。

結果:基本機能の動作するmacOS版を、約12回のプロンプトのやりとりで30分以内に構築。 その後、週末2日間で「ブレークタイマー・パノラマスクリーンショット・画面録画・動画編集」を備えた高忠実度のクローンが完成した。元記事タイトルの「two days」はこの週末2日間を指しており、「30分」は初日の初期プロトタイプ完成までの時間にあたる。

"I expected this exercise to be something that I'd work on over a few weekends in the summer, maybe over a couple months... But I was flabbergasted."
— Mark Russinovich

使用したAIツール

元記事によれば、Russinovichが今回の移植作業で主に使用したのはClaude(Anthropic)およびGitHub Copilotだ。いずれもソースコードを渡してmacOS向けの再実装を生成させるという形で活用された。特定のモデルバージョンについては元記事では明示されていない。

なぜAIがここまで速く動けたのか

重要なのは「AIに参照コードを渡せた」という点だ。RussinovichはZoomItのWindows版ソースコードをすでに持っており、AIモデルに渡すことでアプリの構造と機能を理解させた。AIは「ZoomItが何をするか」を理解した上で、macOSのAPIに合わせた実装を生成できた。

Russinovich自身はmacOSの音声・映像・スクリーンキャプチャのAPIをまったく知らない状態から始めたが、「学ぶ必要がなかった。AIが全部やってくれた」と述べている。従来であれば、まずmacOSの内部動作を一から学ぶところから始めなければならず、それだけで数週間を要する可能性があった。

バグがゼロではなかった点は正直に認めている。macOSはWindowsとシステムパーミッション・スクリーンショットAPI・キーストロークの扱いが異なるため、その差異への対応が必要だった。それでも「90%以上は動いていた」と評価している。

なお、当初「誰も使っていない」と判断してmacOS版から省いた「DemoType」機能(プレゼン中に準備済みテキストを表示する機能)についても、後からユーザーの要望を受けてAIに追加を指示している。

今回の事例が示すもの

今回の事例が示しているのは、「既存の参照コードがある場合にAIがいかに強力な移植ツールになるか」という点だ。ゼロから新機能を設計するのではなく、動作実績のあるコードベースをAIに渡して別プラットフォーム向けに再実装させる、というアプローチは再現性が高い。Russinovichのケースはそれを実際のプロダクトで示した具体例として参照価値がある。

ZoomIt for macOSのインストール方法

macOS 14 Sonoma以降が必要。Homebrewが入っていれば以下のコマンドで導入できる。

brew install --cask microsoft/sysinternals-tap/zoomit

※上記のTapパス(microsoft/sysinternals-tap/zoomit)はGitHubリポジトリの公式情報に基づく。元記事本文の表記(sysinternalstap)はtypoの可能性があるため、実行前にリポジトリ側の最新情報を確認されたい。

またはMicrosoftのGitHubリポジトリから直接ダウンロード可能だ。ファイルサイズはわずか1.4MB。無料かつオープンソースである。

インストール後はメニューバーのアイコンからアクセスし、Screen Recordingのパーミッションを付与する。基本的なショートカットは以下の通り(設定から変更可能):

  • Control+1:ズーム
  • Control+2:描画
  • Control+5:画面録画
  • Control+6:選択範囲をクリップボードにコピー

詳細はMicrosoft Azure CTO used AI to port 20-year-old Windows tool to macOS in two days: "I was flabbergasted"を参照していただきたい。