AIToday
大規模言語モデルAIコーディングZenn AI/ML掲載日時: 2026年10月1日 10:00

Claude APIで公開ページと実データのずれ検知

LINEで送る
Claude APIで公開ページと実データのずれ検知

3つのポイント

  1. 何が起きたか

    開発者が、正となるJSONと公開HTMLページをClaude APIに渡し、意味が食い違う項目だけを返させるチェッカーを作った。

  2. なぜ重要か

    これにより、チェッカーの出力はノイズではなく本物の不一致に絞られる。誰かがたまたま気づく頼みだった頃に見逃されていた古い価格や欠けた機能が、表面化しやすくなる。

  3. 注目点

    ビルド環境にANTHROPIC_API_KEYがなく、このツールは実際のAPIに対して実行されたことがない。

誰に効くかドキュメントや価格ページの担当者、そしてリリースCIを組むエンジニアに恩恵がありうる。不一致が出るとMarkdownレポートを出力し、終了コード1で終了するからだ。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

このプロジェクトは日常的な運用上の穴に対処している。公開ページは手作業で更新される一方、実際のデータは別の場所にあるため、古い価格や削除済み機能の説明が顧客に見え続けてしまう。開発者は単純なテキストdiffに頼ることを選ばなかった。サンプルデータで試すと「email support」と「support by email」のような表記ゆれが差分として検出され、本当に対応が必要な価格差や欠けた機能が埋もれたからだ。ページ側の抽出はBeautifulSoupではなくhtml.parserを直接使い、余分な依存を避けている。Claudeには意味的な衝突をJSON配列だけで返すよう促している。

開発者はこの問題を、データ作業でよくある構図としても捉えている。マスターテーブルと、BIダッシュボードやエクスポートといった出力先を比較する構図だ。どこまでを許容し、どこからドリフトと見なすかの線引きは、集計パイプラインで許容できる誤差のしきい値を決めるのに似ている。厳しすぎればノイズを拾いすぎ、緩すぎれば本物の欠落を見逃す。

結果を左右するのは、検証できなかった唯一の工程だ。環境にANTHROPIC_API_KEYがなかったため実際のAPIは一度も呼ばれておらず、テストは固定のドリフトJSONを返すモックに頼り、extractorからdetect_drift、reportまでの配線を確認するだけになっている。実ページで意図通りに動くかは、実際のHTMLに対してClaudeがプロンプトをどう扱うかにかかっていそうだ。CIで使う人は、最初の実運用を本当のテストと考えるべきだろう。終了コード1の挙動と空配列の既定値からすると、想定された居場所は手動レビューではなく自動パイプラインだ。

よくある質問
何を本物の不一致と見なすかは、どう判断するのか?
システムプロンプトでClaudeに表記や書式の違いは無視するよう指示し、数値の違い、片方にしかない項目、意味が変わった説明だけを報告させる。
問題を見つけたとき、何を出力するのか?
plan_id、field、source_value、published_value、severity、reasonを含むJSON配列としてMarkdownのドリフトレポートを出力する。不一致があれば終了コード1で終了し、なければ空の配列で何も出さない。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

関連記事

次の記事へGoogle、Gemini 4 Argon発表