トピック

第1回

目指せ自分専用アプリ! まずは何をつくる? ゼロから始めるAIコーディング(1)

AIツールでソフトウェア開発する、いわゆる「AIコーディング」や「バイブコーディング」が話題になっています。でも、「なんとなく難しそう」「どこから始めればいいのか分からない」と諦めてしまっている人も少なくないでしょう。

ここではそんな方に向けて、どんな風にAIコーディングを進めていくと良いのか、「自分専用」アプリの開発を通じて解説していきます。今回は事前準備から初期のコード生成まで実践してみます。(編注:全3~4回予定です)

日常の不満を解決できそうなツールを考えてみよう

さっそくですが、いくら「AIが全てコーディングしてくれる」としても、人間の側で「作るもののアイデア」がなければ始まりません。これはおそらくAI活用の最初に立ちはだかる壁と言ってもいいのではないでしょうか。

「こういうのが欲しいんだ!」という強い情熱が元々あるなら、それを形にすれば良さそうです。が、そうでないのなら初めの一歩すら踏み出せません。なので、とりあえずは「普段パソコンで作業するときに困っていること」をヒントに、その課題解決につながるものを考えてみます。

これはmacOSのプレビューアプリ。WindowsにもmacOSのようにPDFの軽い編集が可能な(無料)ツールが欲しい

その一例として、今回コーディングしていくのが「PDFツール」です。ページ入れ替えや複数ファイルの連結といったPDF編集を、無料で、かつGUIでできるツールが少ないため、その不満を解決したい、という思いが背景にあります。

これをWindowsで動作する「自分用アプリ」として完成させることをゴールに進めていくことにします。

無料でもコーディングできるAIチャットで小手調べ

つくるものがある程度決まったら、次は「何を使うか」。本格的なコーディングエージェントを使うのも良いのですが、最初はとっつきやすいAIチャットで指示してみて、どんなものができあがるか確認してみましょう。

Anthropicの「Claude」デスクトップアプリ

使用するAIツールはAnthropicの「Claude」です。「Pro」(月額20ドル)以上のプランではコーディングエージェントの「Claude Code」が利用できますが、ひとまず無料のプランでも使えるチャットで小手調べしてみるのがいいのでは、と考えました。

PDFツールを作成するにあたり、チャットで指示する内容(プロンプト)はできるだけ具体的なものにすると良いでしょう。「PDFを編集できるツールを作って」だけではおそらく不十分で、どんな風に使えるといいのか、機能として最低限何があるべきか、自分で思いつく限りの条件や要望を詰め込むことが大切です。

プロンプトでツール作成を指示する

それではプロンプトを入力してみましょう。筆者がつくりたいPDFツールを想像しつつ、下記のような内容にしてみました(使用したモデルはOpus 4.7)。

「PDFツール」を開発します。以下の条件に合うツール開発に必要なソースコードを生成し、アプリとして実行するための具体的な手順を教えてください。

- Windows 11で動作するGUIアプリケーション
- PDFファイルに対して次の操作を可能にする
- 全ページのサムネイル表示
- サムネイルから選択したページの全体表示
- 読み込み・上書き保存・名前を付けて保存
- ページの入れ替え・削除・回転
- 別PDFファイルのドラッグ&ドロップでページの挿入・追加

結果は下記スクリーンショットのようになりました。生成されたソースコードをダウンロードし、Pythonなど実行に必要なツールのインストールなどもしたうえで、説明された手順通りコマンド入力すると、確かに、アプリとして実行できました。

プロンプトを入力するとすぐさま処理が開始します
できあがったコードを確認
コードはファイルとしてダウンロード可能
手順説明に従ってアプリを実行できるように作業していきます

想定していた機能もひと通り実装されており、一部を除けばちゃんと動きます。PDFファイルの読み込み時にエラーが発生したのですが、そのエラー内容をClaudeに教えることですぐに修正版のソースコードが生成され、差し替えると正しく動作することも確認できました。

できあがった「PDFツール」。たしかに動きはしますが……

アプリはできたけれど、なんか違う?

プロンプト一発で動くアプリができあがるのはすごいことですが、気になるところも多々あります。アプリの動作以前に「なんか違う」という雰囲気を、最初にコード生成し始めた段階で感じるのです。

たとえば「GUIアプリケーション」と指示したにもかかわらず、一般的にコンソールプログラムで使われるPythonのコードがメインになっていますし、UIも原始的で使いやすいとは言えません。

見た目だけでなく、マウス操作に対する細かな動作も期待しているものとは違ったりします。チャット内ではソースコードが生成されるだけのため、それをユーザーの手でいちいちローカルに保存し直す作業が必要なのも、やはり手間です。

では、どうすればもっと自分の理想の形に近いアプリを完成させられるのでしょうか。プロンプトがまだまだ不足していた、ということなのでしょうか。

次回以降ではそうした課題や疑問を解消しつつ、Windowsらしいアプリに仕上げていくための筆者おすすめの方法もお伝えできればと思います。

(次回は来週公開予定)

日沼諭史

Web媒体記者、IT系広告代理店などを経て、フリーランスに。オーディオ・ビジュアル、PC、モバイル、ガジェット、ソフトウェア、モビリティ、フード、トラベルなど、いろいろな分野に首を突っ込む「なんでもやる系」ライターとして活動中。Footprint Technologies株式会社 代表取締役。