0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ハルシネーションしにくいAIを個人で作った話と、いきなり訪れたピンチ

0
Posted at

image.png

はじめに

個人開発で「Kairi」という自分専用のAIアシスタントを作っています。市況分析・投資サポート・日常会話など、自分の生活に密着した用途に絞って、DeepSeek APIをバックボーンに構築してきました。

今回この記事を書いているのは、8月6日にDeepSeekが「近い将来、API価格を広範囲かつ大幅に引き上げる」と公式にアナウンスしたからです。まだ具体的な値上げ幅・実施日は未発表ですが、これはKairiの運営コスト構造にとって、正直かなり大きなピンチです。

「なぜそこまで安いモデルに賭けていたのか」「なぜそれが今揺らいでいるのか」を、設計の話とあわせて整理しておこうと思います。

Kairiが目指したもの:ハルシネーションを「構造で」抑える

個人開発のAIチャットで一番よく聞く不満は「もっともらしい嘘をつく」ことだと思います。Kairiで最初から意識していたのは、これをプロンプトの工夫だけで抑えようとしないことでした。

具体的にやったことは大きく3つです。

1. 数字は「生成」せず「引用」する

投資・市況情報を扱う以上、数値のハルシネーションは致命的です。そこで fact_filter という検証レイヤーを作り、以下のようなルールをコード側で強制しています。

  • モデルが提示した数値・固有名詞は、検索結果のスニペットと機械的に照合する
  • 照合できないものは「未確認」ラベルを付けて出力する
  • 単一ソースからの数字は「要確認」として扱い、複数ソースの一致を確認できたものだけ確信度を上げる
  • 検索にヒットしなかった話題は、そもそも「書かせない」(埋めさせない)

「プロンプトでお願いする」のではなく、応答テキストを後処理のパイプラインで機械的に検査する、という作りです。

2. ソースの権威階層をコードで持たせる

「どの情報源を信じるか」もプロンプト頼みにせず、source_evaluator.py というモジュールに階層として実装しています。実際の分類はこんな感じです。

Tier 内容
Tier 1 公的・学術・一次情報 .gov / .go.jp / .ac.jp、nature.com、who.int、公式プレスリリース
Tier 2 信頼できる主要メディア・調査機関 Reuters、Bloomberg、日経、WSJ、FT、Gartner 等
Tier 3 SEOまとめ・キュレーション・ブログ まとめ系・速報系サイト
Tier 4 UGC・個人投稿(一次情報としては使用禁止 note、medium、個人ブログ等

矛盾する情報が出た場合はこの階層に従って採用する情報を決めます。加えて、.edu.pl のようなセカンドレベルに edu が入る偽装学術ドメインの検知や、複数の主体が混在する記事での主語・述語の紐付け検証(誰の発言の数値なのかを取り違えないための処理)までコードでやっています。

ちなみに面白いことに、この記事を書いているQiita自身も、Kairiの分類では「UGC=Tier 4」に入っています。一次情報としては引用されない立場です。正しい判断だと思います。

3. 「AIに最終判断させない」パイプライン

ニュースや市況の回答は、だいたい以下の流れで生成されます。

検索(Brave/Tavily/Jina 等)
   ↓
ソース権威性評価(Tier分類・偽装検知)
   ↓
検索結果のリランク(キーワード+鮮度)
   ↓
LLMが回答生成(ここで初めてモデルが出る)
   ↓
fact_filter パイプライン(数値・日付・通貨・出典の照合)
   ↓
出典つきで応答(未確認は未確認と明記)

ルールベースの機械的なフィルタリングを前後に挟み、「AIが自分の判断だけで最終確認する」フェーズを最小限にすることで、破綻の余地を減らす狙いです。

実際のやりとり例

言葉で説明するより、実際のやりとりを見てもらうのが早いと思います。「最大のピンチです。kairiの運営に関わります。deepseek APIの大幅値上げだそうです」と投げかけたときの、Kairi自身の返答の一部です。

DeepSeekは公式通知において、「近い将来、DeepSeek APIサービスの価格を広範囲に引き上げる計画であり、値上げ幅は大きくなる見込み」と発表しました。現時点では具体的な実施日・金額は未公表です。

(中略)現時点で確定しているのは「近い将来、広範囲かつ大幅な値上げが実施される」という方針と「ピーク時2倍制度の導入予定」までであり、実施日・最終的な金額は公式発表待ちです。したがって、現段階で正確なコスト試算を行うことはできません。

自分が作ったAI自身の運営基盤が揺らいでいる話をしているのに、そのAI自身は「まだ確定情報ではない、断定はできない」と冷静に線を引いてくる。皮肉というか、狙い通りというか、複雑な気持ちになった瞬間でした。

ちなみに市況分析でも同じ姿勢は一貫していて、別の日に「8/6米国市場どうだった?」と聞いたときの回答では、ダウ平均の下落率を「-0.85%」と提示していました。後から日経新聞の報道で裏を取ったところ、実際の終値は前日比464.02ドル安(-0.85%)で、下落率がぴたりと一致していました。数字を「それらしく作文する」のではなく、実際のデータを引いてきている一例だと思います。

なぜDeepSeekだったのか

上記のような検証ロジックを何重にも重ねる設計は、呼び出し回数が増えることを意味します。数値の裏取り、複数ソースの照合、事後の整合性チェックと、1つの回答を返すまでに複数回のAPI呼び出しが発生することも珍しくありません。

これを高価格帯のモデル(Claude・GPTなど)でやると、個人開発の運用コストとしては現実的ではなくなります。DeepSeekは1Mトークンあたり数十円という価格帯を維持していたため、「検証を厚くする」という設計方針そのものが成立していました。月あたりの運用コストは10ドル以下に収まっていて、これがKairiという個人プロジェクトを継続できていた最大の理由でもあります。

つまりKairiの設計は、「安いモデルの弱さを構造でカバーする」だけでなく、「安いからこそ検証を何重にもかけられる」という前提の上に成り立っていたわけです。

そして訪れたピンチ

2026年8月6日、DeepSeekが公式に以下のような通知を出しました。

近い将来、DeepSeek APIサービスの価格を広範囲に引き上げる計画であり、値上げ幅は大きくなる見込みです。ご利用計画は早めにご検討ください。

現時点でわかっているのは以下の点です。

  • 具体的な値上げ幅・実施日はまだ未発表
  • ピーク時間帯(北京時間9:00〜12:00、14:00〜18:00)は通常価格の2倍になる制度の導入も予告されている
  • 現行価格(V4 Flash: 入力$0.14 / 出力$0.28、V4 Pro: 入力$0.435 / 出力$0.87、いずれも100万トークンあたり)は、もともと75%オフのプロモーション価格が恒久化されたもので、今回の値上げはその土台の上にさらに乗る可能性がある
  • DeepSeek創業者は「競合他社よりは安い価格を維持する」ともコメントしている

つまり「値上げは確実」だが「どれくらい上がるかはまだ分からない」という、宙ぶらりんの状態です。

これが個人開発プロジェクトに突きつける問題

Kairiのような「検証を何重にもかける」設計は、値上げの影響をもろに受けます。単純な1問1答のチャットボットなら値上げ分をそのまま運用コストに上乗せすればいいだけですが、Kairiの場合は1つの回答の裏で複数回の検証呼び出しが走っているため、コスト増加率がそのまま何倍にも跳ね上がる可能性があります。

ここで見えてきた教訓は、「バックボーンのモデルを縛る設計」と「バックボーンに依存しない抽象化層」を、もっと早い段階から分離しておくべきだったということです。

  • 検証ロジック自体(数値照合、ソース権威階層、evalハーネス)はモデル非依存で作られている
  • しかしコスト構造の前提(1回あたり数十円台での複数回呼び出し)は、DeepSeekの価格に強く紐づいていた

前者は資産として残りますが、後者は今回の値上げでいきなり揺らいでいます。

今後どうするか

まだ正式な値上げ幅が発表されていないため、今の時点でできることは限られています。

  1. 正式発表を待って、実際のコスト増加率を試算する
  2. 増加率が許容範囲(体感的には月30ドル前後まで)なら、DeepSeekのまま継続する
  3. それを超える場合は、他モデル(Claude・GPTなど)への切り替えを検討する。ただしこれは「精度への妥協」ではなく、むしろ検証ロジックがより強固なモデルの上で動く形になるため、質的には向上する可能性が高い
  4. いずれにせよ、検証頻度を動的に調整できる仕組み(重要度の低いクエリでは検証回数を減らす、など)を今のうちに用意しておく

一つ気づいたのは、設定画面のプロバイダー選択自体は anthropic/openai/gemini/deepseek/local の5択があらかじめ用意されていて、切り替え自体はUI上の選択ひとつで完結する作りになっていたことです。ただし実際に使ってきたのはDeepSeek一本で、他の選択肢は事実上一度も稼働させたことがありません。つまり「切り替えの窓口」は残っていても、そこから先(他プロバイダーでの検証品質、コスト構造、レイテンシ)は未検証の領域で、実質DeepSeek専用機として運用してきたのが実態です。

なので今回のピンチへの向き合い方は、「切り替え先が用意してあるから安心」ではなく、「DeepSeekの価格動向を注視しつつ、専用機状態から抜け出す新しい打ち手を考える必要がある」というのが正直なところです。正式な値上げ幅が出たタイミングで、他プロバイダーへの切り替えを実際に試して、検証品質・コストの両面を確認するところから始めることになりそうです。

おわりに

個人開発でAIプロダクトを作るとき、バックボーンのAPI価格は「所与の前提」として扱いがちですが、今回のように数週間単位で価格戦略が変わる世界では、そこ自体がリスク要因になり得ることを痛感しました。

同じようにDeepSeek APIに依存した個人プロジェクトを持っている方は、他人事ではないと思います。正式な値上げ内容が発表され次第、実際のコスト試算と、その後どう動いたかを続編として書く予定です。

試してみたい方へ

ソースはMITライセンスで公開しています。公開したてでスターもまだ付いていない状態ですが、最新版をそのまま置いています。バグ報告・感想、なんでも歓迎です。


この記事は個人開発プロジェクトの記録です。投資助言を目的としたものではありません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?