「AIがコードを書いてくれるなら、もう勉強しなくていいんですよね?」
最近、プログラミング未経験の方からよく聞かれます。半分は当たっていて、半分は外れています。
たしかに今は、Claude Code のような AIに「ブログを作って」と頼めば、それっぽいコードが出てきます。文法を暗記していなくても、動くものに近づける。ここまでは本当です。
でも実際に未経験の方の隣で作業していると、手が止まるポイントはほぼ毎回同じです。コードが書けないからではなく、「自分が何を作りたいのか」を言葉にできないから止まる。
この記事では、未経験者が AIにアプリを作らせるときに本当に詰まる「言語化の壁」と、ふわっとした要望を "AIが動ける具体的な指示" に分解する型を、before/after のプロンプト例つきで書きます。
⚠️ この記事は「自分の要望を言葉にして AIに渡す」発信側の話です。AIが返してくる専門用語を読み解く受信側の話とは別角度なので、用語に溺れて困っている方は別途そちらのアプローチが必要です。
なぜ「アプリ作って」では止まるのか
AIは賢いですが、エスパーではありません。あなたの頭の中にある「こういう感じ」は読めない。だから入力された言葉の範囲でしか動けません。
未経験の方がよくやる丸投げプロンプトはこれです。
タスク管理アプリを作って。
これで返ってくるのは、AIが勝手に想像した「平均的なタスク管理アプリ」です。あなたが本当に欲しかったものとはたいてい違う。そこで「なんか違う」と感じて手が止まる。でもどこがどう違うのかを言葉にできないので、修正の指示も出せず、そのままフェードアウトする。これが未経験者の挫折のかなりの割合を占める、というのが現場での体感です。
ここで効いてくるのは「コードを書く力」ではありません。自分のふわっとした願望を、他人(=AI)が動ける具体的な指示に翻訳する力です。これは言ってしまえば「仕様を言葉にする力」で、エンジニアが普段やっていることそのものです。
要望を分解する4つの型
ふわっとした「○○作りたい」を、AIが迷わず動ける指示に変えるには、最低限この4つを言葉にします。
| 観点 | 問い | 例 |
|---|---|---|
| 誰が(Who) | 誰が使う? | 自分専用? 家族と共有? |
| 何を(What) | 何ができればいい? | タスクの追加・完了チェック・削除 |
| どうなったら完成(Done) | どこまでで「完成」? | 追加して、完了を付けられて、リロードしても消えなければOK |
| 制約(Constraint) | 守ってほしい条件は? | ログイン不要・スマホで見やすく・データは自分のブラウザに保存 |
順番は Who → What → Done → Constraint で考えると埋めやすいです。特に大事なのが Done(どうなったら完成か)。ここを言葉にできていないと、AIも自分も「完成」の判定ができず、永遠に手直しが続きます。
before / after:同じアプリ、違う伝え方
実際に4つの型を使うと、プロンプトはこう変わります。
before(丸投げ・止まる)
タスク管理アプリを作って。
after(分解済み・動ける)
個人用のタスク管理ページを作ってください。
- 誰が: 自分1人だけが使う(ログイン機能は不要)
- 何を: タスクを「追加」「完了チェック」「削除」できる
- 完成の条件: タスクを追加でき、完了のチェックを付け外しでき、
ブラウザをリロードしても入力したタスクが消えないこと
- 制約: スマホでも崩れない見た目/データは自分のブラウザ内に保存
まずこの仕様で合っているか確認してから、実装を始めてください。
after は専門用語を1つも使っていません。それでも AIは「何を作って、どこまでできたら完成か」が分かるので、的外れな出力がぐっと減ります。最後の一文「まず仕様が合っているか確認してから」を足すだけで、いきなり大量のコードを吐かれて迷子になる事故も防げます。
ポイントは、未経験者でもこの4行は書けるということです。useState も localStorage も知らなくていい。「自分が何を欲しいか」を日本語で並べるだけで、AIが動ける指示になります。
Claude Code での実践ワークフロー3つ
ここからは、言語化が苦手な状態からでも回せる具体的なワークフローを3つ。
ワークフロー1:AIに「仕様を言わせてから」作らせる
自分でうまく分解できないときは、分解そのものを AIに手伝ってもらいます。
タスク管理アプリを作りたいのですが、何から決めればいいか分かりません。
いきなりコードは書かず、まず「これを決めないと作れない」という質問を
5つだけ出してください。私がそれに答えたら、その回答をもとに仕様を
箇条書きにまとめ直してください。
AIが「誰が使いますか?」「データは保存しますか?」と聞いてくれるので、それに答えるだけで仕様が埋まります。質問に答える形なら、ゼロから言語化するより圧倒的にラクです。
ワークフロー2:完成条件を「受け入れテスト」の形で書く
Done を箇条書きにするのが難しいときは、「こう操作したら、こうなる」という形にすると一気に書けます。
以下の動作が全部できたら「完成」とします。実装後、この通りに
動くか順番に確認してください。
1. 入力欄に「牛乳を買う」と入れて追加ボタンを押すと、一覧に出る
2. その項目のチェックを押すと、文字に取り消し線がつく
3. 削除ボタンを押すと、一覧から消える
4. ページをリロードしても、1〜3の状態が保たれている
これは未経験者でも書けて、しかも AIにとっては「やることリスト」として最高の指示になります。完成の合否を自分で判定できるようになるのが大きい。
ワークフロー3:プロジェクトの前提を CLAUDE.md に固定する
毎回「スマホで崩れないように」「ログインは不要」と書くのは面倒です。Claude Code なら、プロジェクト共通の前提を CLAUDE.md に書いておくと、毎回のプロンプトから省けます。
# このプロジェクトの前提
- 対象: プログラミング未経験の自分1人が使う練習用アプリ
- 重要: コードを書く前に、まず「何を作るか」の仕様を箇条書きで
確認してから実装を始めること
- 完成の定義は、私が渡す「動作チェックリスト」を全部満たすこと
- 専門用語は使わず、何をしているか一言そえて説明すること
前提を一度言語化してファイルに置くと、以降は要望の差分だけを伝えればよくなります。言語化の負担を「毎回」から「最初の1回」に減らせるのが、AIと長く付き合うコツです。
言語化力は、コードより一生使える
ここまで読んで気づいた方もいると思います。やっていることは「相手が動けるように、要望を具体的な言葉に分解する」だけ。これ、プログラミングだけの話じゃありません。
- 上司に企画を通すとき、「いい感じにして」では伝わらない
- 調べ物をするとき、検索ワードが具体的なほど答えにたどり着く
- チームに仕事を頼むとき、Who / What / Done / 制約が揃っていると手戻りが減る
言語化力は、AIを動かす力であると同時に、仕事のあらゆる場面で効く一生モノのスキルです。文法暗記はAIが肩代わりしてくれる時代だからこそ、「やりたいことを言葉にして人にも機械にも伝える力」の価値が相対的に上がっています。これが AI協働スキルの核心だと考えています。
未経験から始める人へ。最初に鍛えるべきは for 文の書き方ではなく、「自分は何を・誰のために・どうなったら完成として作りたいのか」を言葉にする力です。それさえできれば、コードは AIと一緒に書いて、ちゃんと公開まで持っていけます。
未経験者向けの講座を運営しています
未経験から Next.js + Supabase + Claude Code で Webアプリを作って公開するまで を、全20セッションで体系化した教材です。要望を仕様に分解する考え方から、Claude Code を学習パートナーにする CLAUDE.md / Skills 設計までセットで含みます。
- 無料体験版(git clone してすぐ動く・最初の数セッション分・⭐ Star もよろしくお願いします)→ https://github.com/ayies128/next-ai-camp-trial
- 教材完全版+月5,500円のメンタリング(全20セッション+チャット質問し放題)→ https://menta.work/plan/20251?ref=qiita
- YouTube『AIエンジニア情報局』(AI×開発ニュースを1本5分でキャッチアップできる別運営チャンネル・無料)→ https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/?ref=qiita
※ Qiita 読者の方には易しすぎる内容なので、初心者の知り合いへの紹介や社内研修・後輩育成の参考としてどうぞ。