マイクロソフトは、Windowsターミナルをベースにエージェント統合機能を備えたIntelligent Terminalをオープンソースで公開した。これはAIを組み込んだWindowsターミナルであり、シェル上のエラーに対して解説や提案を行う。具体的には、誤ったコマンド入力時に正しいコマンドラインを提案し、Enterキーだけで実行可能にする機能を持つ。
Intelligent Terminalの主な機能
Intelligent Terminalは、Windowsターミナルにエージェント用の専用ペインやステータスバーボタンを追加。Agent Client Protocol(ACP)準拠のエージェントを利用でき、標準ではGitHub Copilotがエージェントとして選択されている。これにより、従来の別ウィンドウでのチャット方式から、現在のウィンドウを分割したペインでエージェントとやりとりできるようになった。2023年に公開されたCanary版Windowsターミナル用の「Terminal Chat」は実験的で、Azure OpenAI Serviceのみ対応だったが、今回のIntelligent Terminalはより統合された体験を提供する。
シェルエラーへの対応
Intelligent Terminalは、PowerShellやbashといったシェルでのエラーに対して、正しいと思われるコマンドラインを提案、実行させる機能がある。シェルの内部コマンドや組み込みコマンドの使い方だけでなく、.NET SDKのコマンドなどの外部コマンドにも対応する。例えば、cmd.exeの内部コマンドを誤って入力した場合、エージェントが正しい実行方法を提案する。
PowerShellは従来のcmd.exeに比べてユーザー評価が低いとされる。スペースを含むパスを扱う際にダブルクオートで括る必要がある点や、実行ファイルのパスに評価演算子「&」が必要な点、引数に式を使う場合のカッコの多用など、シェルとしての使い勝手に難点がある。また、コマンドの汎用性を追求するあまり、シンボリックリンクの作成などが複雑なオプションを要する。Intelligent Terminalはこうしたエラーに対し、アドバイスや正しいコマンドを提示することで、ユーザーがインターネット検索せずに正しいコマンドにたどり着けるようにする。
既存の類似機能との違い
PowerShellには「Command Not Found」ユーティリティがあり、コマンドが存在しない場合にプログラムを実行できる。PowerToysにも適当なコマンドをwingetでインストールするコマンドラインを提示するツールがあるが、これらはコマンドが存在しない場合のみ対応する。bashにも同様の機能がある。Intelligent TerminalはPowerShellとbashの両方に対応し、エラー時だけでなく、次のアクションを提案する。例えば、.NET SDKをインストールした後、正しくインストールされたかを確認するコマンド(dotnet --info)を提案する。存在しないコマンドに対しては、プログラムのインストール提案に加え、PowerShellで同等の処理ができるコマンドを提案する(例:awkに対してSelect-Stringを使用する方法)。
インストールと認証
初回インストール時にはGitHub Copilotのインストールが行われ、Webブラウザで認証ページが開く。認証コードはIntelligent Terminalに表示されるが、表示まで時間がかかるため気づきにくい。
なお、Windows 11ではAI利用が推進され、多くのアプリにAIが組み込まれているが、これらはNPU搭載マシン限定で不評だった。Intelligent Terminalは開発者向け機能であり、一般向けのAI利用とは異なる。利用するAIもGitHub Copilotで、Windows標準のCopilotとは別物だ。



