自戒、点検、内省

終わらない反省会をしよう

自分のClaudeに提供する"知恵袋" を作っています

Claude は Web Fetch が得意です。オープンソースプロダクトの情報はだいたい Web にあります。だから最初は「まあ調べてくれるよね」くらいに思っていました。

でも、やっぱりもっと速く調べたいし、信頼できる情報源から、選択的に引いてほしい。

かといって、人間が調べて渡すのも大変です。毎回ドキュメントを読んで、差分を把握して、Claude に伝える——それをやり続けるのは現実的ではありません。もう思考力もClaudeはわたしなんかより上なので、ちゃんとした情報源をセマンティクス含めて渡せば意味のある情報の抽出まで含めて、もう機械に任せてしまおう。そう思って、しくみをつくることにしました。

知恵袋、というもの

名前はchiebukuro-mcp

いわゆる RAGに近いしくみをつくりました。

正統な情報をお手元のSQLite に入れておいて、Claude に MCP 経由で問い合わせさせます。Claude そこにあたって検索してから、答えを出します。

まず初手として、こういう情報を試しに詰めています。

  • Rubyリファレンスマニュアル
  • PicoRubyのRBS 定義と各 gem の README
  • PicoRuby のここ数ヶ月の更新情報ダイジェスト記事(お手元でオレオレpicoruby-trunk-changesを試してる)

たとえば、こう聞きます。

知恵袋からPicoRubyの割り込み機能について教えて

すると Claude が、情報を詰めた手元のDB を検索して、rurema のドキュメントと PicoRuby の RBS 定義と trunk の変更記事を突き合わせて、教えてくれます。

精度は入れた情報によりけり、というのが正直なところです。そもそも自分がすでに知ってるものしか正しさはわかりません。とはいえ、自分が信頼できる情報を入れてあれば、それをもとに考察して出してくれる期待があります。少なくともわたしの知識レベルでは調べるより早いし、確実です。

検索方式は Claudeに長期記憶のMCPサーバーRubyで自作した - 自戒、点検、内省 と同じくテキストとベクトルの2方式でやってます。

公開について

GitHub用意がおっついていないので、あとでやります。

サービスとしてはいずれ公開するとか、こういう機能追加を提案するとかしたいところですが、そのためには必要なことが色々ありそうで、もうちょっと先かなと。

まずは、ローカルで MCP サーバーを立ち上げて Claude Code と繋げるだけで、いつでも「知恵袋に聞く」ができるようになりました。これがじわじわ便利で、作ってよかったとおもっていて、しばらくドッグフーディングを続けようと思います。