小説検索botの持つ/askコマンドでは、LLMに自然文で質問を投げることができる。質問相手を切り替える、LLMが前後の段落をより読み込むようにする、などのオプションもあるし、まあ確かにメインの機能だ。
一方で、確実にLLMたちのAPIは消費するし、いざ何かがバグった時に原因となるものが多くて、特定に時間が掛かる。
また、最初に友だちが小説検索botの性能を試した時に、特定キャラクターの登場回数を数えていたようにも思えたので、小説検索botでは/ask以外にも幾つかのコマンドを使えるようにしてあったりする。それは例えばキーワードだけ検索できる/searchであったり、もしくは文字を打つ手間を惜しんでの回数を数える特化の/countだったり。
けれども、そう、ここの話のタイトルで、お分かりだろう。
結局、他のコマンドにも、増してやオプションにも目をくれることなく、/askを愛用してくれる友だちの様子を見て、筆者は「なるほどそうきたか」と唸ることになったのである。
事前にプログラムというものの性質を少しは考えて、なるべくLLMではなくその前段階で問題を切り分けたい派の筆者と、ふわっと何でも脳直に投げたい友だち。AIに期待しているというか、求めているハードルの差をヒシヒシと感じられる、良い経験になった。
ウン十万字の小説の中から特定の登場キャラクターの外見の話を聞くのはまあ、分かる。だが同じくウン十万字の小説の中から、AとB、どちらが正式な単語だったかを調べるのに「Aと書かれている場所とBと書かれている場所はどちらが多いですか」「AかBという単語が使われている部分があれば、その前後も合わせて抜き出してください。」と飛んでくるのは……ちょっと、筆者の予想外だった。
おかげで一回の検索でヒットさせる検索数のデフォルト数値をかなり上げることになったのも、ひとつの経験と言えばそうだろう。今のデフォルトは20だが、正直それでも足りているのか不安しかない。増やしすぎても今度はLLMのコンテキストがヤバくなるので、かなり綱渡り感があるのも恐ろしい。
あとAPI絡みで地味にびっくりしたのがAPIの期限切れである。き、期限なんてあったんだね……
今では課金方法を変えたはずなので多分早々同じ轍は踏まないと思うが、
LLM呼び出しでエラー: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: [https://platform.openai.com/docs/guides/error-codes/api-errors](https://platform.openai.com/docs/guides/error-codes/api-errors "https://platform.openai.com/docs/guides/error-codes/api-errors").', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}}
を見たときにはかなり笑ったし、ちゃんとエラーをDiscordに表示してくれるように設定を組んでくれていたLLMたちに感謝したものである。