自宅からコンビニに行ったら、財布もおサイフケータイも忘れた。
財布もケータイも必ず持っているという、隠れた前提条件に基づくメソッドだった。
イメージ
def buy if @me.has_wallet? || @me.has_phone? # 購入処理 else raise NoMonnyError end rescue NoMonnyError => e logger.info "お金もってないので、調達します" @me.get_monny end
Me#has_phone?
も怪しい。Phone#any_battery?
が前提になっている。
人間はクラッシュすると思わぬ行動を起こす。
実装が甘いとお金を変なところから調達したり、品物を盗んだりするんだろうと思った。
LLMクライアント内在!
補足しきれなかったエラーは上位階層でLLMクライアントに投げている感じで、学習元によって振る舞いが変わる。
だから幼少期の教育や家庭環境が大事ということか。
今回のケースは、sampleコードで示すような概念を頭の中で描いてクライアントがLLMに読み込ませているかつ、今回のケースを抽象化したり、一般化したり、別の用途でも使えるようにしたりしている。
実際の実装はガチガチにしないで、LLMクライアントに食わせて動的にコード生成してもらってその都度臨機応変に都度実行みたいなことをして、耐障害性を向上させているんだな。