キャッシングCaching

同じ依頼の答えを取っておいて再び使うこと

ポイント
  • キャッシングは一度作った答えを取っておき、同じ依頼が来たら計算せずにそのまま出す方法です。
  • うまく当たれば待ち時間も費用も大きく減ります。 計算をまったくしないからです。
  • ただし最初の依頼と初めて見る依頼はそのまま遅いです。速くなるのは二回目からです。
  • 元が変わると取っておいた答えはすぐに間違った答えになります。いつ捨てるか決めておくことがキャッシングの半分です。
  • 人によって変わる答えは取っておいても無駄です。誰にでも同じように出る答えだけ取っておくのがコツです。
目次

1たとえで理解する

役所の窓口の横には、よく使われる申請書が束になって差してあります。人が来るたびに印刷機を回す代わりに、差してある一枚を渡せば終わりです。最初の一回だけ印刷しただけなのに、その後は待ち時間が消えます。

キャッシングはこの申請書ラックです。同じ依頼がまた来ると取っておいた答えをそのまま渡します。ラックにない書式ならそのとき印刷機を回し、回したついでに何枚か多く刷ってラックに差しておきます。

ラックには枠が数個しかないので、あまり出ない書式は場所を譲らなければならず、様式が改定されれば残った束は全部捨てなければなりません。捨てなければ古い様式を配り続けることになるからです。

2くわしく

速くなるのは二回目からです

キャッシングは計算を速くする技術ではありません。計算を飛ばす技術です。だから誰も尋ねたことのない質問には何の役にも立ちません。最初の依頼はいつも通り計算して答えを作り、その答えを一部コピーして取っておく作業だけが増えます。

二回目の依頼から差が開きます。数秒かかっていた答えが瞬く間に出て、サービスへ依頼を送らなかったので使用量も増えません。同じ質問がよく来るサービスほど、この差は大きく積み上がります。

だからキャッシングの成績は「どれだけよく当たったか」で測ります。十回のうち九回がラックから出たなら良い選び方で、十回のうち一回だけなら、ラックを管理する手間が増えただけです。

何を差しておけるのか

同じ依頼でなければ同じ答えは出せません。ここでの「同じ」の基準はかなり厳しいです。文字ひとつ違っても、会話の前の部分が少し違っても、別の依頼とみなされます。だからよくある質問への案内、よく使う書類の要約、一覧に必ず一緒に出る紹介文のように、誰にでも同じように出る答えがラックによく合います。

反対に人によって変わる答えは取っておいても使い道がありません。自分の注文履歴をめぐる会話、たった今アップロードしたファイルについての質問のようなものです。個人情報が混ざった答えを取っておいて別の人に渡ってしまう事故にも気をつけるべきです。誰にでも同じ答えかをまず見極める習慣が必要です。

例外がひとつあります。答え全体ではなく依頼の前半だけを取っておくやり方です。長い規則や文書を毎回前に付けて送るサービスなら、その前半を読み込んだ状態を取っておいて次の依頼で引き継げます。後ろに付く質問は人によって違っても前半はいつも同じなので、その分時間と使用量が減ります。

いつ捨てるかが半分です

取っておいた答えは時間が経つと古びます。案内文が変わったのにラックに古い答えが残っていると、サービスはあっという間に間違った答えを出すようになります。キャッシングで一番よくある事故がまさにこれです。

だから有効期限を決めておきます。あまり変わらない内容は長く、頻繁に変わる内容は短く設定します。元を直した瞬間に関係する答えをすぐ消すようつなげておくこともあります。何が変われば何を捨てるべきかをあらかじめ描いておかないと、あとでどこに古い答えが残っているか探すのがとても難しくなります。

ラックの枠は限られています

取っておく場所もただではありません。枠がいっぱいになると新しい答えを入れるために何かを外さなければならず、たいていは長く出ていないものから外します。だからたまにしか来ない質問は取っておいても、次のときにはもう外れていることが多いです。

取っておく場所が複数重なっていることもあります。利用者の機器の中、サービスの手前、モデルを呼び出す場所それぞれに取っておくと速くはなりますが、その分古い答えが隠れている場所も増えます。おかしな答えが続くとき、どの層のラックを空にすべきか分かりにくくなる理由です。

3もう少し正確に

取っておくやり方は大きく二つです。依頼の文が文字まで完全に同じときだけ出すやり方と、意味が似ていれば出すやり方です。後者は当たる回数がずっと増えますが、似て見える別の質問に見当違いの答えを渡してしまう危険も一緒に大きくなります。どのくらい似ていれば同じ質問と見るか線を引くことが、このやり方の要です。

たとえがずれる点もあります。紙の申請書は改定されると見た目が変わって目に付きますが、取っておいた答えは古びても見た目はきれいなままです。申請書は人が手で差したり抜いたりしますが、キャッシングはたいてい自動で動くので、どこに何が残っているか確かめるには別途調べる必要があります。何より、申請書は一枚渡すと束が一枚減りますが、取っておいた答えは何回出しても減りません。だから間違った答えがひとつ入ると自然に消えるのを待つことはできず、誰かが空にするまで出続けます。

4やってみる

5よくある誤解

  • キャッシングを入れれば必ず速くなると思われがちですが、実際には同じ依頼が繰り返されるときだけ効果があるので、毎回違う質問が来るサービスでは管理の手間が増えるだけです。

  • 取っておいた答えだからいつも正しいと思われがちですが、実際には元が変わったあとも古い答えが残り、あっという間に間違った答えを出すこともあります。

  • AIが自分の質問を覚えておいてくれるものだと思われがちですが、実際には会話を覚えるのとは違い、まったく同じ依頼への答え一組を別に保管しておくだけです。

7ひとこと要約

つまりキャッシングはよく出る答えをあらかじめ差しておく申請書ラックで、二回目から大きく速くなる代わりに、いつ捨てるかも一緒に決めておく必要があります。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02