--- name: reading-payment-statement description: > 支払調書の画像を読み取り構造化データを返す。 他のスキルから呼び出されるほか、直接ユーザーが呼び出すことも可能。 --- # 支払調書 画像読み取り 支払調書(報酬、料金、契約金及び賞金の支払調書)の画像を読み取り、構造化データとして返すスキル。 ## 画像読み取り方法 ### 推奨: デュアル検証(並列2コンテキスト) 精度を高めるため、同じ画像を2つの独立したコンテキストで並列に読み取り、結果を照合する。 1. **2つの独立した読み取りを実行する:** サブエージェントが使える環境では、2つのサブエージェントを並列で起動し、それぞれ独立に画像を読み取る。 各サブエージェントには以下の「基本ルール」と「出力フォーマット」をプロンプトとして渡し、画像ファイルパスを指定する。 2. **結果照合:** 両方の読み取り結果から主要フィールド(金額等)を比較する。 3. **一致の場合:** そのまま採用。「2つの独立した読み取りで結果が一致しました」と報告する。 4. **不一致の場合:** ユーザーに元画像パスと両方の結果を提示し、正しい方を選択してもらう: - 差異のあるフィールドを明示する - A を採用 / B を採用 / 手動入力 の3択を提示する ### フォールバック(サブエージェント非対応の場合) サブエージェントが利用できない環境では、以下の手順で読み取る: 1. 画像ファイルを直接 Read ツールで読み取る 2. 以下の「基本ルール」と「出力フォーマット」に従ってデータを抽出する 3. 抽出結果をユーザーに提示し、**必ず目視確認を依頼する** ⚠ デュアル検証が利用できないため、必ずユーザーに目視確認を依頼してください。 ## 基本ルール - 画像ファイルは Read ツールで読み取る(Claude Vision が自動的に画像を認識する) - 金額は必ず int(円単位の整数)で返す。カンマや「円」は除去する - 日付は YYYY-MM-DD 形式で返す - 和暦は西暦に変換する(令和7年 → 2025、令和6年 → 2024、平成31年 → 2019) - 読み取れないフィールドは UNKNOWN(文字列)または 0(金額)とする - 複数ファイルを渡された場合は全て順に処理してまとめて返す ## 出力フォーマット 画像を読み取り、以下の形式で返す: ``` ---PAYMENT_STATEMENT_DATA--- payer_name: 支払者名 category: 区分(報酬/料金/契約金/賞金) gross_amount: 支払金額(int) withholding_tax: 源泉徴収税額(int) ---END--- ``` ## 抽出のポイント - 「支払金額」欄を最優先で抽出する - 「源泉徴収税額」欄を正確に読み取る - 支払者の名称を抽出する - 区分(報酬、料金、契約金、賞金のいずれか)を確認する - 「報酬、料金、契約金及び賞金の支払調書」というタイトルを確認する - 支払を受ける者の情報(住所・氏名)も読み取れれば確認用に含める ## 複数ファイルの処理 複数のファイルパスが指示された場合: 1. Glob ツールでファイル一覧を取得する(パターンが指示された場合) 2. 各ファイルを Read ツールで順に読み取る 3. 全ファイルの結果をまとめて返す(各結果の前にファイル名を記載する) ``` ## file1.jpg ---PAYMENT_STATEMENT_DATA--- ... ---END--- ## file2.jpg ---PAYMENT_STATEMENT_DATA--- ... ---END--- ```