Built Technologies、AWS で AI 文書処理を構築
Built Technologies は AWS Bedrock と IDP アクセラレータを活用し、不動産金融分野の複雑な文書処理を自動化する AI エージェント基盤を構築し、業務効率を劇的に向上させた。
キーポイント
AI エージェント基盤の構築
Built Technologies は AWS Bedrock と Intelligent Document Processing (IDP) アクセラレータを活用し、不動産金融ライフサイクル全体で動作する AI エージェントのコア機能として文書知能ソリューションを確立した。
複雑な文書処理の自動化
従来の手作業やルールベースでは困難だった、多様なフォーマットや非構造化データを含む不動産金融文書(ローン契約、保険証明書など)の分類、抽出、評価を AI が実行可能になった。
業務効率の劇的向上
以前は数日かかっていたワークフローが数分に短縮され、数百種類の文書タイプに対応可能なスケーラブルな環境を提供することで、意思決定プロセスを加速させた。
協働による開発体制
AWS 生成 AI イノベーションセンター(GenAIIC)、パートナーの AND Digital、および AWS アカウントチームとの連携により、技術者と業界専門家が共通の環境でプロセッサを構築・改善できる仕組みを作った。
重要な引用
Document processing in real estate is complex and highly manual, impacting critical business decisions at scale, making it ripe for automation.
For Built, document intelligence is not a back-office utility. It's a horizontal AI capability that sits at the foundation of a new generation of agentic products launching across the real estate finance lifecycle.
It reduces workflows that previously took days to minutes, supports hundreds of document types, and gives technical teams and industry experts a shared environment for building and improving document processors.
影響分析・編集コメントを表示
影響分析
この記事は、生成 AI とドキュメント処理技術が特定の垂直市場(不動産金融)において、単なる実験段階から実用的な業務基盤へと移行したことを示す重要な事例です。特に「文書知能」を横断的な能力として捉え、AI エージェントの核に据えるアプローチは、業界全体で同様の課題を抱える企業にとって、具体的な導入ロードマップと技術的根拠を提供するものと言えます。
編集コメント
不動産金融という重文書・高リスクの業界において、生成 AI を活用して「エージェンシー(自律性)」を実現した点は非常に示唆に富んでいます。AWS のエコシステムを最大限活用し、ドメイン知識と技術力を融合させた成功事例として、他業種への展開も期待されます。
不動産分野における文書処理は複雑かつ手作業が多く、大規模なビジネス判断に直結する課題となっています。この領域には自動化の大きな余地があります。
不動産ファイナンスソフトウェアプロバイダーである Built Technologies(http://getbuilt.com/)は、年間 5,000 億ドル以上のプロジェクトを扱っています。同社は Amazon Bedrock と AWS Intelligent Document Processing (IDP) Accelerator を活用し、AI 駆動の文書処理エンジンを構築しました。このエンジンが現在、不動産ライフサイクル全体にわたるエージェント型製品の基盤として機能しています。本稿では、不動産分野で AI による文書知能化が必要とされる背景と、その実現に向けたアーキテクチャの詳細について解説します。
不動産ファイナンスは文書の上に成り立っています。引き出しパッケージ、貸借契約書、請求書、保険証明書、検査報告書など、数十種類に及ぶ文書が関わります。これらには、金融機関やステークホルダーがレビューし、検証し、行動を起こすために必要な情報が含まれています。しかし、これらの文書は長文であることが多く、形式も不統一で、業界特有の用語が多く使われているため、従来の自動化手法では処理が困難です。
Built にとって、ドキュメントインテリジェンスは単なるバックオフィスの業務効率化ツールではありません。これは、不動産ファイナンスのライフサイクル全体で展開される次世代のエージェント型製品の基盤となる横断的な AI 機能です。
エージェントが建設資金の引き出し(construction draw)のレビューを行ったり、融資契約書の分析や保険適用範囲の確認、オファリングメモランダムの要約、ポートフォリオ内の例外事項の特定などを行う際にも、必要とされるのは同じコア機能です。つまり、文脈を踏まえつつ、高い精度と追跡可能性を持ってドキュメントを理解する能力です。
この基盤を構築するために、Built は AWS ジェネレーティブ AI イノベーションセンター(GenAIIC)、AWS パートナーである Digital、そして AWS のアカウントチームと連携し、スケーラブルで AI 駆動のドキュメント処理エンジンを開発しました。
その結果、複雑な不動産ファイナンス文書を分類・分割・抽出・評価・推論できる再利用可能なドキュメントインテリジェンスソリューションが生まれました。これにより、従来は数日かかっていた業務を数分に短縮し、数百種類に及ぶ多様なドキュメントタイプに対応可能となりました。さらに、技術チームと業界の専門家がドキュメントプロセッサの開発・改善を行うための共通環境を提供しています。
なぜ不動産ファイナンスには AI 駆動のドキュメントインテリジェンスが必要なのか
不動産ファイナンスは文書が多く、情報が断片的であり、文脈に強く依存する業界です。一つの取引や資産に関しても、ライフサイクルの異なる段階で、複数の関係者によって作成された数百から数千ページにおよぶ多様なフォーマットのドキュメントが絡み合います。
書類には、ACORD 25 証明書や政府様式のように標準化されたものもあれば、提供メモランダム、貸借契約書、評価報告書、Excel を活用した財務モデル、計画図面など、非常に多様な形式のものもあります。これらにはネストされた表、スキャン画像、埋め込まれた写真、表記のばらつき、法律用語、手書きの注記、あるいは借り手や貸し手に固有の専門用語などが含まれていることが多くあります。
Built が持つ既存のドキュメント処理機能により、同社は多くの書類タイプにおいて手作業から自動抽出へと移行することができました。チームは、光学式文字認識(OCR)と従来の機械学習(ML)を活用して、26 種類の抽出・分割・分類用プロセッサを構築しました。このアプローチは、項目が明確でレイアウトが予測可能な限定的なユースケースでは機能していました。
しかし、Built Technologies が不動産ライフサイクル全体にわたって AI ロードマップを拡大するにつれ、チームはより柔軟で高度な解決策を必要としました。250 種類を超える書類タイプに対応し、数百万件のドキュメントを処理でき、単なるテキスト抽出ではなく、文書に対して推論を行うエージェントを動かすことのできるソリューションが求められていたのです。
Built が直面した課題は以下の通りです:
文書の量と多様性:Built は、建設融資、不動産金融、資産管理、コンプライアンス、ポートフォリオワークフローなど、250 種類以上の文書タイプを処理しています。1 つの文書が 500 ページを超えることも珍しくありません。
複雑で不揃いな構造:多くの文書にはネストされた表や埋め込まれた画像、スキャンされたページ、カスタムレイアウト、そして非標準的な用語が含まれています。
文脈に依存した抽出:重要な情報は明示的なラベルとして提示されるのではなく、暗黙的に示されていたり、複数のセクションに分散していたり、業界特有の言葉で表現されていたりするケースがほとんどです。
高い精度への要求:金融やコンプライアンスに関わる重要なプロセスを運用するためには、分類と抽出ワークフローにおいて 95% 以上の信頼性が必須でした。
スケーラビリティと拡張性:Built は単一の製品ワークフローだけでなく、年内に次々と立ち上がる多数の AI エージェント型プロダクトに対応できるソリューションを必要としていました。
このプロジェクトの目的は、文書理解機能を Built の製品エコシステム全体で再利用可能な AI 機能として確立することでした。
OCR ベースの抽出から、エージェントによる文書理解へ
従来の OCR や機械学習に基づく文書抽出は、テキストを特定して期待される項目、ラベル、レイアウト、あるいは過去のテンプレートと照合する仕組みが一般的です。構造化された文書であればこの手法も有効ですが、判断や文脈の理解、専門的な推論が必要なタスクには限界があります。
例えば、借入金額、請求書の番号、保険契約の有効期限などを特定するのは、比較的直接的な抽出作業と言えます。これらの項目は通常、明示的にラベル付けされており、予測可能なテキストの近くに配置されているからです。
しかし、貸与契約における「コベナント(条項)」を見つけるのは話が異なります。
コベナントは、「Covenants」という見出しを持つ単純な表として提示されることは稀です。長い契約書の複数のセクションにまたがって記述されていたり、法的な文言の中に埋め込まれていたりします。他のセクションへの言及によって定義されたり、借受人の義務、制限事項、報告要件、財務上の閾値、デフォルトのトリガー、あるいは救済措置として表現されることもあります。「covenant」というキーワードで検索しただけでは、その実体を見逃す可能性があります。従来の抽出モデルであれば単語は見つけられても、そこに含まれる義務の内容までは理解できないのです。
エージェントによる文書ワークフローは、この問題に異なるアプローチで挑みます。単にテキストから項目を抜き出すだけでなく、文書を文脈の中で解釈します。関連するセクションを特定し、定義や義務について推論を行い、要件と例外を見分けた上で構造化された出力を生成。さらに、レビューのための根拠となる証拠も提示することが可能です。
ローン契約書に対して、自律型ワークフローは以下のような処理を行います。
- 文書の種類と関連する契約構造を特定する
- 借受人の義務、財務報告、制限事項、デフォルト(債務不履行)、救済措置に関連するセクションを検索する
- 明示的なラベルがなくても、どの条項がコベナント(契約条件)に該当するかを推論する
- コベナントの名前、要件、閾値、頻度、有効期間、責任者、違反時の結果などを抽出する
- 人間のレビューのために、元の文書への参照情報を提供してリンクさせる
- 曖昧さがある場合や信頼度が低い場合は、専門家にルーティングする
- 修正内容を記録し、スキーマ、プロンプト、評価ワークフローにフィードバックして改善する
Built が目指したのは、単なる「文書の抽出」から「文書の理解」への転換です。このアプローチは不動産ファイナンス全体で同じように適用されます。
エージェントには、保険カバレッジが要件を満たしているか、ドローパッケージに必要な書類が含まれているか、アプレール(評価)がアンダーライティングの前提を裏付けているか、オファリングメモランダムに主要なリスク指標が含まれているか、ポートフォリオ文書に注目が必要な例外事項がないかなどを理解させる必要があります。どのケースでも、文書は単なるテキストの塊ではありません。そこにはビジネスの文脈が詰まっているのです。
Built Technologies のエージェント AI ロードマップにおける横断的ソリューション
Built Technologies は、新しい文書インテリジェンス・ソリューションを単一の目的に特化したものではなく、横断的な機能として設計しました。最初の生産環境での活用事例は、商業建設ローンにおける「ドローパッケージ(資金引き出しパッケージ)」の処理です。これは、建設プロジェクト中に資金を引き出すために借主が提出する一連の文書群を対象としています。
ドローパッケージは、その規模が大きく、内容が多様で、時間的制約が厳しく、かつ業務上極めて重要であるという点から、このソリューションの実用性を証明する絶好の場となっています。
しかし、本ソリューションは意図的に不動産金融全体を支援するように設計されています。分類、分割、抽出、評価、そして人的レビューといった機能は、複数のエージェントやワークフロー間で再利用可能です。具体的には以下のようなケースで活用できます:
- パッケージの中身を分類し、欠落書類を特定し、請求書や留保放棄証書のデータを抽出し、例外事項にフラグを立てるレビューエージェント
- 契約条項、報告義務、財務閾値、借受人の制限、債務不履行規定などを特定するローン契約エージェント
- 保険証券、特約、補償限度額、付帯条項、除外事項、有効期限を検証する保険エージェント
- オファリングメモランダム、鑑定書、家賃リスト、予算、財務モデルを要約するアンダーライティングエージェント
- 継続的な報告パッケージを監視し、変更点を特定し、ポートフォリオレベルのリスクを浮き彫りにする資産管理エージェント
- 必要な様式、許可証、検査報告書、規制関連文書を点検するコンプライアンスエージェント
これらのすべてのエージェントが依存しているのは、同じ基盤能力です。つまり、非構造化で不揃いな大量のドキュメントを、構造化され、検証済みで説明可能なインテリジェンスに変換することです。
ドキュメント処理を共有機能として提供することで、Built は製品ごとに抽出パイプラインを再構築する必要なく、AI ロードマップを加速できます。新しいエージェントは、取り込み、分類、スキーマ管理、抽出、評価、レビューの各工程で同じインフラを再利用できます。
アーキテクチャ深掘り:インテリジェント・ドキュメント・プロセッシング・アクセラレーターと Amazon Bedrock
Built 社は、AWS GenAIIC と AND Digital と連携し、AWS のインテリジェント・ドキュメント・プロセッシング(IDP)アクセラレーターを基盤としたソリューションを開発しました。このソリューションでは、生成 AI を活用した分類、分割、スキーマ生成、抽出、評価、そして文書推論に Amazon Bedrock を採用しています。
本ソリューションは AWS Step Functions によってオーケストレーションされる多段階パイプラインを採用しています。各ドキュメントは、OCR(光学文字認識)、分類と分割、抽出、評価、必要に応じてルール検証という定義された一連のステージを順次通過します。各ステージは個別に用意された AWS Lambda 関数によって駆動されます。
ここでは、代表的な事例として、請求書、留保放棄証明書、保険証券、そして表紙文書が特定の順序もなしに混在した単一の PDF ファイルとして届く、150 ページ規模の商業建設用支払請求パッケージ(draw package)を例に、このパイプラインの流れを追って解説します。

高レベルの概要としては、このパイプラインは以下の手順で動作します。まず、Amazon Simple Storage Service (Amazon S3) の入力バケットにアップロードされたドキュメントがトリガーとなり、Amazon EventBridge イベントが発生します。これを受け取った Queue Sender Lambda 関数が、イベントを Amazon DynamoDB の追跡テーブルに記録すると同時に、Amazon Simple Queue Service (Amazon SQS) キューへメッセージを送信します。
次に、Queue Processor Lambda 関数が DynamoDB のアトミックカウンターを用いて並行処理の制御を行い、処理余力が生じた時点でドキュメントに対する AWS Step Functions の実行を開始します。ステートマシンはその後、OCR(光学文字認識)、分類と分割、情報抽出、評価、そして結果処理という順序で各工程を順次実行していきます。
抽出プロセスは Step Functions の Map 状態内で実行され、これが分類されたセクションを並列処理するための仕組みとなります。150 ページに及ぶ図面パッケージが個別のドキュメントに分割されると、それぞれのセクションに対して独立した抽出呼び出しが同時に実行されます。これにより、全体の処理所要時間は全セクションの合計時間ではなく、最も長い単一セクションの処理時間に制限されることになります。この並列化こそが、従来は数日かかっていたワークフローを数分で完了させる要因の一つです。
最終的な結果は S3 の出力バケットに書き込まれ、AWS AppSync が GraphQL サブスクリプションを通じてユーザーインターフェースへリアルタイムのステータス更新を提供します。
ドキュメントの取り込みとレビュー体験
AND Digital は、Amazon Cognito による認証機能を備えた、カスタム開発した React ベースの UI を構築しました。この UI では、ユーザーはドキュメントのアップロード、プロセッサの管理、スキーマ定義、抽出結果の確認、バージョン比較、そして信頼度スコアの閲覧を一元化して行えます。
このカスタム UI が重要視された背景には、Built 社が技術者だけでなく、ビジネスの専門知識を持つ担当者も活用できるソリューションが必要だったという事情があります。ドキュメントインテリジェンスはエンジニアリングチームだけで管理できるものではありません。ドキュメントの内容を最も深く理解しているのは、融資の専門家やオペレーションチーム、コンプライアンス担当、プロダクトマネージャー、そして顧客対応チームといった人々だからです。
ユーザーが図面パッケージ(draw package)をアップロードすると、そのドキュメントはプレサイン付き URL を経由して Amazon S3 に保存されます。同時に、Amazon EventBridge がアップロードイベントを検知し、パイプラインの稼働を開始します。ここで重要なのが並行処理層です。DynamoDB のアトミックカウンターと SQS キューを組み合わせることで、Amazon Bedrock や Amazon Textract のサービス制限内で Step Functions の実行数を制御しています。この仕組みにより、単発のアドホックなアップロードから 50,000 ドキュメントに及ぶバッチ処理まで、同じパスで柔軟に対応することが可能になっています。
OCR と構造化抽出
ドキュメントがパイプラインに流入すると、AWS Lambda がトリガーとなって Amazon Textract が起動し、テキストや表、フォーム、署名、そして文書の階層構造を抽出します。Textract は、下流の生成 AI ワークフローが分類や情報抽出を行う際に必要とする文書構造を提供します。大規模なドキュメントの場合、システムはページ単位で処理を進めます。これにより並列化が可能になりますが、スケーリング時には細心の注意を払った同時実行制御とレート制限(スロットル)管理が必要です。
OCR 工程では、抽出結果が後続の工程で利用できるよう一貫した構造に正規化されます。各ページについて、生テキストの位置情報、構造化されたテキスト、そしてページ画像の場所が Amazon S3 に記録されます:
{
"metadata": {
"input_bucket": "",
"object_key": "",
"num_pages": ""
},
"pages": {
"1": {
"rawTextUri": "",
"parsedTextUri": "",
"imageUri": ""
}
}
}
本ソリューションでは、従来の OCR よりも視覚モデルの方が信頼性の高い読み取りを提供できるドキュメントに対して、Amazon Bedrock を代替の OCR バックエンドとして利用することも可能です。具体的には、画質の低いスキャン画像や密集した手書き注釈などが該当します。OCR バックエンドはコードの変更ではなく設定項目として扱われるため、チームは各処理プロセスごとに Textract か Bedrock のどちらかを選択できます。
文書のインテリジェント分類と分割
OCR 処理の後、分類ワークフローでは Amazon Bedrock を活用して文書タイプを特定し、統合された PDF 内の境界線を検出します。これは不動産金融の分野において特に重要です。なぜなら、1 つのパッケージに多数の文書が含まれており、その順序が予測不可能なケースが多いためです。
このソリューションでは、ページ数に厳しい制限がある別々の文書分割ツールを必要とするのではなく、大規模なパッケージ内部に含まれる個々の文書を特定し、それらがより広範な取引とどのように関連しているかを保持します。
分類は、利用可能な文書タイプの一覧と例セットを含む設定可能なプロンプトによって駆動されます。プロンプトのキャッシュ区切り文字(delimiter)が、静的な指示部分と文書テキスト部分を分離しており、これにより静的な部分はリクエスト間で再利用可能になります:
classification:
task_prompt: |
Classify this document into the following categories:
{CLASS_NAMES_AND_DESCRIPTIONS}
{FEW_SHOT_EXAMPLES}
>
{DOCUMENT_TEXT}この > マーカーが、Built のスケールにおいて効率性を発揮する鍵となります。キャッシュ区切り文字より前の部分(クラス定義や例など)は、プロセッサが扱うすべての文書で同一であるため、Amazon Bedrock がこれをキャッシュし、リクエスト間で再利用します。一方、マーカー以降の文書テキスト部分は、呼び出しごとに異なります。
12 種類以上の文書クラスと例を定義する融資パッケージ処理プロセスにおいて、この仕組みにより、各パッケージのすべてのページで同じ指示を再処理する必要がなくなります。
文書分割の工程では、ページ範囲と文書タイプをマッピングした構造化された結果が生成されます。例えば「draw package」の場合、出力は以下のようにラベル付きセクションにページをグループ化します。
{
"sections": [
{ "id": "group-001", "class": "CoverLetter", "pages": [1] },
{ "id": "group-002", "class": "Invoice", "pages": [2, 3, 4, 5, 6] },
{ "id": "group-003", "class": "LienWaiver", "pages": [7, 8] },
{ "id": "group-004", "class": "InsuranceCertificate", "pages": [9, 10] }
]
}
各セクショングループは、Step Functions の Map ステートにおいて独立したタスクとして扱われ、それぞれのドキュメントタイプに固有のスキーマに基づいて抽出処理が実行されます。
スキーマの動的生成と抽出
本ソリューションの重要な機能の一つに、スキーマの動的生成があります。ユーザーは新しい文書タイプのサンプルをアップロードするだけで、Amazon Bedrock がその文書から抽出すべきフィールドや構造、出力形式を含む提案された抽出スキーマを自動生成します。
その後、専門家がスキーマを精査・修正し、サンプルデータで検証を行います。さらに、異なるモデルバージョン間の出力結果を比較したり、新しいプロセッサのバージョンを作成したりすることも可能です。
内部では、各ドキュメントタイプは JSON Schema で定義されており、各フィールドに記述された説明文が抽出プロンプトの一部として活用されます。ここがソリューションの精度を高める鍵となります。単なるフィールド名だけでなく、「値が通常どこに表示されるか」「何と呼ばれる用語か」を含めた詳細な説明があれば、モデルははるかに効果的に情報を捉えることができます。
例えば、リエン・ウェイバー(留保放棄書)のスキーマでは、ウェイバーの種類、請負業者、プロジェクト名、適用期間、金額、および例外事項などを抽出します。以下はその一例です:
{
"classes": [
{
"$id": "LienWaiver",
"x-aws-idp-document-type": "LienWaiver",
"type": "object",
"description": ">\n A lien waiver in which a contractor or supplier waives the right\n to file a mechanic's lien against the property for payment received.",
"properties": {
"WaiverType": {
"type": "string",
"description": ">\n The type of waiver: Conditional, Unconditional, Partial, or\n Final. Look for these terms in the heading at the top."
},
"ContractorName": {
"type": "string",
"description": ">\n The contractor or subcontractor signing the waiver. Usually in\n the 'From' or 'Claimant' field, or above the signature line."
},
"ProjectName": {
"type": "string",
"description": ">\n The name of the project associated with this lien waiver. Typically found near the top of the document."
}
}
}
]
}原文を表示
Document processing in real estate is complex and highly manual, impacting critical business decisions at scale, making it ripe for automation. Built Technologies, a real estate finance software provider, processes over $500B in real estate projects. The company deployed an AI-powered document processing engine on Amazon Bedrock and the AWS Intelligent Document Processing (IDP) Accelerator. That engine now serves as the foundation for agentic products across the real estate lifecycle. In this post, we share the need for AI-powered document intelligence in real estate and an architectural deep dive to build it.
Real estate finance runs on documents: draw packages, loan agreements, invoices, insurance certificates, inspection reports, and dozens more. Each contains information that lenders and stakeholders need to review, validate, and act on. These documents are often long, inconsistent, domain-specific, and difficult to process with traditional automation.
For Built, document intelligence is not a back-office utility. It’s a horizontal AI capability that sits at the foundation of a new generation of agentic products launching across the real estate finance lifecycle. Whether an agent is reviewing a construction draw, analyzing a loan agreement, validating insurance coverage, summarizing an offering memorandum, or identifying exceptions in a portfolio, it needs the same core capability: the ability to understand documents with context, accuracy, and traceability.
To build that foundation, Built partnered with the AWS Generative AI Innovation Center (GenAIIC), AWS Partner AND Digital, and AWS account teams to create a scalable, AI-powered document processing engine.
The result is a reusable document intelligence solution that can classify, split, extract, evaluate, and reason over complex real estate finance documents. It reduces workflows that previously took days to minutes, supports hundreds of document types, and gives technical teams and industry experts a shared environment for building and improving document processors.
Why real estate finance needs AI-powered document intelligence
Real estate finance is document-heavy, fragmented, and highly contextual. A single transaction or asset can involve hundreds or thousands of pages of documentation produced by different parties, in different formats, at different stages of the asset lifecycle.
Some documents are standardized, such as ACORD 25 certificates or government forms. Others are highly variable, such as offering memorandums, loan agreements, appraisals, Excel-based financial models, and plans and specifications. Many contain nested tables, scanned pages, embedded images, inconsistent labels, legal language, handwritten annotations, and borrower- or lender-specific terminology.
Built’s existing document-processing capabilities helped the company move from manual work to automated extraction across many document types. The team had established 26 processors for extraction, splitting, and classification using optical character recognition (OCR) and traditional machine learning (ML). That approach worked for narrower use cases where the fields were explicit, and layouts were predictable.
But as Built Technologies expanded its AI roadmap across the real estate lifecycle, the team needed something more flexible and more intelligent. They needed a solution that could support more than 250 document types, handle millions of documents, and power agents that could reason over documents rather than simply extract text from them.
Built faced several challenges:
- Document volume and variety: Built processes more than 250 document types across construction lending, real estate finance, asset management, compliance, and portfolio workflows among others. Individual documents can exceed 500 pages.
- Complex, inconsistent document structures: Many documents contain nested tables, embedded imagery, scanned pages, custom layouts, and non-standard terminology.
- Context-dependent extraction: Important information is often implied, distributed across multiple sections, or expressed in domain-specific language rather than presented as a clearly labeled field.
- High confidence requirements: Built required over 95 percent confidence in classification and extraction workflows to support production use in financial and compliance-sensitive processes.
- Scale and extensibility: Built needed a solution that could support not only one product workflow, but many agentic AI products launching throughout the year.
The goal was to make document understanding a reusable AI capability across Built’s product ecosystem.
From OCR-based extraction to agentic document understanding
Traditional OCR and machine learning-based document extraction generally works by identifying text and matching it to expected fields, labels, layouts, or prior templates. This can be effective for structured documents, but it’s limited when the task requires judgment, context, or domain reasoning. For example, finding a loan amount, invoice number, or policy expiration date may be a relatively direct extraction task. The field is usually explicit, labeled, and located near predictable text. However, finding covenants in a loan agreement is different.
Covenants are often not presented in a straightforward table labeled “Covenants.” They might appear across multiple sections of a long agreement. They may be embedded in legal language, defined through references to other sections, or expressed as borrower obligations, restrictions, reporting requirements, financial thresholds, default triggers, or remedies. A keyword search for “covenant” might miss the substance. A traditional extraction model may find the word but fail to understand the obligation.
An agentic document workflow can approach the problem differently. Instead of only extracting fields from text, the system can interpret the document in context. It can identify relevant sections, reason over definitions and obligations, distinguish between requirements and exceptions, extract structured outputs, and provide supporting evidence for review.
For a loan agreement, an agentic workflow could:
- Identify the document type and relevant agreement structure.
- Locate sections related to borrower obligations, financial reporting, restrictions, defaults, and remedies.
- Infer which clauses represent covenants, even when they are not explicitly labeled.
- Extract the covenant name, requirement, threshold, frequency, effective period, responsible party, and consequence of breach.
- Provide references back to the source document for human review.
- Route ambiguous or low-confidence results to a subject matter expert.
- Capture corrections and feed them back into schema, prompt, and evaluation workflows.
This is the shift Built needed: from document extraction to document understanding. That same pattern applies across real estate finance. Agents need to understand whether insurance coverage satisfies requirements, whether a draw package contains the required documentation, whether an appraisal supports underwriting assumptions, whether an offering memorandum contains key risk indicators, or whether a portfolio document includes exceptions that require attention. In each case, the document is not only a source of text. It is a source of business context.
A horizontal solution for the Built Technologies agentic AI roadmap
Built designed the new document intelligence solution as a horizontal capability rather than a single-purpose solution. The first production use case focused on commercial construction loan draw packages, where borrowers submit collections of documents to request fund disbursements during construction projects. Draw packages are a strong proving ground because they are large, variable, time-sensitive, and operationally important.
However, the solution was intentionally designed to support real estate finance at large. The same classification, splitting, extraction, evaluation, and human-review capabilities can be reused across multiple agents and workflows, including:
- Draw review agents that classify package contents, identify missing documents, extract invoice and lien waiver data, and flag exceptions.
- Loan agreement agents that identify covenants, reporting obligations, financial thresholds, borrower restrictions, and default provisions.
- Insurance agents that validate certificates of insurance, policy declarations, coverage limits, endorsements, exclusions, and expiration dates.
- Underwriting agents that summarize offering memorandums, appraisals, rent rolls, budgets, and financial models.
- Asset management agents that monitor ongoing reporting packages, identify changes, and surface portfolio-level risks.
- Compliance agents that inspect required forms, permits, inspection reports, and regulatory documentation.
Each of these agents depends on the same foundational ability: turning unstructured, inconsistent, high-volume documents into structured, validated, explainable intelligence.
By making document processing a shared solution capability, Built can accelerate its AI roadmap without rebuilding extraction pipelines for every product. New agents can reuse the same infrastructure for ingestion, classification, schema management, extraction, evaluation, and review.
Architecture deep dive: Intelligent Document Processing Accelerator and Amazon Bedrock
Built partnered with AWS GenAIIC and AND Digital to build the solution using the AWS Intelligent Document Processing (IDP) Accelerator as the foundation. The solution uses Amazon Bedrock for generative AI-powered classification, splitting, schema generation, extraction, assessment, and document reasoning.
The solution uses a multi-stage pipeline orchestrated by AWS Step Functions. Each document moves through a defined sequence of stages: OCR, classification and splitting, extraction, assessment, and optional rule validation. Each stage is powered by a discrete AWS Lambda function. This section walks through that pipeline using a representative example: a 150-page commercial construction draw package that arrives as a single PDF containing invoices, lien waivers, insurance certificates, and a cover letter in no particular order.

At a high level, the pipeline works as follows. A document uploaded to an Amazon Simple Storage Service (Amazon S3) input bucket emits an Amazon EventBridge event. A Queue Sender Lambda function records the event in an Amazon DynamoDB tracking table and places a message on an Amazon Simple Queue Service (Amazon SQS) queue. A Queue Processor Lambda function manages concurrency through a DynamoDB atomic counter and, when capacity is available, starts an AWS Step Functions execution for the document. The state machine then runs the processing stages in order: OCR, then classification and splitting, then extraction, then assessment, and finally a process-results step.
Extraction runs inside a Step Functions Map state, which is the mechanism that lets the solution process classified sections in parallel. When the 150-page draw package is split into its constituent documents, each section receives its own extraction invocation that runs concurrently with the others. Total processing time is bounded by the longest individual section rather than the sum of all sections. This is one of the reasons workflows that previously took days now finish in minutes. Results are written to an S3 output bucket, and AWS AppSync delivers real-time status updates to the user interface through GraphQL subscriptions.
Document ingestion and review experience
AND Digital built a custom React-based UI authenticated through Amazon Cognito. The UI gives users a central place to upload documents, manage processors, define schemas, review extraction results, compare versions, and inspect confidence scores.
The custom UI was important because Built needed the solution to support both technical users and business subject matter experts. Document intelligence can’t be managed only by engineering teams. The people who understand the documents best are often lending experts, operations teams, compliance specialists, product managers, and customer-facing teams.
When a user uploads a draw package, the document is stored in Amazon S3 through pre-signed URLs, and the Amazon EventBridge upload event sets the pipeline in motion. The concurrency layer (the DynamoDB atomic counter paired with the SQS queue) keeps the rate of Step Functions executions within Amazon Bedrock and Amazon Textract service limits. This is what allows the same path to handle both a single ad hoc upload and a 50,000-document batch run without changes.
OCR and structural extraction
When documents enter the pipeline, AWS Lambda triggers Amazon Textract to extract text, tables, forms, signatures, and structural hierarchy. Textract provides the document structure that the downstream generative AI workflows rely on for classification and extraction. For large documents, the system processes pages individually, which allows parallelization but requires careful concurrency and throttle management at scale.
The OCR stage normalizes its output into a consistent structure that later stages consume, recording the location of the raw text, parsed text, and page image for every page in Amazon S3:
{
"metadata": {
"input_bucket": "",
"object_key": "",
"num_pages": ""
},
"pages": {
"1": {
"rawTextUri": "",
"parsedTextUri": "",
"imageUri": ""
}
}
}The solution can also use Amazon Bedrock as an alternative OCR backend for documents where a vision-capable model reads the page more reliably than traditional OCR, such as low-quality scans or dense handwritten annotations. The OCR backend is a configuration choice rather than a code change, so teams can select Textract or Bedrock per processor.
Intelligent classification and splitting
After OCR processing, the classification workflow uses Amazon Bedrock to determine document types and identify boundaries within combined PDFs. This is especially important in real estate finance, where a single package may contain many documents in unpredictable order. Instead of requiring a separate document splitter with rigid page limitations, the solution identifies the constituent documents inside large packages and preserves their relationship to the broader transaction.
Classification is driven by a configurable prompt that lists the available document types and a set of examples. A prompt cache delimiter separates the static instructions from the document text so the static portion can be reused across requests:
classification:
task_prompt: |
Classify this document into the following categories:
{CLASS_NAMES_AND_DESCRIPTIONS}
{FEW_SHOT_EXAMPLES}
>
{DOCUMENT_TEXT}
The > marker is what makes this efficient at Built’s scale. Everything before the cache delimiter such as the class definitions and examples is identical for every document a processor handles, so Amazon Bedrock caches it and reuses it across requests. Only the document text after the marker changes from one invocation to the next. For a draw-package processor that defines a dozen or more document classes with examples, this avoids reprocessing the same instructions on every page of every package.
The document splitting stage produces a structured result that maps page ranges to document types. For the example draw package, the output groups the pages into labeled sections:
{
"sections": [
{ "id": "group-001", "class": "CoverLetter", "pages": [1] },
{ "id": "group-002", "class": "Invoice", "pages": [2, 3, 4, 5, 6] },
{ "id": "group-003", "class": "LienWaiver", "pages": [7, 8] },
{ "id": "group-004", "class": "InsuranceCertificate", "pages": [9, 10] }
]
}Each section group becomes an independent task in the Step Functions Map state, and extraction runs against the schema specific to that document type.
Dynamic schema generation and extraction
A key capability of the solution is dynamic schema generation. Users can upload examples of a new document type, and Amazon Bedrock generates a proposed extraction schema: the fields, structures, and outputs that should be captured from that document. Subject matter experts can then refine the schema, test it against examples, compare outputs across model versions, and create new processor versions.
Internally, each document type is defined by a JSON Schema, and the description written for each field becomes part of the extraction prompt. This is where much of the solution’s accuracy comes from: a field description that includes where the value typically appears and what it is called guides the model far more effectively than a field name alone. A lien waiver schema, for example, captures the waiver type, contractor, project, applicable period, amount, and any exceptions:
classes:
- $id: LienWaiver
x-aws-idp-document-type: LienWaiver
type: object
description: >
A lien waiver in which a contractor or supplier waives the right
to file a mechanic's lien against the property for payment received.
properties:
WaiverType:
type: string
description: >
The type of waiver: Conditional, Unconditional, Partial, or
Final. Look for these terms in the heading at the top.
ContractorName:
type: string
description: >
The contractor or subcontractor signing the waiver. Usually in
the 'From' or 'Claimant' field, or above the signature line.
ProjectName:
type: string
de
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み