昨日、Codex Mac版を使ってアプリケーションを作ってもらうのを試しました。
Codexはマジですごく感動した(語彙力)のですが、今回は同じことをGitHub Copilotで試してみようと思います。 パブリックプレビュー版の、GitHub Copilot CLIを使います。前回も説明しましたが、GitHub Copilot CLIを使うには有償版のGitHub Copilot ライセンスが必要です。
GitHub Copilot については前回のブログ記事のなかで取り上げていました。 ここではGitHub Copilot CLIを普通に対話形式で使っていました。
そのブログ記事でも書いたように、各社のAIエージェントのCLIツールでは日本語で対話するのは結構苦行なので、昨日時点では「文字入力と変換の支障がない、ネイティブアプリは最高である!」という結論に達したのですが、GitHub Copilot CLIでは「プロンプトで任意のファイルを読み込ませるような指示を出すといける!」のような情報を見つけたので、今回試してみた次第です。
昨日とフェアにするために、モデルを同じものを選択して試してみました。どうやらコマンドライン引数で直接プロンプトを渡しているために非対話的に実行されており、ツール使用の承認プロンプトが表示できない為にエラーになるようです。そのため、いくつかの作業を自動承認させるために--allow-toolオプションを付与しています。自動承認が許可されない場合はこの方法は適切ではないかもしれませんが、今回は私の環境を犠牲になってもらって、アプリ開発できるか確認してみます。
% copilot --model gpt-5.2 \ --add-dir /Users/ytooyama/working/code/todoapp \ --allow-tool 'read' \ --allow-tool 'write' \ --allow-tool 'bash' \ -p "この要件に沿ったPythonベースのWebアプリケーションを生成して。最後に動作方法をREADME.mdにまとめて: $(cat requirements.md)"
--allow-toolオプションの追加をせずに実行すると、何か動いているけど「Permission denied and could not request permission from user」というエラーが発生してファイルが一向にできませんでしたが、オプション追加でなんとか進んでいるようです。
実行中の動作についてはその都度画面に出力されますので、後は待っておくだけです。 macOSの場合はPython3周りでエラーが出る場合がありますが、最終的に次のようなメッセージがでて、コードとREADME.mdが作られました。
● Read requirements.md └ 46 lines read ● Edit README.md (+1 -1) `~/todo.sqlite3` の `todo` テーブル+ `ytooyama_todo` View を操作できる、Python(Flask)ベースのローカルWeb GUIを生成しました(都度起動/常駐どちらもREADMEに手順あり)。 生成物: - `app.py` : Flaskアプリ本体(一覧/追加/編集/削除、View表示、DB初期化補完) - `requirements.txt` : 依存(Flask) - `README.md` : 動作方法・常駐案(macOS LaunchAgent例)まとめ 動かし方は `README.md` を参照してください。 Total usage est: 1 Premium request API time spent: 5m 11.115s Total session time: 5m 16.365s Total code changes: +492 -15 Breakdown by AI model: gpt-5.2 251.2k in, 17.2k out, 213.5k cached (Est. 1 Premium request)
実は何回か失敗して、きょうは5個くらいPremium requestを消費しています。 まあ...勉強代です。
次に、コードができているのを確認できます。 requirements.mdはさっき使ったファイルなので、3つファイルが追加されていることがわかります。
% ls app.py README.md requirements.md requirements.txt
README.mdに書かれている手順に従って、Python仮想環境を作って実行してみると...

あ、こんなデザインでもいいじゃんって感じのWebアプリになっていました。 ToDoアプリなんて自分が見るだけですし、一画面で全部できるのでこれはこれでありかなと思いました。
せいぜい、5000番ポートはほかで使っていることが多いので、ポートを別のポート番号に変えるくらいは必要かもしれませんが、たった数行のプロンプトとせいぜい5分くらいの時間でこんな感じでできました。
GitHub Copilot CLIは気に入っていたものの、文字入力が懸念点でした。今回のようにプロンプトを非対話形式で使うと、使えることがわかったので、GitHub Copilot CLIも自動コード生成の選択肢として使えそうです。