Claude Codeで1300枚の画像を読ませたら落ちた話 — 並列サブエージェントで6倍速に

Knowledge by さーち

結論:「150タイル × 8並列」が、Claudeに大量画像を読ませる時の安全運転ルールです。

さーち
さーち

1300枚の画像を一気に読ませて、途中で全部消えたんですよね…

Claude
クロード

私もその失敗から学びました。原因と解決策を、非エンジニアでも使える形で整理します。

「失敗の再現を仕組みで防ぐ」が、今回の主題です。


誰向けの記事か

さーち
さーち

これ、誰が読むといいの?

Claude
クロード

Claude Codeで「大量の画像・PDF・データを一気に読ませたい」と思っている非エンジニアの方です。

具体的には次のような方を想定しています。

技術解説より、実際の作業で失敗しないための実践ルール に重きを置いています。


何が起きたか:1300枚を1回で読ませて落ちた

さーち
さーち

具体的に何が起きたんですか?

Claude
クロード

あるコミュニティのAI活用事例集を、動画録画から約1,300枚の画像に切り出していました。これを全部読み込んでカテゴリ別に集計したかったのです。

最初の作戦はシンプルでした。

「Claude Codeに全部の画像を渡して、カテゴリ集計してください」

これを 1セッションで一気にやろうとした わけです。

起きたこと

タイミング 状態
開始 1,134タイルを順番に読み込み開始
中盤 約241ツールコール、進捗60%程度
ある瞬間 「32MB上限を超えた」エラーで停止
結果 それまでの進捗データが回収不能、ゼロからやり直し
⚠️ 注意

⚠️ Claudeのセッションには「画像データを保持できる総容量」の上限があります。大量の画像を1回に読ませると、ある時点で必ず詰まります。それまでの作業がすべて消えるリスクは想像以上に痛いです。

なぜ起きるのか

Claude Code は 会話履歴 + 画像データ をまとめて記憶するため、画像を大量に読み込むほど記憶容量を圧迫します。

ある容量を超えると、Claudeはそれ以上の処理を受け付けなくなり、そのセッションは復旧不能 になります。

📌 ポイント

📌 「全部読んで」と1回で頼むのは、AIにとって『重すぎる荷物を一度に運べ』と命じているのと同じ。途中で必ずバランスを崩します。


解決策:「150タイル × 8並列」のルール

さーち
さーち

じゃあ、どうやって乗り越えたの?

Claude
クロード

作業を **8つに分割して、それぞれを別のClaudeに同時にやらせる** ことです。これが「サブエージェント並列」と呼ばれる手法です。

採用したルールはシンプルです。

📌 ポイント

📌 大量画像処理の安全運転ルール - 1チャンク = 最大150タイルまで - 同時起動するサブエージェント = 最大8つ - 各サブエージェントには「画像はテキスト抽出だけして、JSONで返して」と指示する

全体の流れ

1
1,300枚の画像を1枚=6タイル(3行×2列)に分割
合計約7,800タイル
2
タイル総数を8チャンクに振り分け
各150タイル以下
3
8つのサブエージェントに並列で渡す
同時起動
4
各サブが画像を読んで、JSONテキストだけ返す
容量回避
5
メインのClaudeは戻ってきたJSONを1つに統合
仕上げ

なぜ150タイルなのか

過去に 1,134タイル一気読みで落ちた という具体的な失敗データから逆算しました。

数値 根拠
1,134タイル 落ちた実績ライン
150タイル 1,134 ÷ 8 = 約142、安全マージンで150に設定
8並列 安定して同時起動できる目安
⚠️ 注意

⚠️ 「大丈夫そうだから200にしよう」と上限を上げると、また落ちます。失敗の経験から作ったルールは、そのまま守る のが正解です。

なぜ画像をテキストだけにして返すのか

サブエージェントが読んだ画像を そのままメインに渡すと、結局メインの容量を圧迫 します。

そこで「画像はテキスト抽出にしか使わない、戻すのはJSONテキストだけ」とルール化しました。

📌 ポイント

📌 画像はサブで読み捨て、戻すのはテキストだけ。これが容量問題を回避する最大のコツです。


結果:6倍速で安定処理

さーち
さーち

実際どれくらい早くなったの?

Claude
クロード

処理全体で約6倍速、しかも途中で落ちることがなくなりました。

指標 1セッション一気読み 並列サブエージェント
処理時間 完走できず(途中停止) 約10分で完了
安定性 途中で落ちると全進捗消失 チャンク単位で再投入できる
並列度 1(直列) 8(並列)
速度比較 - 約6倍速(推定)
✅ まとめ

✅ 並列サブエージェント導入で得たもの 1. 約6倍速の処理時間短縮 2. 途中で落ちても全部消えない安心感 3. 同じ規模のタスクを次回も再現できる仕組み


スキル化して「失敗の再現」を仕組みで防ぐ

さーち
さーち

1度成功したら、次回も同じやり方を使えるようにしたいよね?

Claude
クロード

その通り。一度上手くいった手順を **スキル** として保存すれば、半年後の自分も、別のClaudeセッションも、同じ勝ち方を再現できます。

スキルファイルに書いた禁止事項

スキル化する時、冒頭に「絶対やってはいけないこと」を明記 しました。

## 絶対禁止事項

1. Claudeがコードを自作して実行するの禁止
2. 1チャンク=150タイル上限を厳守
3. 各サブエージェントには「画像はテキストだけ返す」と明記
4. 古いスキルファイルが残っていないか確認
📌 ポイント

📌 「次回もまた同じミスをするかも」と思ったポイントは、スキルの先頭に書く のが効きます。Claudeが先にそれを読むので、二度と踏まなくなります。

呼び出し方は1行

スキル化した後の呼び出しは、たった1行です。

○○フォルダを精読して

これだけで、Claudeが自動的に「150タイル × 8並列」の手順を再生してくれます。

💡 豆知識

💡 一度作ったスキルは、別のセッションでも使えます。半年後に「あれ、どうやったんだっけ?」となっても、ファイルを呼ぶだけで瞬時に再現できるのがスキルの強さです。


「並列サブエージェント」が向く作業 / 向かない作業

さーち
さーち

何でも並列にすればいいわけじゃないよね?

Claude
クロード

その通り。**作業同士が独立しているか** が判断基準です。

向いている作業

作業
大量画像の情報抽出 数百〜数千枚の事例画像からカテゴリ集計
大量PDFの要約 100本の論文から論点を抽出
独立した重複除去 IDが被らないようマージするだけの作業

これらは チャンクごとに独立して結果が出る ので、並列が効きます。

向かない作業

作業 理由
1個目の結果を見て2個目を書く文章生成 順番に依存するため並列不可
ストーリーやコードの連続生成 直前の結果が次の入力
議論や戦略の積み上げ 文脈の積み上げが必要
⚠️ 注意

⚠️ 並列にしていいのは、タスク同士が完全に独立している時だけ 。順序や依存関係がある作業を並列化すると、結果が壊れます。


補足:実際にどれだけ集計できたか

さーち
さーち

このスキルで実際に何件集計できたの?

Claude
クロード

複数の範囲を順次処理し、合計約1,387件のデータを精密集計できました。

範囲 集計件数
範囲A(100〜500) 392件
範囲B(1500〜2002) 499件
範囲C(2000〜2502) 496件
合計 約1,387件

人手で同じ作業をすると 1ヶ月 かかる規模ですが、並列スキルなら 1日強 で完了しました。

📌 ポイント

📌 個人で1,387件のデータ整理を自動化できる時代。「人を雇うかわりに仕組みを残す」感覚が、非エンジニアにも届く範囲に来ています。


学んだ3つのこと

さーち
さーち

今回の経験で得た一番の学びは?

Claude
クロード

失敗をルールに変換すれば、同じ失敗を二度としなくて済むこと。それが「スキル化」の真価です。

✅ まとめ

✅ 大量データ処理 × Claude Code で学んだ3つのこと

  1. 「全部一気に」は禁物 — 容量上限は必ず存在する
  2. チャンクサイズの上限は失敗から逆算する — 「これくらいなら」は再発の元
  3. 失敗をスキルファイルに書き残す — 半年後の自分も、別のセッションも救える

最後に:自分の思い

さーち
さーち

これから大量データを扱いたい非エンジニアに、何を伝えたい?

Claude
クロード

『失敗は仕組みに変えられる』ということです。落ち込む時間より、ルールに書き起こす時間に投資すれば、未来の自分が必ずラクになります。

非エンジニアの自分は、失敗するたびに「また自分はダメだった」と落ち込んできました

でも、Claude Codeで一度この経験をして気づきました。

失敗は、仕組みに変えれば資産になる。

「1,134タイルで落ちた」という1回の経験が、150タイル × 8並列という再現可能なルール に変わった瞬間、それは失敗ではなく 次の成功の地図 になりました。

💡 豆知識

💡 失敗した時こそ「これをスキルに書き残せる」と思うとラクになります。落ち込む暇があったら、.md ファイルを1枚開いて、禁止事項を書き留めておけばいい。それで未来の自分が救われます。

「人を雇うかわりに仕組みを残す」この感覚に慣れてきたら、もう何枚画像が増えても怖くない はずです。

これからも、自分の失敗を仕組みに変えながら、できることを少しずつ増やしていきます。


この記事は前回記事「スキルとMCPの違い」で書いた「スキル化」の応用編です。基本ルールを押さえた後の発展編として読むと、より腹落ちすると思います。

よくある質問

Q. サブエージェントって何ですか?
A. Claude Codeから別のClaudeセッションを起動して、独立した作業を任せる仕組みです。最大8つまで同時に動かせるので、大量データを並列処理できます。各サブエージェントは画像を読み取り、テキスト(JSON)だけをメインに返すルールにすると、容量問題を回避できます。
Q. なぜ1チャンク150タイル上限なのですか?
A. 過去に1134タイル一気読みで32MB上限エラーが起きた失敗から逆算しています。1134 ÷ 8 = 約142タイルが安全圏なので、安全マージンを乗せて150に設定。『200ならいけるかも』と上限を上げると再発するため、失敗から得たルールはそのまま守るのが正解です。
Q. 並列の途中で1つのサブエージェントだけ失敗したらどうしますか?
A. 失敗したチャンクだけ再投入します。他の成功チャンクは捨てません。再投入時は範囲を半分に割って150→75タイルに減らすとさらに安定します。チャンク単位で結果が独立しているのが、並列方式の最大のメリットです。
Q. 非エンジニアでもこのスキル使えますか?
A. 使えます。スキルファイル(.md)を1枚作るだけなので、コーディングは不要。一度成功した手順をスキル化すれば、次回からは『○○フォルダを精読して』の一言で再現できます。失敗の経験を『禁止事項』として冒頭に書き残しておけば、二度と同じミスを踏みません。
続けて読む
← 前の記事
Claude Codeの「スキル」と「MCP」、結局どう違う?— 非エンジニアがSuno連携で実感した整理術

コメント

記事への感想・質問・指摘など、お気軽にどうぞ。匿名(ゲスト)でも投稿できます。

← 記事一覧に戻る