
天気を調べる、写真を撮る、メッセージを送る。スマホのアプリは、毎日あたりまえのように使っています。でも、アプリの「中身」が何なのかを説明できる人は、あまり多くありません。
私もエンジニアではなく、少し前まではそうでした。AIを使って仕事の仕組みを作るようになって、ようやく分かったのが、この記事のタイトルの答えです。
アプリの正体は、コンピュータへの指示を大量に束ねた「指示書」です。
この記事は、AIで仕事を自動化するときに出てくる言葉を、身近なところから順に解説するシリーズの1本目です。今回は「アプリ」と「プログラミング」の正体に迫ります。
スマホのアプリを開くと、何が起きているのか

天気アプリのアイコンをタップしたとき、スマホの中では、おおよそ次のようなことが順番に起きています。
- アプリを起動する
- 今いる場所を確かめる
- その場所の天気をインターネットで問い合わせる
- 届いた結果を、決められた見た目で画面に並べる
ひとつひとつは、とても単純な作業です。これを「どの順番で」「どんな条件のときに」やるのかが、あらかじめ全部書かれています。その書かれたものが、アプリの中身です。
スマホが賢く見えるのは、スマホが自分で考えているからではありません。誰かが前もって、細かい指示を書いておいたからです。
アプリは「料理のレシピ」と同じつくり

この関係は、料理のレシピにたとえると分かりやすくなります。
| 料理 | アプリ |
|---|---|
| レシピ | プログラム(指示書) |
| 材料 | データ(場所、天気、写真など) |
| 作る人 | コンピュータの頭脳(CPU) |
| 完成した料理 | 画面に表示される結果 |
レシピには「玉ねぎを薄切りにする」「中火で5分炒める」と、手順が順番に書かれています。作る人はその通りに手を動かすだけで、同じ料理ができあがります。
アプリも同じです。プログラムという指示書があり、コンピュータがその通りに処理することで、毎回同じ結果が画面に出ます。
ここでいう「プログラム」が指示書そのもの、「プログラミング」はその指示書を書く作業のことです。
指示書の量は、本棚いっぱい分

料理のレシピなら1枚の紙で足ります。ところがアプリの指示書は、桁違いに長くなります。
たとえば「写真を送る」ボタンひとつにも、次のような指示が要ります。
- 写真の大きさが送れる上限を超えていたら、縮める
- 電波が切れていたら、あとで送り直す
- 送れたら「送信済み」の印をつける
- 相手がブロックしていたら、送らない
起こりうる場面のすべてに、どう動くかを書いておく必要があるのです。大きなアプリやサービスでは、指示は数百万行を超えることもあります。1行ずつ文庫本に印刷すれば、数十冊から数百冊分の量です。
アプリとは、こうした指示を大量に束ねたもの。これが「指示書の束」の意味です。
プログラミング言語は「コンピュータへの通訳」

では、指示書は何語で書かれているのでしょうか。
コンピュータの頭脳がそのまま理解できるのは、0と1で表された、ごく単純な命令だけです。人間がそれを直接書くのは、ほぼ不可能です。そこで、人間が読み書きしやすい言葉で書いて、あとからコンピュータ向けに翻訳する方法が生まれました。この「人間が書くための言葉」がプログラミング言語です。
たとえば「ボタンが押されたら、画面に『こんにちは』と出す」という指示は、JavaScriptという言語では次のように書きます。
button.addEventListener("click", () => {
alert("こんにちは");
});
英単語がまじっていて難しそうに見えますが、言っていることは単純です。
button:このボタンにaddEventListener("click", ...):押されたときの動きを登録するalert("こんにちは"):画面に「こんにちは」と出す
プログラミング言語は、日本語の「お願い」を、コンピュータが受け取れる形に整えるための決まりごとだと考えると近いです。
コンピュータは「気を利かせない」

ここが、いちばん大事なポイントです。
人が料理をするとき、レシピに「塩少々」とあれば、だいたいの量で味を整えてくれます。書き忘れた手順があっても、経験で補ってくれます。
コンピュータは違います。「少々」がどれくらいなのか分かりません。書かれていない手順は、やりません。間違った指示が書かれていれば、間違ったまま、正確に実行します。
アプリが急に止まったり、おかしな表示になったりする「バグ」の多くは、コンピュータの故障ではありません。指示書の書き間違いや、書き漏れです。
コンピュータは、書かれた通りにしか動かない。 この性質を知っておくと、プログラミングもAIも、ずっと付き合いやすくなります。
実は、あなたもすでにプログラミングしている

「プログラミングは自分には無縁」と思うかもしれません。でも、その考え方は、すでに身の回りで使っています。
- 目覚ましのアラーム:「平日だけ」「朝7時に」鳴らす。条件と動きを決めて、機械に任せています。
- Excelの関数:
=IF(B2>=80,"合格","不合格")は「80点以上なら合格と表示する」という指示です。これはもう、立派なプログラムです。 - iPhoneのショートカット:「家に着いたら、家族に連絡する」といった自動化を、ブロックを並べて作れます。
条件を決める、手順を並べる、機械に任せる。プログラミングの本質は、この3つです。特別な才能ではなく、仕事の段取りを考えるのとよく似た作業です。
AIが変えたのは「指示書を書く言葉」

ここまでの話を、AIの登場がどう変えたのか。いちばん大きな変化は、指示書を日本語で書けるようになったことです。
以前は、指示書を書くにはプログラミング言語を覚える必要がありました。今は、AIに日本語で「ボタンを押したら『こんにちは』と表示するページを作って」と頼むと、AIがプログラミング言語に翻訳して、指示書を書いてくれます。
実際にClaude Codeで試してみました。入力欄に、日本語でこう頼むだけです。

AIがページの指示書(index.html)を書き、そのまま開いて確かめるところまでやってくれました。右側が完成したページで、ボタンを押すと「こんにちは」と表示されます。

ただし、前の章で書いたコンピュータの性質は変わっていません。あいまいな頼み方をすれば、AIはそれなりにもっともらしく、でも意図とは違うものを作ります。AIが書いた指示書が正しいかどうかを確かめるのは、今も人の仕事です。
私がnoteの記事制作をAIに分担させている仕組みも、中身は日本語で書いた指示書の集まりです(非エンジニアが「AI社員」8人でnoteを100日連続投稿した仕組み)。プログラミング言語は書けなくても、何を、どの順番で、どんな条件でやってほしいのかを、あいまいさなく書ければ、仕組みは作れます。
まとめ:次回は「指示を渡す窓」の話

- アプリの正体は、コンピュータへの指示を大量に束ねた「指示書」
- プログラミングとは、その指示書を書く作業
- プログラミング言語は、人の言葉をコンピュータに伝えるための通訳
- コンピュータは書かれた通りにしか動かない。バグの多くは指示の書き間違い
- AIのおかげで、指示書は日本語でも書けるようになった。ただし、確かめるのは人
では、書いた指示書は、どこからコンピュータに渡せばよいのでしょうか。次回は、AIで仕組みを作るときに必ず出てくる、あの「黒い画面」、ターミナルの正体に迫ります。
「自分の仕事のどこを指示書にできるか分からない」という方は、お気軽にご相談ください。今の作業の流れを伺い、AIに任せられるところを一緒に整理します。