まずいいなと思ったのは、AI モデルの切り替えを「設定変更」として扱っているところです。
これ、地味に見えてかなり大きい。モデル名をコードに埋めてしまうと、比較したいだけなのに毎回 redeploy が必要になる。実験が遅くなるし、現場では「ちょっと試す」がやりにくくなるんですよね。記事のように KV Storage に active model を置いておけば、次のリクエストからすぐ反映される。LLM をアプリの中に固定物として置かず、運用対象として扱う発想は素直に筋がいいと思いました。
もうひとつ気になったのは、便利さと危うさがかなり近い距離にあることです。
/model でモデルを切り替えられるのは気持ちいい反面、公開した瞬間に「誰でもモデルを変えられる」になりかねない。記事でも auth、audit logging、allowlist、fallback を入れろと書いていて、そこはちゃんと現実を見ているなと感じました。特に AI の場合、切り替えが簡単になるほど、誰がいつ何を選んだのかの記録がないと後で困るはずです。モデル選定って、もはや内部設定というより運用品質そのものなんでしょう。
この手のサンプルは「動く」ことを見せるだけで終わりがちですが、今回は latency や cost、tone までモデル差分として意識しているのがよかったです。AI を使うとき、精度だけ見てしまいがちだけれど、実際には返答の速さや口調の違いのほうが体験に効く場面も多い。だからこそ、モデルを差し替えられる仕組みを先に作っておくのは、かなり実務的だと思いました。