ブログ一覧へ

プログラミング未経験からAI(Cursor/Claude)と一緒にWebツールを作った開発手法

AIを使って感じるのは、「自分の気持ちやアイデアを形にするツール」として使うと、その力が最大限に発揮されるということだ。アイデアの卵をうまく言葉にできないとき、対話の中でヒントをもらえることもある。自分がやりたいことを見失わなければ、AIは適切で健全なパートナーになってくれる。本記事では、その具体的な向き合い方について紐解いていく。

Chizmo Toolsを作った理由は前の記事で書いた。今回はもう少し踏み込んで、「実際にどうやって作っているのか」を話したい。プログラミング経験がほぼゼロの自分が、どうやってWebツールを形にしているか——その具体的な方法だ。

AIへの指示は「1回1機能」に絞る

最初にやってしまいがちな失敗が、「ゲーム全部作って」「このサイトを完成させて」という大きな指示を出すことだ。これをやると、AIが生成したコードが複雑になりすぎて、何かバグが起きたときに自分では手が出せなくなる。

今のやり方はシンプルだ。1回の指示で1つの機能だけを頼む。「このボタンを押したらコピーされるようにして」「エラーメッセージを日本語にして」——この粒度で進めると、生成されたコードが読めなくても、何をしているかは理解できる。スコープを絞ることが、AIとの開発で一番大切なことだと思っている。

CLAUDE.mdで「記憶」を補う

AIには会話をまたいだ記憶がない。新しいチャットを開くたびに、プロジェクトの仕様・使っている技術・これまでの判断をゼロから説明し直す必要がある。

これを解決するために、各プロジェクトのルートにCLAUDE.mdというファイルを置いている。スタック・ホスティング設定・デザイン方針・やってはいけないことを書いておくと、AIが毎回その文脈を読んでから作業してくれる。これがないと、同じ説明を何度もすることになる。

エラーが出たら「文脈ごと」貼る

エラーが出たとき、最初は「このエラーどういう意味?」とだけ聞いていた。これだと的外れな回答が返ってくることが多い。

今はエラーメッセージ・関係するコード・やろうとしていたことをセットで貼るようにしている。文脈が揃っていると、AIの回答の精度が一気に上がる。エラーを解決できないときは、大抵「情報が足りていない」か「スコープが大きすぎる」かのどちらかだ。

AIに任せること・任せないこと

コードを書く作業はAIに任せる。でも、何を作るか・どんな設計にするか・この機能は必要かどうか——これは自分で判断する。

以前、Robloxのゲームを作りかけたとき、データ保存の実装をAIに丸投げしたことがあった。コードは動いたが、構造が複雑すぎて、バグが出たときに自分では直せなかった。結局そのプロジェクトは途中で断念することになった。

この経験から、「AIが書けるコード」と「自分が理解できるコード」は別物だと気づいた。理解できないコードに依存すると、後で詰む。だから今は、生成されたコードをざっくりでも読んで、何をしているかを把握してから次に進むようにしている。

初心者でも作れる時代だからこそ

AIのおかげで、プログラミング未経験でもWebツールを公開できる時代になった。ただ、AIは「何を作るか」を教えてくれない。自分が困った問題・自分が欲しいと思ったもの——そこにしかオリジナルのプロダクトは生まれない。

Chizmo Toolsも、自分がRoblox開発や日常生活でつまずいた場所から生まれたツールばかりだ。AIはそれを形にする手段にすぎない。「何を作るか」を考えることだけは、まだ人間の仕事だと思っている。