ハルシネーションを防ぐ7つのルールと、使うほど賢くなる仕組み
営業をやりながら、業務効率化のために自動化ツールを自作している。最近は企画寄りの立ち回りが増えて、リスト作成やChatbot開発などDX寄りのこともやっている。
今回は、その中の1つ。社内向けの質問対応Botを、Claude Codeを使って1週間で作った話をする。
エンジニアやDXチームが本気でやれば3ヶ月はかかる規模の設計だったらしい。それを非エンジニアの自分が、土日と隙間時間だけで組み上げた。すごい話に聞こえるかもしれないが、種明かしをすると、時間をかけずに済んだ理由はちゃんとある。
何を作ったか
一言で言うと、Slackで質問すると、社内のあちこちに散らばった情報を検索して、出典付きで答えてくれるBot。
うちの会社は、ある業務グループがまわりから同じような質問をひたすら受け続けていた。「この資料どこ?」「これって前例あった?」「この数字ってどこ見ればいい?」。組織が大きくなるほど、この手の質問は増える。答える側は同じことを何度も説明することになり、聞く側は答えが返ってくるまで待つことになる。
これを、Slackにメンションするだけで解決するようにした。
なぜ作ったか
理由は単純で、組織が急に大きくなって、属人化が限界に近づいていたから。
「あの人に聞けば分かる」が成立している間は問題にならない。でも人数が増えると、その「あの人」に質問が集中して、本来の仕事が回らなくなる。かといって、全部マニュアル化するのも無理がある。マニュアルは作った瞬間から古くなるし、誰も読まない。
だから、「必要な時に、必要な人が、必要な情報にすぐたどり着ける」仕組みを作ることにした。
なぜSlackにしたのか
最初はNotebookLMのようなAIツールにナレッジを溜めていく運用も検討した。でもやめた。
理由は、誰もそのツールを開かないからだ。
いくら賢い仕組みを作っても、普段使っていないツールに情報を置いた瞬間、それは「存在するけど使われないもの」になる。実際、社内で「あのドキュメントどこだっけ」という会話が今も普通に起きている。情報が無いんじゃなくて、見に行く習慣が無いのだ。
だから、機能で選ぶのをやめて、「みんなが既に毎日開いている場所」で選んだ。それが自分の会社ではSlackだった。新しいツールを覚えてもらう必要がない。既存の行動を変えずに、そこに答えが降ってくるようにした。
これは今回作ったBotに限らず、社内向けに何かツールを作るときの一番大事な判断基準だと思っている。どれだけ高機能でも、開かれない場所に置いたら無いのと同じ。
どういう仕組みで動いているか
図にするとこうなる。

流れを文章でも説明する。
- Slackで `@Bot名` にメンションして質問を送る
- 自動化ツール(Make)がその場で起動する。待ち時間はゼロ
- AI(GPT-5)が「何を聞かれているか」を判定する。商材名・行為・文書の種類・店舗名など、手がかりになる語を5つ抽出する
- その手がかりをもとに、8か所の情報源を同時に検索する。社内のドキュメント、過去のチャット履歴、公開FAQ、業務システムの情報、受注データ、売上関連の指標データなど
- 集めた材料をもとに、AIが回答を組み立てる。ここが一番苦労したところ(後述)
- 出典リンク付きの回答が、投稿から約30秒でスレッドに返る
- 回答に「良かった/伸び代ですね」の2択ボタンが付いていて、フィードバックできる
- 答えられなかった場合は、自動で担当者にエスカレーションされる
- 担当者が正しい回答をスレッドに書くと、AIがそれを「ナレッジとして残す価値があるか」判定し、社内の知識ベースに1行追記する
- 次に同じような質問が来たとき、その内容が最優先で使われる
つまり、使えば使うほど回答の精度が上がっていく設計にした。最初から完璧な回答は出せない。でも、聞かれるたびに賢くなる。
一番苦労したところ:嘘をつかせないこと
正直、検索して回答を組み立てるところまでは、そこまで大変ではなかった。一番時間を使ったのは、AIに嘘をつかせないための調整だった。
社内向けの情報Botで一番怖いのは、それらしい嘘の回答を自信満々に返すことだ。特に金額や件数のような数字は、間違った答えが独り歩きすると実害が出る。
実装したルールはこの7つ。
- 資料に無いことは書かない
- URLを勝手に組み立てない(それらしいURLをでっち上げない)
- ID・パスワードの類は絶対に出さない
- 商材・案件を混ぜて答えない
- 空欄を「0件」と書かない(データが無いのか、そもそも計測していないのかを区別する)
- 古い資料を参照した場合は、その旨の注記を添える
- 根拠となるデータが無い金額は答えない
特に「0件」と「未計測」の区別は見落としがちだった。最初のテストで、本当は計測していないだけの項目を「0件です」と自信満々に答えてしまい、慌てて直した。これをそのまま出していたら、社内の信頼を一発で失うところだった。
実際にかかった時間
全体設計から運用開始まで、実働で1週間ほど。
これまでエンジニアやDXチームが本格的にやれば3ヶ月規模の見積もりだったと聞いている。差が出た理由は、自分が優秀だからというより、Claude Codeに「作りながら直す」やり方が向いていたからだと思う。要件を全部固めてから作り始めるのではなく、小さく動かして、ズレたら直す。これを高速で回せたのが大きい。
今のところ答えられないこと
正直に書いておく。
- 請求関連の質問(「この会社に請求書は発行されてる?」等)はまだ答えられない
- 売上ランキング系の質問(「上位◯件を教えて」等)も、まだ元データとの連携が完成していないので答えられない
「わかりません」と正直に言わせる設計にしているので、嘘の回答は返らない。ただ、答えられる範囲はまだ発展途上だ。ここは今後、元データ側の整備が進めば解消していく見込み。
これから同じことをやる人へ
非エンジニアが業務用のBotを作るなら、技術力より先に考えるべきことが2つあると思っている。
- どこに置けば、みんなが実際に使うか(機能ではなく、行動習慣で選ぶ)
- AIに何を「言わせない」か(何を答えられるかより先に決める)
技術的な実装は、今の時代なら意外とどうにかなる。難しいのは、使われる場所を選ぶことと、嘘をつかせない仕組みを作ることだった。
このブログでは、こういう「非エンジニアが実務でAIを使い倒す」過程を、実際にやったこと・つまずいたことベースで書いていく。次は、まだ日本語の紹介記事がほとんど無い海外ツールを実際に触ってみた記録を予定している。
