活用術 · Anthropic Claude Platform Documentation + Markaicode
請求書データを100%の精度で抽出:Claude Vision + 構造化出力ワークフロー
写真: Kelly Sikkema Unsplashより
手作業の請求書抽出に悩むのはもう終わりにしよう。Claudeのビジョン機能と保証付きJSON出力を組み合わせることで、ベンダー、金額、日付、支払条件などの請求書フィールドを検証済みのデータベース対応JSONに自動抽出できる。この本番環境対応の手法は、パースエラーを完全に排除し、正規表現ハックやリトライループを不要にする。
請求書抽出はバックオフィス自動化の中でも最も一般的なタスクの一つだが、多くのチームはいまだに手書き項目や特殊なレイアウトで失敗するOCRツールに依存している。Claudeのビジョン機能は、ピクセルだけでなく文脈を理解することができるため、ここで優れた成果を発揮する。しかし本当の課題は出力の一貫性だ。エラーハンドリングの複雑な処理なしにデータベースが受け入れられる構造化JSONが必要なのである。
その解決策は、Claudeのビジョン分析とStructured Outputs(構造化出力)を組み合わせることだ。これはフォーマット制約をプロンプトレイヤーからモデルの推論エンジンへと移す機能である。tool_useを使用してビジョンとStructured Outputsを組み合わせると、Claudeは無効なJSONを出力できなくなる。APIがトークンサンプリングを制約し、スキーマ準拠を構造的に保証するためだ。try/exceptブロックも不要。フォールバックパーサーも不要。インポート失敗も発生しない。
ワークフローは以下の通りだ。まず、スキャンした請求書または領収書の画像をClaudeにアップロードする。次に、抽出スキーマを定義する—invoice_id、vendor_name、date、total_amount、payment_terms、line_itemsなどを指定するJSON構造である。第三に、tool_choiceを抽出ツールに設定した構造化出力パラメータを使用する。Claudeはビジュアルコンテンツを読み取り、スキーマに正確に一致する検証済みJSONを返す。業界テストでは、このアプローチはスキャン品質が低い場合でも、財務文書で初回パス時に94%以上の精度を達成することが示されている。
バッチ処理の場合は、複数の請求書をClaudeのBatch API(トークン単価50%割引)にルーティングし、一晩で100件以上の請求書を処理できる。スキーマ定義はコードベースに保存しよう。変更すると文法キャッシュが24時間無効化されるが、フィールドの説明のみを編集する場合はキャッシュは維持される。大量処理にはClaude Sonnet 4.6(入力トークン300万ドル)から始め、速度よりも推論品質が重要となる複雑な複数ページ文書にはOpus 4.6にアップグレードする。重要な詳細が一つ:APIでは引用(citations)をJSON出力と組み合わせることはできない。同じリクエストで透明性と構造の両方が必要な場合は、まずJSONを抽出し、その後フォローアップの質問で説明を求めること。
情報源とクレジット