AIエージェント学習帳

AIエージェントの仕組みを、LLMの基礎から設計パターンまで体系的に学べる学習サイト。

← 一覧へ

マルチモーダル入力(Vision)─ 画像・スクリーンショットをエージェントに渡す

結論から言うと、現代のLLMは画像を「見て」理解できる。テキストと画像を組み合わせてAPIに送るだけで、スクリーンショットの読み取り・図の解説・帳票からの数値抽出など、テキストだけでは難しかったタスクをエージェントで扱えるようになる。

なぜ画像入力が重要か?

テキストだけで情報を伝えるのは意外と手間がかかる。UIのバグを文章で説明するより「スクリーンショットを見てください」のほうがずっと速い。エージェントに画像を渡せると、次のようなユースケースが広がる。

  • UI操作の自動化: スクリーンショットを見てクリック先を判断する(→レッスン22「Computer Use」と組み合わせると強力)
  • 帳票・図の読み取り: 領収書やグラフから数値を抽出する
  • マルチモーダルRAG: 図入りPDFを画像とテキストの両面から検索する
  • 品質チェック: 製品画像を見て欠陥を検出する

Anthropicが公開している Vision ドキュメントでは、「画像→テキスト」の順にコンテンツを並べるとパフォーマンスが高い、と説明されている。

どうやって画像を渡すか

Anthropic APIでは、messagescontent配列にimageブロックを追加するだけ。渡し方は3通りある。

1. base64エンコード(最も基本的な方法)

{
  "type": "image",
  "source": {
    "type": "base64",
    "media_type": "image/jpeg",
    "data": "<BASE64文字列>"
  }
}

2. URL指定(公開画像なら手軽)

{
  "type": "image",
  "source": {
    "type": "url",
    "url": "https://example.com/chart.png"
  }
}

3. Files API(file_id)(会話が長くなる場合に推奨)

会話ターンを重ねるたびに同じ画像をbase64で送り直すと、リクエストサイズが膨らんでコストと遅延が増える。Files APIに一度アップロードしてfile_idを参照するだけに留めると、ペイロードを小さく保てる。

知っておくべき制限とコスト

項目 内容
対応フォーマット JPEG / PNG / GIF / WebP
最大ファイルサイズ 10 MB(API直接)
1リクエストの最大枚数 100〜600枚(モデルによる)

トークンコストは画像サイズに比例する。内部では28×28ピクセルを「1ビジュアルトークン」として計算する設計で、1000×1000ピクセルの画像は約1,296ビジュアルトークン相当になるとされる。費用が気になる場合は、送る前に画像をリサイズするのが有効だ。

苦手なことも押さえておく

  • 人物の特定: 規約で禁止されており、APIも拒否する
  • 精密な座標・個数: 近似値に留まる(精密な座標が必要なら専用ガイドを参照)
  • 医療診断用の精密読影: 専門家の代替として使わないこと
  • AI生成画像かどうかの判別: 精度は保証されない

マルチモーダルモデルの研究背景としては、2023年にNeurIPS で発表されたLLaVA論文(Visual Instruction Tuning, Liu et al., arXiv:2304.08485)が代表的で、ビジョンエンコーダと言語モデルを組み合わせる設計が現在の主流とされる。

まとめ

マルチモーダル入力は、テキストだけでは扱いにくい情報をエージェントに渡す強力な手段だ。APIではimageブロックをコンテンツに追加するだけで使え、JPEG・PNG・GIF・WebPに対応している。トークンコストは画像サイズに比例するため、必要に応じてリサイズしてから送るのが実践的なコツ。まず小さな画像で動作を確認し、用途に合ったサイズと品質に調整していくのがおすすめだ。

出典