AI開発の教科書

コードを1行も書かずにプロダクトを作る。

目次を見る

序章

コードは、もう書かなくていい。

この教科書を読んでいただきありがとうございます。音楽家でありエンジニアの吉田博です。

いきなりですが、衝撃的なことを言います。

僕はここ半年以上、コードを1行も手で書いていません。

それでも、SNSの自動投稿システム、AIコンテンツ生成パイプライン、ダッシュボード付きの管理画面、ブログの自動運用——これらすべてを、ひとりで開発し、本番で運用しています。

「そんなの嘘だろう」と思うかもしれません。でも本当です。僕がやっているのは、AIに「何を作りたいか」を伝えること。それだけです。

全部試した。そして辿り着いた。

2024年から2025年にかけて、AIを使った開発ツールが次々と登場しました。僕は片っ端から試しました。

GitHub Copilot。 コードの補完が賢い。でも結局、自分でコードを書いている延長線上でしかなかった。

Cursor。 エディタにAIが統合されていて、最初は感動した。チャットで指示を出せば、コードを書いてくれる。でも使い込むうちに気づいた。チャット欄が邪魔で、エディタ画面がごちゃごちゃする。そもそも、コードを「見ながら」作業する必要が本当にあるのか?と。

Windsurf。 Cursorの対抗馬。悪くないが、本質的にはCursorと同じ——エディタの中にAIがいる、というアプローチ。

そしてある日、Claude Codeに出会った。

ターミナルで動く。エディタはない。GUIもない。あるのは黒い画面と、テキストの入力欄だけ。

最初は「これで開発できるのか?」と思った。でも使い始めて5分で確信した。

これだ。

なぜCLIなのか

ここで少し歴史の話をさせてください。

CLI——コマンドラインインターフェース。黒い画面にテキストを打ち込んで、コンピュータに指示を出す方法。これが生まれたのは1964年。もう60年以上前です。

その間、コンピュータの世界では無数のインターフェースが生まれては消えていきました。

Macintoshが生まれた。Windowsが生まれた。スマートフォンが生まれた。タッチスクリーン、音声認識、VR。あらゆる「新しいインターフェース」が登場してきた。

でも、CLIは死ななかった。

2026年の今、世界中のエンジニアが毎日使っているのは、60年前と本質的に同じ「黒い画面」です。なぜか?

速いから。軽いから。正確だから。

GUIはマウスを動かして、ボタンを探して、クリックして、読み込みを待って、またクリックする。CLIは、打った瞬間に返ってくる。余計な装飾がない分、思考と実行の間にタイムラグがない。

そしてもうひとつ、決定的な理由がある。

エンジニアと一般人を分ける、最後の砦

プログラミングスクールは山ほどあります。「未経験からエンジニアへ」を謳う広告も溢れている。HTML、CSS、JavaScript、React——カリキュラムに載っている技術は時代とともに変わっても、本質的にやっていることは「コードの書き方を教える」ことでした。

でも、AIの登場でゲームのルールが根本から変わった。

コードは、AIが書く。

じゃあ人間に残された仕事は何か?

「何を作るか」を考えること。そして、それをAIに正確に伝えること。

その「伝える」ためのインターフェースが、CLIなんです。

GUIベースのAIツール(CursorやWindsurf)は、コードを「見せてくれる」。でも、見る必要がないものを見せられても、それはノイズでしかない。

CLIなら、あなたとAIの間にあるのは言葉だけ。「何を作りたいか」を伝えて、AIが作る。できたものを確認する。修正があれば、また言葉で伝える。

このシンプルさが、最強なんです。

そして、この黒い画面——CLIを自在に使えるようになることが、エンジニアと一般ビジネスユーザーを分ける最後の砦です。

この砦を越えた瞬間、あなたは「AIに作らせる側」になれる。プログラミングの知識がなくても。コードが読めなくても。

この教科書で伝えたいこと

この教科書は、プログラミングを教えません。

教えるのは、AIと一緒にプロダクトを作る方法です。

必要なのは、パソコンと、ターミナルと、Claude Code。それだけ。

僕自身の経験をベースに、実際にどうやってプロダクトを作っているのか、その全プロセスを共有します。これは机上の空論ではありません。今この瞬間も、この方法で実際にシステムが動いています。

コードを書く時代は終わりました。

コードを導く時代が始まります。

さあ、黒い画面を開きましょう。


第一章 環境を整える

作業画面のイメージ

最初に、完成形をお見せします。

あなたの作業画面はこうなります。ディスプレイに全画面のウインドウを2つ並べる。

左: ターミナル(Claude Code) — すべての作業はここ 右: VSCode — git の差分を見たい時だけ見る

この2画面が、あなたの開発環境のすべてです。

従来のエディタは「コードを書く場所」でした。でもこの教科書では、VSCodeは「AIが書いたコードの変更点を確認するためのビューワー」でしかありません。

考えてみてください。あなたが家を建てる時、設計図の一本一本の線を自分で引きますか? 建築士に「こういう家が欲しい」と伝えて、できた図面を確認しますよね。AIでの開発も同じです。

では、この環境をひとつずつ作っていきましょう。

ステップ1: ターミナルを開く

Macの場合、最初から「ターミナル」アプリが入っています。Spotlight検索(Command + Space)で「ターミナル」と打てば出てきます。

慣れてきたらiTerm2に切り替えることをおすすめします。画面分割やタブ機能が便利で、多くのエンジニアが使っています。無料です。iTerm2の公式サイトからダウンロードできます。

ターミナルを開いたら、まず動作確認。以下を入力してEnter。

echo "Hello, AI Development!"

画面に「Hello, AI Development!」と表示されたら成功。これが、あなたとコンピュータの最初の会話です。

ステップ2: Homebrewを入れる

Homebrewは、Macに開発ツールをインストールするためのパッケージマネージャです。App Storeのターミナル版だと思ってください。開発に必要なものは、ほぼこれで入ります。

ターミナルに以下を貼り付けてEnter。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Macのログインパスワードを求められるので入力。インストール完了まで数分待ちます。

注意: インストール完了後に「Next steps」としてPATHの設定コマンドが表示されることがあります。表示されたら、そのコマンドもコピーして実行してください。

終わったら確認。

brew --version

バージョン番号が表示されればOK。

ステップ3: Node.jsを入れる

Node.jsは、JavaScriptをパソコン上で動かすための実行環境です。Claude Codeを含む現代のWeb開発ツールのほとんどが、これを必要とします。

brew install node

インストールが終わったら確認。

node -v

npm -v

両方ともバージョン番号が表示されればOK。

ここで出てきたnpm(Node Package Manager)について説明します。npmは、世界中の開発者が作ったツールやライブラリを1コマンドでインストールできる仕組みです。「開発者のためのApp Store」をコマンドラインで使えるようにしたもの、と思ってください。

Claude Codeも、React(Webアプリのフレームワーク)も、Tailwind CSS(デザインツール)も、全部npmで入れます。

ちなみにpnpmという名前を見かけることがあります。npmの高速・省ディスク版です。プロジェクトが大きくなったら乗り換えてもいいですが、最初はnpmで十分です。

ステップ4: Gitを確認する

Gitは、コードの変更履歴を記録するバージョン管理ツールです。ゲームの「セーブポイント」を作れると思ってください。

AIが何かを壊してしまっても、前のセーブポイントに戻れる。これがないと怖くて開発できません。

Macの場合、Gitは最初から入っていることが多いです。

git --version

バージョンが表示されればOK。表示されない場合は「Xcode Command Line Toolsをインストールしますか?」と聞かれるので、インストールしてください。

次に、Gitに自分の情報を設定します(初回だけ)。

git config --global user.name "あなたの名前"

git config --global user.email "your@email.com"

そしてGitHubのアカウントも作っておいてください。GitHubは、Gitで管理しているコードをクラウドに保存するサービスです。世界中の開発者が使っています。無料です。

ステップ5: Claude Codeを入れる

いよいよ本体です。

npm install -g @anthropic-ai/claude-code

-gは「グローバルインストール」の意味。どのフォルダからでもclaude コマンドが使えるようになります。

インストールが終わったら、作業用のフォルダを作りましょう。

mkdir ~/my-first-project

cd ~/my-first-project

そして起動。

claude

初回起動時、ブラウザが自動で開いてAnthropicのログイン画面が表示されます。アカウントを作成してログインしてください。

認証が完了すると、ターミナルに入力欄が現れます。黒い画面に、カーソルが点滅している。

これが、あなたの開発環境です。

試しに何か打ってみましょう。

このフォルダにREADME.mdを作って。プロジェクト名は「My First Project」、説明は「AI開発の練習用プロジェクト」で。

AIがファイルを作ってくれたら、セットアップは完了です。あなたはもう、AIに「作らせる」体験をしました。

ステップ6: VSCodeを入れる

Visual Studio Code(VSCode)はMicrosoftが作った無料のコードエディタです。公式サイトからダウンロード・インストールしてください。

インストールしたら、ターミナルから直接開けるようにします。VSCodeを起動して、Command + Shift + Pでコマンドパレットを開き、「Shell Command: Install 'code' command in PATH」を選択。

これで、ターミナルから

code .

と打つだけで、今いるフォルダをVSCodeで開けるようになります。さっき作ったmy-first-projectフォルダで試してみてください。README.mdが見えるはずです。

料金の話

Claude Codeの料金プランは3段階あります(2026年2月現在)。

無料 / APIキー従量課金。 Anthropicのアカウントを作ってAPIキーを発行すれば、使った分だけ支払う形で始められます。最初の感触を掴むにはこれで十分。少し試してみて「これは使える」と思ってからプランに切り替えればいい。

Claude Pro(月額$20)。 Claude Codeも使える。ライトな開発や学習用途なら十分。まずはここから始めるのがおすすめです。

Claude Max(月額$100〜)。 本格的に開発するならこれ。使い放題で月額固定。どれだけ大きなプロジェクトを作っても追加料金はかかりません。僕はこれを使っています。

「$100は高くない?」

比較してみましょう。

  • プログラミングスクールの受講料: 30〜80万円
  • エンジニアを1人雇う月額: 50〜100万円
  • Cursorの有料プラン + API従量課金: 月額$20 + 使った分だけ(予測不能)

しかも、これ1つでフロントエンド、バックエンド、データベース設計、デプロイまで全部できる。専門のエンジニアを何人も雇う代わりに、月$100。API従量課金の恐怖を知っている人なら、定額の安心感のありがたさがわかるはずです。

でも、いきなりMaxにする必要はありません。 まずは無料かProで始めて、手に馴染んできたらMaxに上げる。それで十分です。

CLAUDE.md — プロジェクトの説明書

最後に、ひとつだけ覚えておいてほしいことがあります。

プロジェクトのフォルダにCLAUDE.mdというファイルを置くと、Claude Codeが毎回起動時にそれを読みます。プロジェクトの背景や、あなたの好みを覚えさせておくファイルです。

例えば、こんな内容。

このプロジェクトは個人の音楽教室のWebサイトです。 Next.js + Tailwind CSSで作っています。 日本語で回答してください。 テストを書いてからコードを修正してください。

これだけで、毎回AIに「これは何のプロジェクト?」と説明する手間がなくなります。プロジェクトが大きくなるほど、このファイルの威力を実感します。

書き方に正解はありません。AIに「こう振る舞ってほしい」と思うことを自由に書いてください。


第二章 AIに伝える技術

「何を作りたいか」を言語化する

Claude Codeを起動した。入力欄が目の前にある。

さあ、何を打ちますか?

ここが、この教科書の一番大切な部分です。AIの開発において最も重要なスキルは、プログラミングではありません。

「何を作りたいか」を、明確な言葉にする力です。

例えば、こんな指示はうまくいきません。

いい感じのWebサイトを作って

AIは「いい感じ」がわかりません。

こうすると、うまくいきます。

個人の音楽教室のランディングページを作って。 ターゲットは30代〜40代の社会人で、趣味でギターを始めたい人。 セクション構成: ヒーロー、講師紹介、レッスン内容、料金、アクセス、お問い合わせフォーム。 デザインは温かみのある、落ち着いた雰囲気で。

この違い、わかりますか?

具体的であればあるほど、AIのアウトプットは正確になる。

これは、AIに限った話ではありません。人に仕事を頼む時も同じ。「いい感じにやっといて」で完璧な成果物が上がってくることは、まずない。

段階的に指示を出す

もうひとつ大事なことがあります。

一度に全部を作ろうとしない。

大きなシステムを作りたい場合、最初から完成形を一発で指示するのは難しいし、AIも混乱します。

代わりに、こうします。

まず、ユーザーがログインできる画面を作って。メールアドレスとパスワードで。

動くものができたら確認する。OKなら次へ。

ログイン後に、ダッシュボードを表示して。左にサイドバー、メインエリアに今日のタスク一覧。

また確認。OKなら次。

タスクの追加と削除ができるようにして。

この「少しずつ積み上げる」アプローチが、AI開発の基本です。

一歩ずつ確認しながら進むから、間違った方向に大きくズレることがない。もしどこかで意図と違うものができたら、その場で軌道修正できる。

ただし、魔法の杖ではない

ここで正直に言っておかないといけないことがあります。

大きなプロジェクトを、仕様書だけAIにどんと渡して「いい感じに作って」——これはほぼうまくいきません。

小さなサイトや単機能のツールなら一発でできる。でも、システムが大きくなればなるほど、人間が判断すべきポイントが莫大に増えます。この機能はこっちのデータと連携するのか? このエラーの時はどう振る舞うべきか? この画面遷移は本当にこれでいいのか?

AIは指示された通りに作るのは得意です。でも、「何を作るべきか」の判断は、あなたにしかできない。

だからこそ「段階的に」なんです。大きなものを一気に作ろうとするんじゃなく、小さく作って、確認して、方向を修正して、また積み上げる。この繰り返しの中で、あなたの判断力がプロダクトの品質を決めます。

作りながら学ぶ

もうひとつ、大事なことがあります。

AI開発では、全部わかってから始める必要はありません。

従来の開発では「まずプログラミングを学んで、フレームワークを学んで、設計パターンを学んで——」と、インプットが先でした。何ヶ月も勉強してから、やっと手を動かす。

AI開発は逆です。作りながら学ぶ。

例えば、作っている最中に「この処理、もっと効率的なやり方があるのかな?」と思ったら、AIに聞きます。

他にどんなやり方がある?一般的にはどうするの?

AIは代替案をいくつも教えてくれます。それぞれのメリット・デメリットも。それを読んで、「じゃあこっちにしよう」と判断する。その瞬間、あなたの知識は確実に増えています。

Zennやdev.toなどの技術ブログを眺めて、「こういうアプローチがあるんだ」と思ったら、理解しきれなくても大丈夫。そのままAIに渡して「この記事のアプローチを、今のプロジェクトに適用できる?」と聞けばいい。

世界中の最新の知見に、いつでもアクセスできる。 これは、教科書で勉強していた時代には不可能だったことです。

「見て確認する」習慣

VSCodeの出番はここです。

Claude Codeが何かを変更したら、VSCodeで git diff を確認します。「ああ、ここにログイン処理が追加されたんだな」「このファイルが新しくできたんだな」——コードの中身を完全に理解する必要はありません。何が変わったかの全体像を把握するだけでいい。

これは、建築の施主が設計図の全ての記号を読めなくても、「1階に大きなリビングがあって、2階に寝室が3つ」という構造を確認できるのと同じです。

慣れてくると、差分を見なくても大丈夫になります。でも最初は、確認する癖をつけましょう。


▼ このキーボードも、AIで作ったものです。実際に触ってみてください。

第三章 最初のプロダクトを作る

体験してみよう

理論はここまで。実際に何か作ってみましょう。

ターミナルでClaude Codeを起動して、こう入力してください。

個人のポートフォリオサイトを作りたい。名前は「山田太郎」、職業はフリーランスのデザイナー。シンプルで洗練されたデザインで、自己紹介、スキル、制作実績、お問い合わせのセクションがあるページ。Next.jsとTailwind CSSで作って。

Enterを押す。

AIが動き始めます。ファイルが次々と作られていく。コンポーネントが生成される。スタイルが適用される。

数分後、ターミナルにこう表示されるはずです。

開発サーバーを起動しますか?

YESと答えれば、ブラウザでサイトが表示されます。

これが、あなたが「コードを1行も書かずに」作った最初のWebサイトです。

うまくいかない時は

もしAIが途中で止まったり、エラーが出たりしても焦らないでください。そういう時は、エラーメッセージをそのままAIに伝えればいい。

このエラーが出たんだけど、直して

Claude Codeはエラーを読んで、原因を特定して、修正してくれます。あなたがエラーの意味を理解する必要はありません。「エラーが出た」という事実だけ伝えればいい。

もうひとつのコツ。ブラウザで表示を確認して、「ここが違う」を具体的に伝える。

ヒーローセクションの背景が白すぎるから、薄いグレーにして。あとフォントサイズがちょっと小さいから、もう少し大きく。

このやりとりの繰り返しが、開発そのものです。

ここから先は、あなた次第

「もっと制作実績のセクションにアニメーションを付けたい」 「お問い合わせフォームをGoogleフォームじゃなくて、ちゃんとしたものにしたい」 「ダークモードに対応させたい」

思いつくままに、言葉で伝えてください。AIが実現してくれます。

ここに、プログラミングの知識は1ミリもいりません。必要なのは、「こうしたい」という意思と、それを言葉にする力だけです。


第四章 Web開発の道具箱

全部自分で作らなくていい

現代のWeb開発で最も大事な考え方のひとつ。

車輪の再発明をするな。

認証機能、データベース、決済、メール送信、ファイルアップロード——これらはすべて、世界中の優秀なエンジニアが作って、サービスとして提供してくれています。自分でゼロから作る必要はありません。

そして、これらのメジャーなサービスはAIの学習データにも大量に含まれている。つまり、「Supabaseでユーザー認証を作って」と指示すれば、AIは正確なコードを出してくれる。マイナーなサービスを選ぶとAIの精度が下がります。

ここでは、Web開発でよく使う外部サービスを紹介します。全部覚える必要はありません。「ああ、こういうのがあるんだな」とわかっていれば、必要な時にAIに「これ使って」と指示できます。

ホスティング — アプリを公開する場所

作ったWebアプリを世界中からアクセスできるようにするサービスです。

Vercel。 Next.js(Reactのフレームワーク)を作った会社。Next.jsとの相性が抜群で、GitHubにコードをpushするだけで自動デプロイされる。個人開発なら無料枠で十分。これから始めるならまずVercel。

Firebase Hosting。 Googleが運営。静的サイト(ブログやランディングページなど、サーバー処理が少ないサイト)に強い。この教科書を載せているサイトもFirebase Hostingで動いています。

Cloudflare Pages。 とにかく速い。世界中にCDN(コンテンツ配信ネットワーク)があり、どこからアクセスしても高速。Cloudflare Workersというサーバーレス実行環境も使える。

AWS(Amazon Web Services)。 何でもできる。が、何でもできるがゆえに複雑。設定項目が膨大で、初心者が手を出すと確実にハマる。大規模なサービスを運用する段階になったら検討すればいい。最初は手を出さないこと。

データベース — データを保存する場所

ユーザー情報、投稿内容、商品データ——アプリのデータを保存する場所です。

Supabase。 PostgreSQL(世界で最も信頼されているデータベースのひとつ)をベースに、認証、リアルタイム同期、ストレージまで全部入り。管理画面が見やすい。オープンソース。個人開発で迷ったらSupabase。

Firebase / Firestore。 Googleが運営。NoSQL(非リレーショナル)型。データの読み書きが簡単で、リアルタイム同期が強い。小〜中規模のアプリなら手軽に使える。ただし、複雑なクエリ(データの検索条件)になると辛くなってくる。

認証 — ログイン機能

自前でパスワード管理を実装するのは絶対にやめてください。セキュリティの専門家でない限り、穴だらけになります。既存のサービスを使いましょう。

Supabase Auth / Firebase Auth。 データベースにSupabaseやFirebaseを使っているなら、そのまま付属の認証機能を使うのが最も楽。Google、GitHub、メールアドレスなど、複数のログイン方法に対応。

Clerk。 認証に特化したサービス。ログインフォームやユーザー管理画面まで、UIコンポーネントごと提供してくれる。「とにかく楽にログイン機能を作りたい」ならこれ。

決済 — お金を受け取る

Stripe。 事実上のグローバルスタンダード。APIの設計が美しく、ドキュメントが丁寧。世界中で使われているのでAIの知識も豊富——「Stripeで月額課金を実装して」と言えば、かなり正確なコードが出てきます。

クレジットカード決済、サブスクリプション、請求書発行、何でもできます。個人でも法人でも使えます。

ドメインとCDN

Cloudflare。 ドメイン(example.comのようなアドレス)の取得・管理から、DNS設定、CDN(世界中への高速配信)まで、これ1つで完結。無料プランが充実していて、個人開発なら十分。

ドメインの取得は他にも「お名前.com」などのサービスがありますが、管理画面の使いやすさと価格の透明性でCloudflareがおすすめです。

その他、知っておくと便利なもの

GitHub。 コードの保存場所であり、開発者のSNS。Vercelとの連携、チーム開発、Issue管理——開発のすべてがここを中心に回っています。アカウントは必須。

SendGrid / Resend。 アプリからメールを送るためのサービス。お問い合わせフォームの自動返信、パスワードリセットメールなど。

Hono。 軽量で高速なWebフレームワーク。APIサーバーを作る時に使います。Cloudflare Workers上でも動く。日本人が作ったプロジェクトで、ドキュメントも充実。

メジャーを選べ

繰り返しますが、ここに挙げたサービスは全世界で広く使われているものです。

マイナーなサービスやニッチなライブラリを選ぶと、AIの出力精度が下がります。ネット上の情報も少ないから、ハマった時に解決策が見つからない。

迷ったら、メジャーを選べ。 それが、AI開発で最も効率よく成果を出すためのコツです。

各サービスの詳しい使い方や連携方法は、個別の記事やレッスンで解説していきます。


第五章 作ったものを世に出す

ローカルから世界へ

前の章で作ったサイトは、まだあなたのパソコンの中にしかありません。これを、世界中の誰もがアクセスできる場所に置きましょう。

これを「デプロイ」と言います。

第四章で紹介したVercelを使います。Claude Codeにこう伝えてください。

このサイトをVercelにデプロイして

AIが何をするかというと、まずVercel CLIがインストールされているか確認し、なければインストール。Vercelのアカウント認証を案内し、プロジェクトの設定を行い、デプロイを実行します。すべて、あなたの代わりに。

数分後にはURLが発行されます。そのURLを誰かに送れば、あなたが作ったサイトが見られる。

作ったものが世に出る瞬間。この感動は、何度経験しても色褪せません。

GitHubと連携する

本格的に開発を進めるなら、コードをGitHubに保存しましょう。

このプロジェクトをGitHubにpushして。リポジトリ名は my-first-project で。

VercelはGitHubと連携できるので、一度設定すればGitHubにコードをpushするたびに自動でデプロイされます。AIに変更を指示して、確認して、pushする——それだけでサイトが更新される。

独自ドメインを設定する

Vercelが発行するURLは「あなたのプロジェクト名.vercel.app」のような形式です。これでも十分ですが、本格的に運用するなら独自ドメインを設定しましょう。

独自ドメイン example.com をこのVercelプロジェクトに設定する手順を教えて

AIは手順を教えるだけでなく、必要な設定作業も手伝ってくれます。


第六章 ここから先の世界

あなたは「作る側」になった

ここまで読んで、実際に手を動かしたあなたは、もう「作る側」の人間です。

ポートフォリオサイトを作った。デプロイした。世界中からアクセスできるようになった。コードは1行も書いていない。

これができるなら、もう何でも作れます。

  • 会社の業務管理システム
  • ECサイト
  • 予約システム
  • チャットボット
  • データ分析ダッシュボード

すべて、同じ方法で作れる。「何を作りたいか」をAIに伝える。確認する。修正する。デプロイする。

仕事にする

この技術は、仕事になります。

「AIを使って、御社の業務を自動化するシステムを作ります」

これが言えるようになったら、それはもう立派なDXコンサルタントです。プログラミングスクールに何十万も払って、何ヶ月も勉強して、それでも「実務経験がない」と言われて就職できない——そんな時代とは、もう違います。

AI時代に必要なのは、コードを書く技術ではなく、課題を見つけて、それをAIに解かせる力

この教科書は、その第一歩です。


第七章 始める前に知っておくこと

とりあえずMacにしとけ

WindowsでもAI開発はできます。Claude CodeもWindowsで動きます。

でも、やめとけ。

理由は単純で、CLIで無駄にハマるポイントが多すぎる。パスの区切りがバックスラッシュ、環境変数の設定方法が違う、シェルスクリプトがそのまま動かない、WSL(Windows Subsystem for Linux)を入れたら入れたで別の問題が出る——。

ネット上のチュートリアルや記事の大半はMacかLinux前提で書かれています。Windowsで同じことをやろうとすると「あれ、ここ違うぞ」が頻発する。その度に調べて回り道する時間が、積み重なると膨大になる。

開発の世界で「Macを使え」と言われるのは、Apple信者だからじゃない。余計なところでハマらないためです。

一番安いMacBook Airで十分。中古でもいい。開発を始めるための投資としては、これが一番コスパがいい。

最低限の基礎知識

この教科書は「コードを書かなくていい」と言っています。それは本当です。でも、何が起きているかを全く理解しなくていいとは言っていません。

以下の4つは、浅くでいいので知っておいてください。深く勉強する必要はありません。「ああ、こういうことね」とわかる程度で十分です。

CLIの基礎。 ターミナルでディレクトリを移動する、ファイルを一覧する、コピーする。この程度の操作は手が勝手に動くようにしておきましょう。AIに指示を出すにも、今自分がどこにいるかを把握していないと話が始まりません。

Linuxの基礎。 サーバーの世界はほぼLinuxです。デプロイしたアプリがどこでどう動いているのか、ぼんやりとでもイメージできると、問題が起きた時の対処が早くなります。

ネットワークの基礎。 IPアドレス、ポート、DNS、HTTPとHTTPS。「ブラウザにURLを入れたら何が起きるか」を人に説明できる程度に知っておくと、Webアプリの開発がスムーズになります。

Webアプリの仕組み。 フロントエンド(ブラウザ側)とバックエンド(サーバー側)がある。APIで通信する。データベースにデータを保存する。この構造がわかっていれば、AIに「バックエンドにAPIを追加して」と指示できます。

繰り返しますが、深くやる必要はありません。それぞれ数時間、YouTubeの入門動画を見るだけでも十分です。AIに「ネットワークの基礎を教えて」と聞いてもいい。


第八章 なぜWebアプリなのか

ネイティブアプリの闇

「アプリを作りたい」と思った時、多くの人が最初にイメージするのはスマホアプリでしょう。App StoreやGoogle Playに並んでいる、あれです。

いわゆる「ネイティブアプリ」。iOSならSwift、AndroidならKotlin。それぞれの開発環境で、それぞれの言語で、それぞれのルールに従って作る。

僕の正直な感想を言います。

よほどの理由がない限り、ネイティブはやめとけ。

理由を挙げます。

Xcodeという存在。 AppleのiOS開発ツールであるXcodeは、世界中の開発者を苦しめてきた伝説的なソフトウェアです。アップデートのたびに何かが壊れる。ビルドが通らない。エラーメッセージが意味不明。設定項目が膨大。Apple独自のルールが山のようにある。AI時代になっても、Xcodeの設定でハマる時間は減りません。

開発者登録。 AppleのDeveloper Programは年間$99(約15,000円)。Googleは初回$25。お金だけの問題じゃなく、審査プロセスが面倒で、リジェクト(却下)されることも珍しくない。

Appleの30%。 App Storeで何かを売ると、Appleが売上の30%を持っていきます。あなたが1,000円のアプリを売ったら、300円はAppleのもの。サブスクリプションでも同じ。これは無視できないコストです。

2つのプラットフォーム。 iOSとAndroid、両方に対応しようとすると開発量が単純に倍になる。React NativeやFlutterでクロスプラットフォーム開発もできますが、結局それぞれ固有の問題にハマります。

Webアプリという選択肢

一方、Webアプリ。ブラウザで動くアプリケーション。

  • 開発言語が1つで済む。 React + TypeScript。iOS用もAndroid用も別々に作る必要がない
  • 審査がない。 作ったら即公開できる。Appleの許可はいらない
  • 手数料ゼロ。 売上の30%を誰かに取られることはない
  • URLでアクセスできる。 インストール不要。リンクを送るだけ

「でも、ネイティブアプリの方がユーザー体験がいいんじゃ?」

昔はそうでした。でも2026年の今、PWA(Progressive Web App)の技術でプッシュ通知もオフライン対応もできます。ほとんどのユースケースで、Webアプリで十分です。

どうしてもカメラの高度な制御やARが必要、App Storeに並べたい明確な理由がある——そういう場合だけネイティブを検討すればいい。それ以外は、Webで作れ

React + TypeScript を選ぶ理由

Web開発のフレームワークは山ほどあります。Vue、Svelte、Angular、Next.js、Nuxt——。

その中でReact + TypeScriptを推す理由は単純です。

求人数が圧倒的に多い。 つまり仕事になりやすい。

情報量が圧倒的に多い。 つまりAIの学習データにも大量に含まれている。Claude CodeにReactで指示を出すと、精度が高い。マイナーなフレームワークだとAIの出力品質が下がります。

エコシステムが成熟している。 やりたいことは大抵、既にライブラリがある。

「Pythonはどうなの?」

Pythonは素晴らしい言語です。AIや機械学習、データ分析の分野では事実上の標準。でもWebアプリのフロントエンドは書けません。サブ言語として持っておくのはいいですが、最初に学ぶならReact + TypeScript。これでフロントもバックも作れます。


第九章 プログラミング言語に固執するな

AIがバイナリを直接書く未来

イーロン・マスクがこんなことを言っています。「いずれAIが直接バイナリコードを書くようになるだろう」と。

僕も、それはあり得ると思っています。

今、人間がPythonやJavaScriptで書いたコードは、最終的には機械語(バイナリ)に変換されてコンピュータが実行します。プログラミング言語は、人間とコンピュータの「通訳」のようなものです。

AIが十分に賢くなれば、その通訳はいらなくなる。人間が「こういうものを作りたい」と言えば、AIがダイレクトに実行可能なプログラムを生成する。プログラミング言語という中間層が消える。

それがいつ来るかはわからない。でも方向性としてはそちらに向かっている。

だから、特定のプログラミング言語を深く学ぶことに固執するのは、もう意味が薄い

じゃあ何を身につけるべきか

言語は変わる。フレームワークも変わる。でも、変わらないものがあります。

正確な仕様を書く力。 「何を作りたいか」を曖昧さなく定義できること。これはAIに指示を出す時も、人に仕事を頼む時も、永遠に必要です。

テストの大切さ。 作ったものが本当に正しく動いているか確認する習慣。AIが書いたコードだからといって、無条件に信頼してはいけません。「これで合ってる?」を常に確認する。

スコープを決めること。 「あれもこれも」と機能を詰め込みたくなる気持ちはわかります。でも、最初のバージョンで必要なものだけに絞る。これができるかどうかで、プロジェクトが完成するかしないかが決まります。

外部サービスとの連携。 現代の開発は、全てを自分で作る時代ではありません。決済はStripe、認証はFirebase Auth、メールはSendGrid、データベースはSupabase——。適切なサービスを選んで、つなげる。この「つなげる力」がますます重要になっています。

2週間の仕事を、その場で

2024年の冬のことです。

ある案件で、経歴20年以上のベテランプログラマと一緒に打ち合わせをしていました。複雑なJSONデータを解析する必要があり、従来の感覚では「そのコードを書くのに2週間くらいかかるよね」という話になりました。

僕は言いました。「いや、こういうのAIに読み込ませたら一瞬でできますよ」

ベテランの彼は笑って言いました。「そんなんできたら失業だよ!」

冗談のつもりだったんでしょう。でも僕はその場でやってみた。AIにJSONの構造を渡して、解析コードを生成させた。

ほぼ、できてしまった。

あの瞬間の空気を、僕は今でも覚えています。時代が変わる瞬間を、目の前で見た。

批判の中で

AI開発が広まり始めた頃、批判もたくさんありました。「AIで書いたコードなんて信用できない」「ちゃんとコードを理解してないやつが作ったものは使えない」「AIに頼るのはエンジニアとして恥ずかしい」。

僕はそういう声を聞きながらも、確信していました。絶対にAIを使いこなす側になった方がいいと。

40歳を過ぎてミュージシャンからエンジニアに転向した僕にとって、「35歳定年説」なんて言われるこの業界で生き残るには、誰よりも早く新しい武器を手にするしかなかった。

ChatGPTが出る前にエンジニアになった。最初は普通にコードを書いていた。そこにChatGPTが登場し、「これは使えまくる」と直感した。ファイルを丸ごとコピーしてコンテキストを渡したり、「この問題を解くにはこのコードのここを見て」と切り貼りしたり——今思えば原始的な方法だけど、誰よりも試行錯誤した。

そこから2年。ツールは信じられないスピードで進化し、今ではAIが勝手にコードベース全体を理解して、的確な修正を加えてくれる。

メタ認知——AI時代の最重要スキル

ここまで読んで、「仕様を書く力」「テスト」「スコープを決める力」——どれも大事だと思ったでしょう。でも、これらすべての土台にある、もっと根本的なスキルがあります。

メタ認知。

「自分が今、何に詰まっているかを正確に認識する力」です。

開発中に壁にぶつかった時、こう自問してみてください。

何に詰まっている? 構造(アーキテクチャ)が悪いのか? そもそもの仕様が間違っているのか? 技術選定を誤ったのか? 単純に自分の知識が足りないのか?

この「一歩引いて、問題を俯瞰する力」が、AI時代には決定的に重要になります。

なぜなら、問題を正確に特定できれば、AIが解決してくれるからです。

「なんかうまくいかない」——これではAIも助けようがない。でも「データベースの設計が原因でパフォーマンスが落ちているっぽい。一般的にこういうケースではどう設計する?」と聞ければ、AIは世界中のベストプラクティスを教えてくれます。

詰まったら、一回手を止める。検索する。AIに「他の人はこういう問題をどう解決してる?」と聞く。技術ブログを読んで、理解しきれなくてもAIに「これ、うちのプロジェクトに当てはまる?」と聞く。

この「立ち止まって、問い直す」サイクルを回せる人が、AI時代に最も伸びます。

ベテランの罠

興味深いことに、この「メタ認知力」については、経験豊富なベテランプログラマの方がむしろ不利なことがあります。

20年コードを書いてきた人は、自分の経験に基づいた「正解」を持っています。「こういう時はこう書く」「このパターンはこう解決する」——。長年の蓄積であり、それ自体は素晴らしい財産です。

でも、その経験が白紙の視点で問い直す力を邪魔することがある。

「AIに聞くまでもない、自分は答えを知っている」——そう思った瞬間、世界中の最新知見にアクセスするチャンスを自ら閉じてしまう。

一方、経験のない人は「わからない」からスタートする。わからないからAIに聞く。AIが教えてくれた選択肢の中から選ぶ。そのプロセスで、自然と2026年時点での最適解に辿り着く。

経験ゼロが武器になる時代なんて、10年前には想像もできなかったことです。

最後に残るもの

技術は変わる。ツールも変わる。言語もフレームワークも、5年後には別のものが主流になっているかもしれない。

でも、やり遂げる力は変わらない。

何度もエラーにぶつかって、何度も調べ直して、何度もやり直す。「もう無理かも」と思った深夜3時に、もう一回だけ試してみる。その「もう一回」で、動く。

AIがどれだけ賢くなっても、「これを完成させるんだ」という意思は、あなたの中にしかありません。

それこそが、AI時代に最も価値のあるスキルです。


おわりに

60年の砦を、越えた先に

CLIは60年間、エンジニアだけの道具でした。

黒い画面。意味不明なコマンド。一般の人が近づこうとしない、プロフェッショナルの領域。

でも、AIがその壁を溶かしました。

黒い画面に打ち込むのは、もうコマンドじゃない。あなたの「こうしたい」という思いです。

プログラマがいらなくなる時代——それは、誰もがプログラマになれる時代の別の言い方にすぎません。

60年の砦を越えましょう。その先に、あなたがまだ見たことのない景色が広がっています。