非同期で状態を管理する
推論処理をキューへ分離し、APIは処理状態を返します。タイムアウトや再試行も業務状態として扱います。
約10分で分かる全体像
PDFの受付、AIによる解析、人の確認、監査、モデル更新までを統合した文書処理(Document Intelligence)基盤です。 公開版では最小の実証として文書分類を実装し、その先の業務文書分析や設計図面の読み取りを見据えています。
約10分で読めますひと言でいうと
ReactorFront Portfolioは、ReactorFront(リアクターフロント)が公開する実装例です。利用者を認証してPDFを受け付け、ファイル保存領域と処理待ちのキューを介して、機械学習を実行するプログラムへ処理を渡します。 現在の推論タスクは「請求書」「報告書」の文書分類ですが、システムの中心は分類モデル単体ではありません。
推論結果を人が確認する工程(Human-in-the-loop)で承認・訂正し、機械の出力と人の判断を別々の監査記録として保存します。 さらに、データセット、評価結果、採用モデルを結び付け、モデル更新とロールバックまで追跡できるようにしています。
IT業界で働く方が短時間で構成と設計意図をつかめる概要です。 同じシステムを再構築できるコード解説や手順ではなく、実装範囲、技術判断、検証結果を確認できる粒度にしています。
処理の流れ
ユーザー操作と時間のかかる推論処理を分離し、各段階の状態と責任を明確にしています。
認証・認可を確認し、PDFと業務レコードを登録します。
Ingest / API / Object Storageキューから依頼を受けたMLワーカーが文書を解析します。
Analyze / Queue / ML Worker利用者が元文書と推論結果を確認し、承認または訂正します。
Review / Human-in-the-loop推論、レビュー、モデルの来歴を追跡可能な形で保存します。
Audit / Audit Trail / Lineage業務上の価値
業務導入では、推論の前後にある認証、状態管理、再実行、レビュー、監査、モデル更新が必要です。 このポートフォリオは、画面とAPI、ML、運用をつなぐ部分まで実装しています。
推論処理をキューへ分離し、APIは処理状態を返します。タイムアウトや再試行も業務状態として扱います。
ログイン済みであることに加え、対象文書を操作できる所有者かをAPI側で検証します。
リクエスト再送や同時レビューが起きても、最終判断を重複して確定しません。
機械の出力、人の最終判断、将来のデータセット候補を異なるレコードとして保存します。
処理依頼を確実に記録するOutbox、再試行、状態の記録を使い、途中で停止した場所を追跡して再開できるようにします。
端から端まで通した4つの実装単位
画面、API、データ保存、非同期処理、テストを端から端まで通す実装単位(Vertical Slice)を4つに分け、段階ごとに実行可能な状態を維持しました。 2026年8月12日時点で、4本すべての受け入れ条件を満たしています。
APIがPDFを受け付け、Outboxとキューを介してMLワーカーへ処理を引き渡します。再試行しても業務状態を壊しません。
示せること画面 / API / オブジェクト保存 / キュー / 再試行
文書の所有者だけが推論結果を承認・訂正できます。同時操作やリクエスト再送が起きても、最終判断は一度だけ成立します。
示せること認証 / 権限確認 / 重複防止 / 監査記録
人の訂正は学習候補として分離し、固定したデータセットで現行モデル(Champion)と更新候補(Candidate)を比較してから採用します。
示せることデータセット / 評価の合格条件 / 来歴 / ロールバック
Terraformで一時環境を構築し、認証付きE2Eを実行。destroy後は別経路で残存リソースまで検査します。
示せることAWS / Terraform / OIDC / E2E / 残存リソース検査
各技術の役割
各プログラムが担当する作業を分け、受け渡すデータと条件を明示して接続しています。
認証、PDFアップロード、処理状態、推論結果とレビューUI
認可、業務状態、Outbox、レビュー確定、監査ログを管理
APIとワーカーを分離し、処理依頼の配送と再試行を管理
採用済みモデルを検証してロードし、推論結果とモデル来歴を返す
Terraformによる構築、E2E、可観測性、destroyと残存確認
分類から広げられる範囲
現在の公開版は分類結果を返しますが、文書受付、非同期処理、人のレビュー、監査、モデルライフサイクルを担う共通基盤は、別の文書解析タスクにも再利用できます。
請求書や注文書の項目、明細表、フォームの値を抽出し、業務システムで扱える構造化データへ変換する。
契約書や報告書の重要項目、記載漏れ、文書間の差分を検出し、人が確認すべき箇所を提示する。
表題欄、文字、記号、寸法、部品候補、改訂差分を座標付きで抽出し、図面レビューへ接続する。
AIの出力と人の訂正を分離して保存し、どのデータ・モデル・評価条件で処理したかを追跡する。
図面解析や項目抽出は、現在の公開版で実証済みの機能ではありません。導入時には、業務データと正解ラベル(アノテーション)、OCR・レイアウト解析・画像認識モデルまたはCAD/BIM連携、座標を含む出力形式(スキーマ)、専用の確認画面、作業別の評価指標が必要です。セキュリティ、可用性、監視、処理量とコストも業務要件に合わせて追加設計します。
また、現行版は利用者が画面から自由に再学習するサービスではありません。データセットの採用、学習、評価、モデル昇格は、エンジニアがレビュー済みのリポジトリ変更として管理します。
現時点の実証範囲と制約
公開版で動作確認した範囲と、本番導入に必要な追加設計を分けて記載します。
公開リポジトリ
ソースコード、テスト、ADR、モデル評価、AWSの検証結果を公開リポジトリで確認できます。READMEと詳細資料は英語です。