第14章 スケールとコストの物語 — 本番で待ち受けるもの(読み物)

📖 この章のゴール:自分が作った小さなChatGPTクローンが、本物のChatGPTと同じ「問い」に向き合っていることを知る。たくさんの人が使い始めたとき、何が起きて、これまで学んだ仕組みがどう効くのかを、物語として体に入れる。

← 目次・はじめにへもどる


📱 きみのクローンと、本物のChatGPTは地続き

おつかれさまでした。きみの手元には、ログインして使える、自分専用のChatGPTもどきがあります。返事は1文字ずつ流れ、会話は何個も保存でき、鍵は漏れず、使いすぎは止まる。立派なものです。

ここで、ちょっと立ち止まって想像してみてください。もしこのクローンを世界に公開したら——そして、ある朝起きたら使ってくれる人が1万人に増えていたら、何が起きるでしょう。

姉妹編のTwitterクローンでは、最終章で「フォロワー1億人問題」を物語りました。一人がつぶやくと、1億人のタイムラインに配らないといけない。小さなアプリでは見えなかった壁が、規模が大きくなった瞬間に立ちはだかる——そんな話でした。

LLMアプリにも、よく似た壁があります。でも、形が少しちがいます。Twitterの壁が「配る量」だったのに対して、ChatGPTクローンの壁は「考えてもらう量」です。そして、考えてもらうことには、毎回お金がかかります。

おもしろいのは、この壁が、本物のChatGPTを動かしている世界一のエンジニアたちが向き合っているものと、まったく同じ問いだということ。規模はちがっても、悩みは地続きなのです。この章では、その壁を4つの物語として見ていきましょう。

💸 コストの壁 — 「無料で使い放題」が成り立たない世界

最初の壁は、お金です。

きみが一人でクローンを試しているとき、1回の返事にかかるお金は、たぶん日本円で1円にもなりません。「なんだ、ただみたいなものじゃないか」と思うでしょう。実際、一人なら、ほぼタダです。

でも、これがこわいところ。たとえ話をしましょう。蛇口からポタッ、ポタッと落ちる水。1滴は、見えないくらいの量です。けれど、1万人が同時に蛇口をひねって、一人が1日に何十回も使ったら——その水は、あっという間にお風呂をあふれさせ、家をのみこむ洪水になります。1滴のコストは、人数とかける回数で、本物の請求になって返ってくるのです。

だから、世の中のAIサービスに「無料で使い放題」がほとんど無いのには、ちゃんと理由があります。きみが返事を出すたびに、サービスを作った側は、AIの会社へお金を払っています。タダで配れば配るほど、財布が軽くなっていく。「使い放題」は、夢のようでいて、成り立たない世界なのです。

ではどうするか。じつは、きみはもう答えを持っています。

  • 🛡 使いすぎを止める(第6章)。ログインした人ごとに「今日はここまで」と上限を決めておく。これは財布を守る守りであり、コストの蛇口を締める栓でもあります。
  • 同じ前文を使い回す(第13章)。長い会話の前置きを毎回まるごと計算し直すのではなく、前回の計算結果をこっそり再利用すれば、その分が安くなります。
  • 🧩 賢いモデルと安いモデルを使い分ける。むずかしい相談には賢くて高いモデルを、かんたんな返事には小さくて安いモデルを。全部を最高級で答える必要はありません。

コストは、敵ではありません。設計でちゃんとコントロールできる相手です。「動いた!」の次に来るのは、「安く動かす」という新しい腕の見せどころなのです。

⚡ 速さの戦い — 人は待ってくれない

二つめの壁は、速さです。

人は、思った以上にせっかちです。検索ボタンを押して、画面が真っ白なまま数秒もかたまっていたら、「壊れた?」と思って閉じてしまう。AIへの質問でも同じです。賢い答えでも、出てくるのが遅ければ、その賢さは伝わる前に見放されてしまいます。

ここで思い出してほしいのが、ストリーミング(第11章)です。ChatGPTが答えを1文字ずつ流して見せるのは、ただのおしゃれな演出ではありません。あれは「待たせないための工夫」なのです。

たとえ話をしましょう。レストランで料理を待つとき、コース全部ができあがるまでお皿が一つも出てこない店と、まず温かいスープがすっと出てきて、それを飲んでいるうちに次の皿が来る店。後者のほうが、同じ待ち時間でも、ずっと心地よい。最初の一口が早く来るだけで、人は「ちゃんと動いている」と安心するのです。

この「最初の一口」を、エンジニアは最初の文字が出るまでの時間として、とても大事にします。答えが全部そろうのが多少遅くても、一文字目がすっと出れば、体感の速さはまるでちがう。だから本物のChatGPTも、考え終わるのを待たずに、考えながら言葉を流し始めます。

ここでも、賢いモデルと軽いモデルの使い分けが効きます。重い相談には時間をかけてもいいけれど、あいさつや短い確認まで重いモデルに任せると、全部がもっさりします。場面に合わせて足の速さを選ぶ——これも、本番で人に使ってもらうための設計判断です。

🧠 コンテキスト戦争 — 「賢さ」と「お金」の綱引き

三つめの壁は、いちばんLLMらしい悩みです。それは「どこまで覚えさせるか」という、終わりのない綱引きです。

この教材の背骨①を思い出してください。LLMは、自分では何も覚えません(ステートレス)。会話が続いて見えるのは、こちらが毎回「これまでの会話ぜんぶ」を渡し直しているから。覚える仕事は、開発者であるきみの担当でした。

ここに、ジレンマがあります。たくさん覚えさせて、これまでの会話も、ユーザーの好みも、ぜんぶ渡せば、AIはより賢く、より「あなたのこと」をわかった返事をします。でも——渡す言葉が増えれば増えるほど、トークン(ことばのかたまり、料金とサイズの単位)が増え、お金がかさみ、返事も遅くなります。

たとえ話をしましょう。旅に出るとき、思い出の品を全部かばんに詰めれば、いつでも何でも取り出せて安心です。でも、かばんが重すぎると、歩くのが遅くなり、運ぶのにお金もかかる。かといって手ぶらでは、肝心なときに必要なものがない。だから旅じょうずな人は、「これは持っていく、これは置いていく」を上手に選びます。

LLMアプリの「覚え方」も、まさにこの荷づくりです。そして、この綱引きへの答えこそ、きみがすでに作った二つの仕組みでした。

  • 🧠 要約(第9章)。古い会話をAI自身に短くまとめさせて、長い思い出を小さなメモにたたむ。荷物を圧縮するイメージです。
  • 🧠 メモリ(第10章)。名前や好みといった「長く役立つ事実」だけを別の場所に書いておき、毎回ちょっとだけ差し込む。全部ではなく、大事な数行だけを持ち歩く。

どこまで覚え、どこを手放すか。これに唯一の正解はありません。サービスの性格によって変わる、設計の判断です。覚えさせすぎず、忘れさせすぎず——この綱引きの綱を、ちょうどいいところで握っていられること。それが、LLMアプリを作る人の腕前です。

🛡 落ちないように — そなえと、悪意とのつきあい

四つめの壁は、守りです。たくさんの人に使われるということは、それだけ「うまくいかない瞬間」も増えるということ。本番のサービスは、晴れの日だけでなく、嵐の日にも立っていなければなりません。

まず、頼りにしているAIの会社のサービスが、ときどき調子を崩します。混みすぎて「ちょっと待って」と断られたり、一時的に止まったり。きみのクローンが悪くなくても、外の世界の都合で返事が返らない瞬間が来ます。

これに、おとなびた態度で向き合う方法があります。

  • 少し待って、もう一度たずねる(リトライ)。一回断られたくらいで諦めず、間をおいて、礼儀正しくもう一度お願いする。
  • 🚦 混雑を見越して、ゆずり合う(レート制限)。一度に押し寄せすぎないよう、自分の側でも流れを整えておく。
  • 🔄 別の頭脳に切り替える(フォールバック)。一社が止まっても、別のAIにバトンを渡せるようにしておけば、サービスは止まりません。

この最後の「切り替え」が効くのは、この教材がずっと大事にしてきた設計のおかげです。付録Cで触れたように、中の頭脳(OpenAIのGPTか、AnthropicのClaudeか)は、差し替えられるように作ってあります。一社にぴったり寄りかかった作りだと、その会社が止まったり値上げしたりした瞬間に、きみのサービスも一緒に倒れます。「いつでも乗り換えられる」ようにしておくことは、嵐の日のための、いちばん大きな備えなのです。

そして、人が増えれば、残念ながら、いたずらをする人も混じります。AIへの最初の指示をこっそり乗っ取ろうとする手口(プロンプトインジェクション)や、上限をかいくぐって使い倒そうとする濫用。守りは、鍵をかけて終わりではなく、ずっと続くつきあいです。けれど、おそれることはありません。きみはもう、鍵を隠し、使いすぎを止める守りの第一歩を、自分の手で作れるのですから。

💡 この物語の学び

  • 早すぎる最適化を、あわてない。一人で試している段階で、1億人ぶんの心配をする必要はありません。まず動かす。壁は、規模が来てから、来たぶんだけ向き合えばいい。
  • 規模が変わると、設計が変わる。一人なら気にしなくていいコストも速さも守りも、たくさんの人が来た瞬間に主役になります。それは失敗ではなく、サービスが育った証です。
  • きみの小さなクローンも、本物と地続き。コスト、速さ、記憶、守り——本物のChatGPTが向き合う問いは、形こそ大きくても、きみが学んだものと同じです。
  • 「動いた」の先に、続きがある。ゴールは「動いた」ではありません。その先に、「安く・速く・安全に・たくさん」という、もう一段おもしろい山が待っています。

📝 ことばメモ

  • スケール:使う人や量が、何倍にも大きくなること。大きくなると、小さいうちは見えなかった壁が現れる。
  • レイテンシ:お願いしてから返事が来るまでの「待ち時間」。とくに最初の文字が出るまでの速さが、体感を左右する。
  • フォールバック:頼っていたものが使えないとき、別の手段に切り替えること。一社が止まっても倒れないための備え。
  • レート制限:一度にどっと押し寄せないよう、使える回数や速さに上限を設けること。コストと安定の両方を守る。

🎉 おわりに(次の一歩)

ここまで読んでくれて、ありがとう。きみはもう、メッセージを送れば返事が返り、それが流れて出てきて、会話を覚え、鍵を守り、使いすぎを止める——その一つひとつが「なぜそうなっているのか」を、自分の言葉で語れるはずです。これは、本物のChatGPTを動かしている人たちと、同じ問いを通った証拠です。

では、次の一歩は何でしょう。それは、ローカルから一歩外に出ること。きみのクローンを公開して、ログインと使いすぎ防止を入れて、家族でも友達でもいいから、誰かに実際にさわってもらってください。「動いた」が「使われた」に変わった瞬間、この教材で学んだ守りと記憶のありがたみが、いっきに腑に落ちます。

そして、もし時間があれば、姉妹編のTwitterクローンも作ってみてください。LLMの記憶と守りを学んだきみが、データ分離と認証の物語も通れば、Webアプリの「守り」と「記憶」が、知識ではなく、体の感覚として身につきます。

きみの小さなクローンは、もう本物と地続きの場所に立っています。あとは、そこから歩き出すだけです。いってらっしゃい。

← 目次・はじめにへもどる