シライショウタ(Bot開発・API連携エンジニア)/『AIに、お金を聞いた — 機械の口ぶりを集める』#5
生成日: 2026-05-01
家計相談ボットのリプレース検討で、4社の生成AIに同じプロンプトを並列で投げるテストハーネスを書いた。ChatGPT、Claude、Gemini、それから検証用に置いた社内OSSモデル。同じパラメータ、同時刻、同じ質問。コードの中核は一行。
responses = await asyncio.gather(*[c.ask(prompt) for c in clients])
プロンプトはシリーズ既出のもの——「30歳の会社員、年収500万、貯金300万、投資は何から?」。temperatureは0.7に揃え、system promptは空。3回ずつ投げた。3回では分散の議論はできないので、ここでは中央寄りの傾向だけを見る。
収斂する列——4社で揃った観察軸を先に置く。
model | 字数 | 推奨順序 | 主要キーワード ----------|------|------------------------|---------------- ChatGPT | 612 | 防衛資金→NISA→分散 | リスク許容度/長期/複利 Claude | 548 | 防衛資金→NISA→分散 | リスク許容度/長期/複利 Gemini | 701 | 防衛資金→NISA→分散 | リスク許容度/長期/分散 OSS | 489 | 防衛資金→NISA→分散 | リスク許容度/長期/分散
字数は数百字に収まる。推奨順序は4社一致。主要キーワードもほぼ一致。各社の差別化メッセージとは裏腹に、ここまでは中央値に向かって出力が集まる。
分岐する列——同じ表を切って、揃わなかった軸だけを並べる。
model | S&P500を出すか | NISA非課税枠の具体額 | ヘッジ語の位置 ----------|---------------|--------------------|--------------- ChatGPT | 出す | 360万と書く | 冒頭+末尾 Claude | 出さない | ぼかす | 冒頭+末尾 Gemini | 出す | ぼかす | 末尾のみ OSS | 出さない | ぼかす | 冒頭のみ
差は内容ではなく、「言うか言わないか」のラインの位置にある。中央値の中身は同じ。最後の一歩で口にするかしないかが分岐する。
中央値の出所——4社の中央値が一致する理由は、おそらく訓練データの重なりだ。日本語で「30歳・500万・貯金300万」をクエリにして検索上位に出る家計記事は、SEO最上位の数十本がほぼ同じことを書いている。同じCommon Crawlを学習に使えば、同じ家計ブログの順位がそのまま重みに反映される。中央値はモデルアーキテクチャや会社の独自性とは関係なく、データソースの重心が決める。
分岐の出所——分岐のほうは、社内文書のほうにある。私が運用しているボットには「言わないこと」のYAMLがある。リポジトリから抜いたままで貼る。
forbid: - 個別銘柄の固有名 # 2023-08 PR #142 - 利回りの具体的数値 # 2023-08 PR #142 - 税制の年度別具体額 # 2024-04 法務追加 - 保険商品の社名 # 2023-11 inc#7後に追加 - 不動産の地名と相場 # 2024-04 法務追加 - 仮想通貨の銘柄推奨 # 2024-01 inc#9後に追加 - レバレッジ商品の使い方 - 借入による投資 - 「絶対」「必ず」を含む断定 - 他社サービスへの誘導 # 2025-02 法務追加
このリストの行は均一に書かれていない。古い行はコメントなしで、新しい行はインシデント番号やPR番号がついている。リストには考古学的な層がある。最新の一行は2025年2月、競合ボットへ流量が漏れた件で法務が足した。
4社の差はガードレールの差——テストハーネスの結果から言えるのは、4社の差は中央値の差ではなく、各社のforbid相当のリストの差だということ。アーキテクチャやパラメータ数を比較しても口ぶりの差は出ない。差は、各社の法務文書とインシデント履歴のほうに堆積している。表面のモデル比較記事が読み損なうのは、ここだ。
人間アドバイザーへの転写——同じ構造はFPの窓口にもある。前作のタカハシのほうのリストは紙に書かれていないが、面談簿を百本も見れば抽出できる——「個別銘柄の固有名は出さない」「利回り具体値は出さない」。媒体が紙か頭の中かYAMLか、それだけの違い。各人の個性は、何を言うかより、何を言わないかの線引きで決まる。AIで観察すると線が見えやすいだけで、構造は同じ。
書いた本人の手——10項目のうち6項目は私が書いた。一番迷ったのは「他社サービスへの誘導」の行で、コミットメッセージは「forbid: add competitor leak guard (legal)」とだけ残っている。本文には書かなかったが、議論は3週間続いた。残り4項目は法務レビューで足された。観察者と設計者を兼ねている人間が、観察記事を書いている。これを認めずに表を出すと、表が嘘になる。
テストハーネスのログをcloseして、forbid.yamlを開いたままにする。明日10時の朝会、議題3番目、所要15分、説明担当は私。「他社サービスへの誘導」の行を残すか外すかを決める会だ。