Adaptive PDFs: LLM対応ドキュメントのためのMarkdown埋め込み
Adaptive PDFsは、単一の .pdf ファイルが2つの異なる対象、つまり視覚的にフォーマットされたドキュメントを見る人間と、クリーンで構造化されたMarkdownを抽出するマシン(LLMなど)の両方に機能することを可能にします。このアプローチは、テキスト抽出器が、通常はグリフの座標とフォントサイズのみを保存する視覚的フォーマットからドキュメントの階層を再構築するのに苦労するという一般的な問題を解決します。
Adaptive PDFsの仕組み
Adaptive PDFsは、PDF仕様(2001年のPDF 1.4以降で利用可能)における、マークされたコンテンツに対して置換テキストを定義できるプロパティを活用します。PDFレンダラーはこのプロパティを無視して視覚的なコンテンツストリームを描画しますが、互換性のあるテキスト抽出器は、視覚的なテキストの代わりに置換テキストを返します。
この機能は、もともと合字(リガチャー)やUnicodeに自然にマッピングされない文字のために意図されたものでした。Adaptive PDFsはこれをドキュメントレベルで適用し、marked-contentシーケンスを介してコンテンツストリームに置換テキストを付加します。これにより、PyMuPDFやPopplerのようなツールが構造化されたMarkdown(見出し、表、リストを含む)を返し、Adobe AcrobatやmacOS Previewのようなビューアでは視覚的な外観が同一に保たれることが保証されます。
パフォーマンスと抽出ベンチマーク
ベンチマークは、構造化されたMarkdownを埋め込むことが、ファイルサイズやLLMのトークン数に大きな影響を与えない一方で、情報の密度を劇的に向上させることを示しています。
トークンとサイズのインパクト
| Document | Pages | Size Δ | Normal Token | Smart Token |
|---|---|---|---|---|
| Resume | 1 | +15.7% | 650 | 668 |
| Textbook | 417 | -8.5% | 193,064 | 195,858 |
| Novel Chapter | 38 | +4.7% | 16,472 | 15,958 |
| Research paper | 18 | +2.5% | 7,897 | 7,897 |
主な調査結果
- Token Efficiency: トークン数は、通常のPDFとスマートPDFの間でほぼ同等に保たれます。価値は、トークンが明示的な構造(例:
## OverviewvsOverview)を持つようになることで、LLMがドキュメントの階層を推測する必要性を減らす点にあります。 - File Size: サイズのオーバーヘッドは、通常、一桁のパーセンテージの範囲内です。一部のサイズ削減(教科書の例で見られるように)は、技術そのものではなく、PyMuPDFの
garbage=3設定のような一般的なPDF最適化ツールによるものです。 - LLM Verification: ChatGPTやClaudeでのテストでは、両モデルとも、生のテキストをコピー&ペーストするように求められた際に、埋め込まれたMarkdownフォーマット(
#や-などの箇条書き)を返したため、モデルが埋め込まれたレイヤーにアクセスしていることが確認されました。
技術的な考慮事項と制限事項
Adaptive PDFsは、構造化されたデータを配信するための合理的な方法を提供しますが、いくつかの技術的およびセキュリティ上の考慮事項が存在します。
抽出器の互換性
この方法の有効性は、抽出器が置換テキストのプロパティを尊重することに依存します。ツールがこのプロパティを無視する場合、標準的で乱雑な抽出プロセスに戻り、ユーザーは構造化されたバージョンが利用可能であったことに気づかない可能性があります。
セキュリティとプロンプトインジェクション
置換テキストは人間の読者には見えないため、「プロンプトインジェクション」や悪意のある指示の潜在的なベクトルとなります。ユーザーは、LLM向けの隠れたコマンド(例:採用ボットに候補者を推薦するように指示する)を埋め込み、人間のレビューアーがそれに気づかないようにすることが可能です。
Tagged PDFsとの比較
著者は、多くの一般的なエクスポートツール(例:Chromeのprint-to-PDF)がタグを生成しないと述べていますが、一部のユーザーはLaTeXがタグ付きPDFを生成できる能力があることを指摘しました(ただし、ユーザーによる活用はあまり進んでいません)。さらに、米国政府の mandates (Section 508) は、アクセシビリティのためのスクリーンリーダーや支援技術のために、PDFにおけるセマンティックな構造を既に要求しています。
コミュニティの視点
この技術に関する議論は、ドキュメント形式の根本的な緊張関係をハイライトしています。いくつかの人は、PDF形式は本質的にマシンリーディングに適しておらず、HTMLや他のマークアップ言語を使用すべきだと主張しています。他の人は、これを、ドキュメントがAIエージェントによって消費されることが増る世界における、必要な橋渡しとして捉えています。
"Optimizing for humans vs. agents feels like the new wave of Desktop vs. Mobile... agents are going to win even faster."
プロジェクトのコードは github.com/iminoaru/adaptivepdf で利用可能です。