Claude Codeで文書点検を繰り返す:一件ずつ処理し、失敗したら止める設計
非対話実行とJSON出力を使い、社内文書の点検結果を蓄積する設計例。処理の上限、再試行、承認待ちを含めて整理します。

最初は、ファイルを直さず点検結果だけを返す
文書をまとめて書き換える前に、誤記や日付の不整合を候補として返す処理を作ります。入力を一件ずつ渡し、結果を別の場所に保存すると、失敗した範囲を追いやすくなります。コードと処理例は設計・学習用で、AIを呼び出した実測や本番稼働の報告ではありません。
一件の成功を定義してからループにする
終了コード0だけでは、点検内容が妥当かは分かりません。JSONとして読めること、必須項目があること、指摘箇所が元の文書に存在することを別々に確認します。フォーマットが合っていても、存在しない一文を指摘した結果は承認待ちに回します。
表は横にスクロールできます
| 状態 | 保存するもの | 次の動作 |
|---|---|---|
| 正常・指摘なし | 入力識別子、結果、処理日時 | 次の一件へ |
| 正常・指摘あり | 根拠の引用箇所と修正案 | 人の確認待ちへ |
| 出力を解析できない | エラー種別と実行識別子 | その一件を保留 |
| 認証・権限エラー | 秘密を含まないエラー分類 | 全体を停止 |
| 同じ入力を処理済み | 過去の成功結果への参照 | 重複実行を避ける |
- 入力を限定
点検用コピーを一件渡す
- AIで点検
結果をJSONで受け取る
- 機械的に検査
形式と参照先を確かめる
- 確認待ちへ
修正案は人が採否を決める
JSON出力を扱う最小例
次は、秘密情報を除いた文書だけを置いた作業用フォルダで使うコマンドの形です。通常の非対話実行でもローカル設定やフック等が読み込まれるため、既存設定を確認してください。Readだけを指定してもファイルシステム全体を隔離する仕組みにはなりません。
claude -p "review-input.txtの誤記と日付の不整合を点検し、根拠のある指摘だけを返してください。修正や外部送信はしないでください。" --tools Read --allowedTools Read --permission-mode dontAsk --max-turns 3 --output-format json --json-schema '{"type":"object","properties":{"findings":{"type":"array","items":{"type":"string"}}},"required":["findings"],"additionalProperties":false}'回数・時間・予算には、それぞれ上限を設ける
--max-turns はエージェントのターン数を制限するもので、業務全体の件数や処理時間を制限するものではありません。外側の実行プログラムにも、件数と時間の上限、排他制御を持たせます。下表の数字は運用開始時の設定例で、推奨の共通値や料金の見積もりではありません。
表は横にスクロールできます
| 管理項目 | 設定例 | 上限に達した場合 |
|---|---|---|
| 一回の処理件数 | 5文書 | 残りを次回へ回す |
| 一件の時間 | 120秒 | プロセスを終了して保留 |
| 再試行 | 一時的な通信失敗のみ1回 | 再び失敗したら人が確認 |
| 全体の時間 | 10分 | 新しい処理を開始しない |
| 費用 | 契約に応じた日次予算 | 実測の使用量を見て止める |
小さく試して広げる
架空文書で確認
既知の誤記を含む入力を用意
失敗を再現
空の出力・認証失敗・時間切れを試す
承認手順を確認
誰が修正案を採用するか決める
件数を増やす
修正率と費用を見て調整
再実行しても同じ文書を二重処理しない
入力ファイルのハッシュ、点検ルールの版、使ったモデル・CLIの版を成功記録と一緒に残します。同じ入力とルールが成功済みなら読み飛ばし、内容が変わった文書は再点検します。処理中のまま停止した記録も残し、次の実行で勝手に成功へ変えないことが大切です。
input_hash / rule_version / cli_version / model started_at / finished_at / status exit_code / retry_count / usage(取得可能な項目) result_path / reviewer / approved_at ※本文や秘密情報ではなく、管理用IDと結果の保存先を記録する。
導入前に、現在のCLIオプションと権限の説明を確認してください。



