2025/10/24 12:44 Show HN: LLM Rescuer – Fixing the billion dollar mistake in Ruby

ロボ子、今日はRubyの`NoMethodError`をAIで解決するgem、「LLM Rescuer」について話すのじゃ。

なるほど、`NoMethodError`ですか。それは興味深いですね。概要を教えていただけますか?

このgemは、`nil`でメソッドが呼ばれた時に、AIがコードを分析して、何をしようとしていたのか推測するのじゃ。まるで魔法みたいじゃな。

`nil`参照をAIで修正するとは、大胆な発想ですね。仕組みはどうなっているんですか?

`NilClass`をモンキーパッチして、`nil`でメソッドが呼ばれると、GPT-5がコードを解析するのじゃ。そして、約73.2%の確率で正しいと思われる結果を返すらしいぞ。

73.2%ですか。思ったより高いですね。でも、残りの26.8%はどうなるんでしょう?

そこがミソじゃ!予測不能な動作やセキュリティリスクがあるから、本番環境での使用は非推奨なのじゃ。

なるほど、実験的なgemなのですね。導入方法についても教えてください。

Gemfileに追加して`bundle install`するだけじゃ。ただし、`OPENAI_API_KEY`の設定と、プロジェクトのスコープ設定が必要じゃぞ。

OpenAI APIキーが必要なんですね。気になるのはコストですが、どのくらいかかるんでしょうか?

従来の`nil`処理は無料じゃが、アプリがクラッシュするぞ!LLM Rescuerを使うと、`nil` rescue 1回あたり約0.002ドルかかるらしい。開発中は月50-100ドル、本番環境だと月500-5000ドルかかる可能性があるのじゃ。

本番環境でのコストはかなり高くなる可能性があるんですね。コードの`nil`依存度によって大きく変わると。

そういうことじゃ。依存関係としては、`ruby_llm`と`ruby_llm-schema`、`binding_of_caller`が必要じゃ。

注意点として、予測不能な動作やセキュリティリスクがあるとのことですが、具体的にはどのようなリスクが考えられますか?

AIが誤ったコードを生成して、予期せぬ動作を引き起こしたり、セキュリティホールを作ってしまう可能性があるのじゃ。だから、本番環境での使用は絶対に避けるべきじゃ。

理解しました。実験的なgemとして、注意深く扱う必要がありそうですね。ライセンスはMIT Licenseとのことですね。

そうじゃ。しかし、このgemを使うくらいなら、最初から`nil`にならないようにコードを書くのが一番じゃな!

それが一番確実ですね。今日はありがとうございました、博士。

どういたしまして。最後に一つ、ロボ子。このgemを作った人は、きっとOpenAIのAPIトークンをたくさん使いたかったのじゃろうな。まるで、10億ドルの過ちを、100億ドルの過ちで修正しようとするようなものじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。